操作系统的移植是指通过对操作系统的改造,使同一个操作系统可以在不同的硬件平台上运行。如果一个系统可以在不同硬件平台上运行,那么这个系统就是可移植的。Linux操作系统就可以通过移植,运行在 ARM等多种硬件平台上。考虑到嵌入式系统是“硬件可裁减”的,以及不同的用户需求,我们需要对已有的内核代码进行裁减移植。
一般情况下的 Linux内核的剪裁及移植,主要是针对操作系统中关于具体硬件以及除去不需要的功能模块,如一些不会用到的外设支持、驱动程序、协议、网络支持、文件格式等。Linux内核具有很好的模块性和伸缩性,在资源要求严格的情况下经过合理的裁减可获得明显的效果[1]。
Linux内核支持很多的硬件体系结构如 ARM,PowerPC等,但由于新的硬件设备不断出现,根据新的硬件平台移植内核是嵌入式系统构建的必须工作。
2.交叉编译环境的建立 Linux下的交叉编译环境主要包括以下几个部分:
针对目标系统的编译器 gcc;针对目标系统的二进制工具 binutils;目标系统的标准 c库 glibc;目标系统的 Linux内核头文件,GDB调试工具。
交叉编译环境的建立主要是在Linux下创建以上工具。这里重点介绍 gcc建立过程:
基于ARM9嵌入式Linux内核的移植 PDF 版下载地址:
用户名与密码都是www.linuxidc.com
具体下载目录在 /2011年资料/嵌入式Linux/基于ARM9嵌入式Linux内核的移植/