- 1、本文档共162页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 uClinux在UP-NETARM3000平台上的移植 在Linux环境下,本章主要介绍了uClinux在UP-NETARM3000平台的移植过程。包括: ◆ uClinux源码下载方法和交叉编译工具的下载、生成方法。 ◆ 内核源码的修改、剪裁和编译过程。 ◆ 内核裁剪时的菜单选项的配置方法。 ◆ 内核及根文件系统的烧写过程。 12.1 UP-NETARM3000嵌入式教学开发平台介绍 UP-NETARM3000平台是博创兴业科技有限公司,依托北京航空航天大学开发的。适用于嵌入式教学和开发。 目前已应用于清华大学、北京航空航天大学等多所高校。 该平台是基于S3C44B0X 处理器,可以运行uC/OS-II和uClinux的系统。 它由核心模块和扩展模块组成。 核心模块包括3C44B0x嵌入式芯片、2MB线性引导Flash和8MB SDRAM; 扩展模块包括16MB非线性Flash、二个串口、一个USB口、一个JTAG通用接口、10M以太网口、触摸屏、17键键盘、320×240STN彩色LCD、16M U盘、直流电机模块、步进电机模块、音频模块、CAN总线模块、A/D和D/A模块、LED显示器、IIC接口和FPGA模块。 如图12-1所示。 图12-1 UP-NETARM3000嵌入式教学开发平台 12.2 uClinux在UP-NETARM3000上的移植 所谓Linux移植就是把Linux操作系统针对具体的目标平台做必要改写之后,安装到该目标平台使其正确的运行起来。 这个概念目前在嵌入式开发领域讲的比较多。 其基本内容是:获取某一版本的Linux内核源码,根据具体目标平台对这源码进行必要的改写(主要是修改体系结构相关部分),然后添加一些外设的驱动,打造一款适合于自己目标平台(可以是嵌入式便携设备也可以是其它体系结构的PC机)的新操作系统,对该系统进行针对目标平台的交叉编译,生成一个内核映象文件,最后把该映象文件烧写(安装)到目标平台中。 而通常对Linux源码的改写工作难度较大,它要求不仅对Linux内核结构要非常熟悉,还要求对目标平台的硬件结构要非常熟悉。 同时还要求对相关版本的汇编语言较熟悉,因为与体系结构相关的部分源码往往是用汇编写的,所以这部分工作一般由目标平台提供商来完成。 比如说针对目前嵌入式系统中最流行的ARM平台,它的这部分工作就是由英国ARM公司的工程师完成的,我们所要做的就是从其网站上下载相关版本Linux内核的补丁(Patch)。 把它打到目标平台的Linux内核上,再进行交叉编译就行。其基本过程如下(以Linux2.6.0为例): 1.到.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:=$(shell uname –m | sed –e s/i.86/i386/-e s/sun4u/sparc64/ -e s/arm. */arm/ - e s/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工具链中通常包
您可能关注的文档
- 第5资本主义历史进程.ppt
- 第5自顶向下的语法分析方法.ppt
- 相约星期五第46期-石头与陶罐4.ppt
- 相约星期五第47期-传递爱47.ppt
- 第6第讲产业转移以东亚为例.ppt
- 相约星期五第48期-永远的坐票44.ppt
- 第6电子商务物流服务与成本管理.ppt
- 相约星期五第54期-打开职场女性的情绪抽屉47.ppt
- 第6二次监视雷达.ppt
- 相约星期五第55期-出租车的故事44.ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)