嵌入式linux系统的裁剪优化和测试技术
2012-10-17胡晋
科技传播 2012年3期
胡 晋
同济大学电信学院,上海 201804
1 裁剪需求分析
Linux操作系统并不是专为嵌入式系统设计的,应用于嵌入式设备时必须进行裁剪优化,其目的之一是为了简化已有的操作系统内核的功能和结构,以满足嵌入式系统对资源的限制需求。
嵌入式操作系统需要裁剪的对象主要有:引导及初始化程序,操作系统内核,系统动态加载模块,动态链接库以及根文件系统等。定制裁剪的一般操作过程如下:获取linux内核、GNU utility等源代码,根据项目需求和具体平台对内核源代码进行补丁操作,手工配置,去掉多余的功能模块,保留部分开发调试用模块和目标功能模块,生成配置文件。然后根据配置文件进行自动交叉编译和链接,生成压缩过的适合具体硬件平台的内核映像文件。再以同样方式生成引导初始化程序映像和根文件系统映像,最后把三者通过适当的方式安装到目标开发板中,生成我们的目标操作系统,并且进行功能和性能测试分析。
2 内核的裁剪和移植
内核裁剪方式有多种,有基于原内核提供的kbuild体系的裁剪方法,有基于代码分析的linux裁剪方法,有基于调用图的linux裁剪方法。基于短开发周期的需求考虑,选择采用kbuild体系的裁剪方法。Kbuild体系通过预定义一些变量(obj-m,obj-y)和目标(bzImage),使内核的编译和扩展变得十分方便,具有很强的可定制性。
2.1 选择交叉编译环境
可以有多种方式来建立交叉编译环境,包括自行通过源码编译,通过外部工具进行批处理编译,本文采用开发板自带的交叉编译器。……
登录APP查看全文
