嵌入式Linux操作系统移植共27页文档
- 格式:ppt
- 大小:2.57 MB
- 文档页数:27
嵌入式μCLinux系统移植XX:1007-9416(20XX)04-0086-01嵌入式Linux系统在开发过程中需要对Linux内核进行重新定制,所以熟悉内核配置、编译和移植是非常重要的。
掌握一定的Linux内核的内容,是对Linux进行手动内核移植前必须要做的。
1 Linux内核移植Linux内核移植,通俗讲马上内核由一种硬件平台移植到另一种硬件平台上运行的方式。
虽然大部分的处理器和硬件平台,嵌入式Linux系统都可以支持,但最好还是以自己定制的硬件板为主,移植工作也可通过硬件平台的变化进行调整。
本文以Linux2.6.32.4版本内核为例,过程是如何将其移植到RM内核S3C2440处理器上,该处理器是Smsung公司出产的。
1.1 内核修改(1)解压内核源码。
加压命令:tr jxvf linux-2.6.32.4.tr.bz2。
(2)修改Mkefile。
Mkefile是贯穿整Linux内核的生命线,并以此完成编译和链接。
具体过程为:内核源码目录――进入一级目录(通过编译工具)――找到Mkefile文件――修改相关变量。
(3)修改目标板输入时钟。
内核源目录――找到文件rch/rm/mch-s3c2440/mch-smdk2440.c并打开(通过编译工具)――找到函数mini2440_mp_io(void)的实现代码:s3c24xx_init_clocks(12000000)。
此代码单位是Hz,是目标板中处理器晶振的频率的意思。
依照目标板实际晶振震荡器的大小进行修改,本文以12MHz晶振为例。
(4)修改MTD分区。
MTD驱动程序在Linux下,其接口分为用户模块和硬件模块两种。
将MTD子系统编译到内核中,是为了访问特定的闪存设备,并在它上面放置文件系统,这包括选择适当的MTD硬件和用户模块。
MTD子系统就目前而言,支持绝大多数的闪存设备,且不断的有更多的驱动程序添加进来,以用于不同的闪存芯片。
第节绪沦内核精小、效率高,并且具有,:百度的模块化和扩一展性:具备文件和日录针理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(A川),开发应用程序简单;嵌入式应用软件丰富。
第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。
目前大多数嵌入式系统还孤立于Internet之外,但随着工nternet的发展以及工nternet技术与信息、家电、工业控制技术等结合日益密切,嵌入式设备与InteI'net的结合将代表着嵌入式技术的真正未来。
妇.2嵌入式操作系统的主要特点随着嵌入式系统的不断发展,可以看到嵌入式操作系统在嵌入式系统中的作用日显重要,它可以为嵌入式系统开发人员提供一个基本的软件开发和运行的支撑平台,从而大大减少了复杂嵌入式系统的开发难度和开发周期,增强了系统的稳定性,降低开发和维护成本。
本论文的工作也是针对特定的嵌入式通用操作系统一嵌入式L1nux展开的,故我们首先对嵌入式操作系统作进一步的阐述。
嵌入式操作系统并不是简单嵌入的操作系统,它与通常意义上的操作系统有一定的区别。
嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、调度工作,控制协调并发活动,它必须体现所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。
根据各文献的描述,嵌入式操作系统具有如下一些特征: 1.小巧。
一般嵌入式系统所能够提供的资源有限,所以嵌入式操作系统必须做到小巧以满足嵌入式系统硬件的限制。
2.实时性。
据统计,有许多嵌入式系统工作在实时性要求很高的环境中,这就要求嵌入式操作系统必须将实时性作为一个重要的指标来考虑。
在信息时代, 人们必须在有效的时间内对收到的信息进行处理,从而为进一步的决策分析争取时间如GSI客户端的信息处理。
所以,嵌入式操作系统必须体现一定的实时性。
3.可定制性。
由于嵌入式系统需要根据应用的要求进定制,所以嵌入式操作系统也必须能够根据应用的要求进行定制,去掉多余的部分,或者简化相应的模块。
AT91SAM9G20EK开发板Linux移植文档Ver 1.0目录:1.准备所需要的软件和编译工具包2.安装ARM-LINUX-GCC工具链3.安装编译AT91BootStrap Bootloader 4.安装编译Uboot及AT91-Uboot补丁5.安装编译Linux2.6.22及AT91-Linux补丁 6.安装下载工具AT91ISP及烧写文件 7.NFS根文件系统的建立8.移植Boa Web服务器9.移植网络摄像头10.移植Madplay音频播放器11.ARM MPlayer移植12.AT91SAM芯片的启动过程附录1:安装VMWARE+READHAT9环境附录2:如何安装虚拟工具和网络设置准备所需要的软件和编译工具包1.At91bootstrap Bootloader软件包Bootstrap.tar.gz光盘位置:/linux/该压缩文件为AT91SAM9的第二级BootLoader源代码。
2.Uboot以及补丁u-boot-1.1.7.tar.bz2 u-boot-1.1.5_atmel_1.7.diff光盘位置:/linux/3.Linux2.6.27源码包linux-2.6.27.tar.gz光盘位置:/linux/4.ARM-LINUX-GCC交叉工具链arm-linux-gcc-3.4.1/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2arm-linux-gcc-3.3.2/download/projects/toolchain/arm-linux-gcc-3.3.2.tar.bz2arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2007q1-10-arm-none-linux -gnueabi-i686-pc-linux-gnu.tar.bz2光盘位置:/linux/toolchain/安装GNU ARM-LINUX-GCC交叉编译工具链解压缩工具链压缩包:arm-linux-gcc-3.4.1.tar.bz2arm-linux-gcc-3.3.2.tar.bz2arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2#cd /usr/loacal/arm/toolchain#tar xvjf arm-linux-gcc-3.4.1.tar.bz2#tar xvjf arm-linux-gcc-3.3.2.tar.bz2#tar xvjf arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2设置编译器默认路径:打开/etc/bashrc文件,在文件最后添加export PATH=:$PATH:/usr/local/arm/toolchain/arm-2007q1/binexport PATH=:$PATH:/usr/local/arm/toolchain/arm-softfloat-linux-gnu/bin export PATH=:$PATH:/usr/local/arm/toolchain/3.4.1/bin保存退出,在终端里运行:#source bashrc重新加载环境变量,然后测试交叉编译工具链是否能被正确引用:#arm-linux-gcc –v#arm-none-linux-gnueabi-gcc –v#arm-softfloat-linux-gnu-gcc -v出现版本信息提示表示安装成功。