一种嵌入式Linux平台的软硬件设计.doc

一种嵌入式Linux平台的软硬件设计.doc

ID:27009443

大小:127.00 KB

页数:6页

时间:2018-11-30

一种嵌入式Linux平台的软硬件设计.doc_第1页
一种嵌入式Linux平台的软硬件设计.doc_第2页
一种嵌入式Linux平台的软硬件设计.doc_第3页
一种嵌入式Linux平台的软硬件设计.doc_第4页
一种嵌入式Linux平台的软硬件设计.doc_第5页
资源描述:

《一种嵌入式Linux平台的软硬件设计.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一种嵌入式Linux平台的软硬件设计  1操作系统uClinuxLinux是一种很受欢迎的类UNIX操作系统,它免费并开放源代码,在个人计算机、服务器领域应用广泛。更重要的是,Linux采用模块化设计,实际应用中可以定制,因此Linux也适用于嵌入式领域。uClinux正是Linux的一个嵌入式版本,其内核的二进制映像文件可以做到小于512KB。uClinux针对无内存管理单元MMU(MemoryManagementUnit)的处理器设计,支持多任务,具有完备的TCP/IP协议栈并支持多种网络协议。u

2、Clinux还支持多种文件系统,如ROMFS、NFS、FAT16/32。实际上,uClinux已经成功应用于路由器、网络摄像机、机顶盒、PDA等诸多领域。另外,uClinux可移植性很强,用户通过重新配置、编译内核,很方便将其移植到68K、DragonBall、ColdFire、PowerPC、ARM等多种处理器计算平台。当前uClinux提供2.0和2.4两个内核版本。从内核版本2.2开始,Linux被设计成与IEEEPOSIX标准兼容的系统,这意味着大部分已有的UNIX程序,源代码不经修改就可以进

3、行编译并移植到新的目标平台。笔者选择了2.4内核的uClinux作为平台操作系统。2硬件平台设计2.1处理器目标平台CPU采用Motorola公司生产的ColdFire嵌入式处理器MCF5272。MCF5272采用ColdFfireV2可变长RISC处理器核和DigitalDNA技术,在66MHz时钟下能够达到63MIPS@Dhrystone2.1的优良处理能力。其内部SIM(SystemIntegratedModule)单元集成了丰富的通用模块,如10/100Mbps快速以太网控制器、USB1.1接

4、口等,并且能够与常用的外围设备(如SDRAM、ISDN收发器)实现无缝连接,从而简化了外围电路设计,降低了产品成本、体积和功耗。2.2系统内存系统内存由三部分组成。MCF5272内部集成了4K字节的SRAM(静态RAM)以及片外扩展的FLASH(闪烁存储器)和SDRAM(同步动态RAM)。FLASH容量为1M×16Bit,AMD29LV系列,片选信号为CS0,用于存放矢量表、uClinux内核映像及ROMFS文件系统。SDRAM采用两片HY系列4M×16Bit的SDRAM,共同组成16M、32位宽的系

5、统主存储器。SDRAM片选信号为CS7。2.3通用外设MCF5272内部集成了UART、USB控制器,只需很少的外围芯片就可以实现两个RS232串口和一个USBSlave接口。MCF5272还内嵌一个FEC(快速以太网控制器),片外扩展一片LXT971,可方便地实现了一个100/10BaseT的以太网接口。2.4调试接口ColdFire系列处理器支持背景调试模式(BDM),它提供了对底层硬件的调试手段。在背景调试模式下,通过向CPU发送命令,可以实现对CPU寄存器、系统存储器的访问。使用Motorol

6、a推荐的26针插座接到BDM仿真头,实现代码的下载和调试。3移植uClinux到目标平台3.1uClinux的启动过程uClinux的启动通常经历三个阶段。首先,它必须完成CPU和存储器的硬件初始化。在系统RAM中建立程序堆栈和数据段(包括DATA和BSS数据段),建立程序的运行时环境。如果ROMFS是RAM驻留的,也必须对其进行初始化。最初的初始化完成后,uClinux内核就取得了CPU的控制权,开始操作系统自身的初始化。这包括建立RAM中断矢量表、加载设备驱动程序、内存管理模块等。这一切完成后,u

7、Clinux启动一个最初的init线程,进入到第三阶段。这时候内核已经正常运行,外围模块也都就绪,开始执行一些脚本文件(如/etc/rc脚本文件)。这通常是嵌入式开发者最感兴趣的一个切入点。3.2编写硬件相关代码作为源代码公开的免费操作系统,uClinux源代码可以从www.uclinux.org得到。这个源代码也在不断更新。笔者使用的是于2002年5月发布的GregUngerer(gerg@snapgear.com)版本。该版本的uClinux包含了对Motorola公司M5272C3和其他几款MC

8、F5272评估板的支持。但与笔者的目标平台相比,硬件资源并不完全相同,且为RAM版本,并不能直接固化到ROM中。于是决定直接在M5272C3的基础上进行修改,以减少工作量。需要添加三个文件:crt0_rom.S、sysinit.c和rom.ld。crt0_rom.S可以由crt0_ram.S修改得到,它提供一个ROM矢量表以供CPU上电时读取,并初始化CPU寄存器,设置程序堆栈,并最终跳转到uClinux内核。MEM_SIZE也必须修改为实际容量。下面对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。