下载后可任意编辑基于 ARM7 的 uClinux 移植1.引言 随着计算机技术的进展,嵌入式系统已不仅仅属于计算机领域的一个讨论热点,在电子、工业控制、航空航天等领域都有广泛的应用
嵌入式设备应用广泛,几乎包括了我们周围的所有电器设备:PDA、手机、机顶盒、汽车、微波炉、自动取款机等
和通用计算不同的是嵌入式系统针对的是具体的专用系统,一般也都具有成本和空间的敏感性,它的硬件和软件都必须高效率的设计
在航空航天、医疗等特别应用领域还要求做到很高的安全可靠性
嵌入式系统还可以根据任务灵活的增减软硬件
uClinux 在官方网站(www
uClinux
org)中有源代码提供,同时也有文档说明所支持的体系结构
结合实际的应用,在众多的体系结构中选择一种
下面介绍一下在移植 uClinux中会遇到的一些关键问题
(1)交叉编译环境的建立 移植 uClinux 必须有一台 PC 机,安装了 Linux 操作系统
同时还要有一块测试板,测试板的体系结构 uClinux 必须支持
对于不同体系结构,GNU 都提供了相应的开发软件包
这可以到网上查找,有些是源代码包,下载后要经过 GCC 的编译才能应用;有些是应用程序包,安装后即可使用
安装完了工具包后,Linux 中就有了基于该体系结构的编译器,链接器,调试器以及一些有用小工具,例如反汇编,反编译等,以后编译 uClinux 内核,制作文件系统都要依赖交叉编译系统
(2)uCli nux 的内核加载方式的问题uClinux 的内核有两种可选的运行方式:可以在 Flash 上直接运行,也可以加载到内存中运行
前者可以减少内存需要
Flash 运行方式:把内核的可执行映像文件烧到 Flash 上,系统启动时从 Flash 的某个地址开始逐句执行
这种方法实际上是很多嵌入式系统采纳的方法
内核加载方式:把内核的压缩文件存放在 Flash