




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第12章uClinux在UP-NETARM3000平台上的移植 在Linux环境下,本章主要介绍了uClinux在UP-NETARM3000平台的移植过程。包括: ◆uClinux源码下载方法和交叉编译工具的下载、生成方法。 ◆内核源码的修改、剪裁和编译过程。 ◆内核裁剪时的菜单选项的配置方法。 ◆内核及根文件系统的烧写过程。12.1UP-NETARM3000嵌入式教学开发平台介绍 该平台是基于S3C44B0X处理器,可以运行uC/OS-II和uClinux的系统。 它由核心模块和扩展模块组成。 核心模块包括3C44B0x嵌入式芯片、2MB线性引导Flash和8MBSDRAM;图12-1UP-NETARM3000嵌入式教学开发平台12.2uClinux在UP-NETARM3000上的移植 其基本内容是:获取某一版本的Linux内核源码,根据具体目标平台对这源码进行必要的改写(主要是修改体系结构相关部分),然后添加一些外设的驱动,打造一款适合于自己目标平台(可以是嵌入式便携设备也可以是其它体系结构的PC机)的新操作系统,对该系统进行针对目标平台的交叉编译,生成一个内核映象文件,最后把该映象文件烧写(安装)到目标平台中。 而通常对Linux源码的改写工作难度较大,它要求不仅对Linux内核结构要非常熟悉,还要求对目标平台的硬件结构要非常熟悉。 同时还要求对相关版本的汇编语言较熟悉,因为与体系结构相关的部分源码往往是用汇编写的,所以这部分工作一般由目标平台提供商来完成。 比如说针对目前嵌入式系统中最流行的ARM平台,它的这部分工作就是由英国ARM公司的工程师完成的,我们所要做的就是从其网站上下载相关版本Linux内核的补丁(Patch)。 把它打到目标平台的Linux内核上,再进行交叉编译就行。其基本过程如下(以Linux2.6.0为例): 1.到ftp://ftp.arm.linux.org.uk上下载Linux2.6.0内核及其关于ARM平台的补丁(如:Patch-2.6.0-rmk1.gz)。 2.给Linux2.6.0打补丁:zcat../patch-2.6.0-rmk1.gz|patch–p1(前面../表示补丁文件放在内核文件上一层目录)。 3.准备交叉编译环境。 交叉编译环境工具链一般包括binutils(含AS汇编器,LD链接器等),arm-gcc,glibc等。 交叉编译环境的搭建也是个复杂的过程,后面我将做进一步介绍。有兴趣可以一起交流(khflowerstone@126.com)。 4.修改内核目录下的makefile文件,主要是以下几行: ①注释掉ARCH:=$(shelluname–m|sed–es/i.86/i386/-es/sun4u/sparc64/-es/arm.*/arm/-es/sa110/arm/)这一行; ②ARCH?=改为ARCH=arm; ③CROSS_COMPILE?=改为CROSS_COMPILE=你的交叉编译工具中arm-linux所在目录/arm-linux-。 5.此后就可以进行编译。12.2.2关于交叉编译环境 这里主要用到的编译器是arm-gcc,它是gcc的arm改版。目前Linux操作系统主要是以GCC模式进行移植的。 GCC输出的是汇编语言程序,如果我们想要进一步编译成我们想要的机器代码,则还需要汇编器等的协助。 GNU工具链中通常包含GNUBinutils,GNUGCC,GNUGLibc。Binutils中主要包含链接器ld和汇编器as。 GNUGLibc提供了一个C库,使得系统能完成基本的系统调用及其它的一些函数调用。下面介绍一下GCC交叉编译器的生成过程。步骤如下: 1.取得Binutils、GCC、Glibc的源码 可以到相关网站去获得,并把这三个文件解压到你自己的目录如:/toolchain/gcc,/toolchain/bu,/toolchain/glibc,2.配置并编译Binutils,得到汇编器和连接器 在配置Binutils之前先把Linux内核中GCC所必需的头文件拷到GCC可以找到的目录。如下操作: cp–drinclude/asm-arm /toolchain/gcc/arm-linux/include/asm cp–drinclude/linux/toolchain/gcc/arm- linux/include/linux 然后进入Binutils目录: ./configure--target=arm-linux--prefix=/toolchain/bu makeLANGUAGES=”C” makeinstall3.配置并编译GCC源代码,生成GCC编译器

王子****青蛙
实名认证
内容提供者


最近下载
最新上传
浙江省宁波市2024-2025学年高三下学期4月高考模拟考试语文试题及参考答案.docx
汤成难《漂浮于万有引力中的房屋》阅读答案.docx
四川省达州市普通高中2025届第二次诊断性检测语文试卷及参考答案.docx
山西省吕梁市2025年高三下学期第二次模拟考试语文试题及参考答案.docx
山西省部分学校2024-2025学年高二下学期3月月考语文试题及参考答案.docx
山西省2025年届高考考前适应性测试(冲刺卷)语文试卷及参考答案.docx
全国各地市语文中考真题名著阅读分类汇编.docx
七年级历史下册易混易错84条.docx
湖北省2024-2025学年高一下学期4月期中联考语文试题及参考答案.docx
黑龙江省大庆市2025届高三第三次教学质量检测语文试卷及参考答案.docx