低固存嵌入式系统?/p>
uClinux
小型化方?/p>
在许多嵌入式系统中,往往只有低容量的固存,比?/p>
MCF5282
芯片内只
?/p>
512k
FLASH
,而有些微处理器固存可能更低。在不外扩固存容量,降低?/p>
统稳定性的条件下,特别是在干扰源严重的工控环境下,采用短小、精炼的?/p>
入式操作系统将具有非常大的实用意义。文中以下内容将针对低固存嵌入式?/p>
统,讨论
uClinux
的几种特殊简化方法,应用这些方法,将非常有助于开发?/p>
开发出适合于自已的嵌入式系统?/p>
1
内核移植
移植前首先要搭建交叉编译平台,安装交叉编译工具链,包?/p>
GCC
?/p>
Binutils
?/p>
uClibc
。准备就绪后即可开始进行移植操作,移植过程中最?/p>
困难是如何减?/p>
uClinux
系统的大小。为此文中从以下两个方面着手:内核?/p>
置级裁剪和内核源代码级裁剪?/p>
1.1
内核配置级裁?/p>
Linux
内核采用模块化的设计,即很多功能块可以独立地加上或卸下,
开发人员在设计内核时把这些内核模块作为可选的选项,可以在编译系统内核
时指定。因此一种较通用的做法是?/p>
Linux
内核重新编译,在编译时仔细地?/p>
择嵌入式设备所需要的功能支持模块,同时删除不需要的功能。通过对内核的
重新配置,可以使系统运行所需要的内核显著减小,从而缩减资源使用量。对
于内核中不支持的设备,可以自已编制设备驱动程序,然后添加进内核。配?/p>
完内核,接下来需要对内核源代码文件的依赖性和完整性进行检验,并进行编
译?/p>
1.2
内核源代码级裁剪
Linux
核心包括:进程管理模块、内存管理模块、文件系统、设备驱?