打印本文 关闭窗口 | ||||
基于ADSP-BF533的μClinux嵌入式系统移植与开发来源于瑞达科技网 | ||||
作者:佚名 文章来源:不详 点击数 更新时间:2011/12/29 文章录入:瑞达 责任编辑:瑞达科技 | ||||
|
||||
1 μClinux简介 μClinux从Linux 2.0/2.4内核派生而来,沿袭主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器。由于μClinux在标准的Linux基础上进行了适当的裁剪和优化,形成了一个高度优化的、代码紧凑的嵌入式Linux。虽然它的体积很小,但μClinux仍然保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。 μClinux的主要特点如下: (1)内存管理 这部分是μClinux与传统Linux区别最大的地方。对于μClinux来说,其设计针对没有MMU的处理器,即μClinux不能使用处理器的虚拟内存管理技术,μClinux仍然采用存储器的分页管理。系统在启动时把实际存储器进行分页,在加载应用程序时程序分页加载,但是由于没有MMU管理,因此实际上μClinux采用实存储器管理策略。这一点影响了系统工作的很多方面。 (2)μClinux的内核加载方式 μClinux的内核有2种可选的运行方式:可以在FLASH上直接运行,也可以加载到内存中运行。由于RAM的存取速率要比FLASH高,因此后者可以减少内存需要,运行速度也更快。 (3)μClinux的文件系统 μClinux系统采用romfs文件系统。这种文件系统相对于一般的ext2文件系统要求更少的空间。这是由于内核支持romfs文件系统比支持ext2文件系统需要更少的代码,而且romfs文件系统相对简单建立文件系统超级块(superblock)需要的存储空间更少。 (4)μClinux的应用程序库 μClinux小型化的另一个做法是重写应用程序库。相对于越来越大且越来越全的库glibc μClibc对libc做了精简。 (5)可执行文件格式 μClinux系统使用flat可执行文件格式。另外,μClinux还提供通用的Linux API支持完整的TCP/IP协议堆栈和大量其他的网络协议,支持包括NFSext2ROMfs等多种文件系统。 2 建立μClinux开发环境 嵌入式系统的开发与一般的应用开发最大的差别在于,前者需要建立特殊的硬件环境,而后者一般基于特定的操作系统或分布式平台。后者的平台已经对硬件或网络媒质做了抽象,从而不需要由系统开发者来完成这些工作。而在嵌入式系统开发中,这也由开发者完成。 嵌入式系统开发环境一般分成主机端(HOST)和目标板(TARGET)两个部分。主机端是开发平台,用于运行开发过程中的各种工具(如Linux操作系统和ADI提供的集成开发环境Visual DSP++等);目标板是运行和测试平台,是嵌入式系统的最终驻留环境。在主机端和目标板之间需要通过某种方式进行通信,如使用RS 232串口或网口。通信的目的在于发送控制指令和传输数据,同时获得反馈信息。图1是系统移植工作的硬件环境。 目标板的硬件平台如图1所示:
|