基于S3C2440的嵌入式Linux系统移植
2012-09-12王剑飞程耀瑜
王剑飞, 程耀瑜
(中北大学山西省现代无损检测工程技术研究中心, 山西太原 030051)
0 引言
嵌入式系统具有低功耗、实时性强和稳定性高等优点,在军事、工业和家用等领域得到广泛的应用。国内对嵌入式系统的一般定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体检、功耗等严格要求的专用计算机系统[1]。而操作系统的移植已成为嵌入式系统设计中的重要环节,具有可观的市场价值。
1 交叉编译环境
对于嵌入式系统的开发需要建立交叉编译环境,交叉编译环境就是在一个平台上生成可以在另一个平台上执行的代码的编译环境。Linux内核完全使用C和GNU形式的汇编完成因此嵌入式Linux的开发环境采用了GNU工具链的交叉开发平台。通过GNU提供的编译器cc/gcc、连接器ld/gld、汇编器as/gas和C函数库glibc以及精简的C库uClib,就可以建立完整的交叉开发环境来完成从开发GNU工具链针对不同的处理器提供了多种交叉开发平台[2]。
本次移植过程中使用的宿主机的操作系统是Ubuntu9.10。使用支持软浮点编译的交叉编译器arm-linux-gcc-3.4.5编译U-boot,而使用支持EABI技术的交叉编译器arm-linux-gcc-4.3.3编译Linux内核及根文件系统。使用PATH设置交叉编译路径[3]。将交叉编译器的源码包解压到宿主机/usr/local/目录下,然后修改环境变量:
# vi /etc/environment
PATH=/usr/local/4.3.3/bin
为了使新的环境变量生效,使用命令:source/etc/environment, 此 时,arm-linux-gcc-4.3.3交叉编译环境就建立了。
2 Bootloader引导程序
Bootloader的作用与PC上的BIOS类似,它在系统上电时执行,初始化硬件设备、准备好软件环境,最后调用操作系统的内核。……
