Linux在ARM上的移植-资料课件_第1页
Linux在ARM上的移植-资料课件_第2页
Linux在ARM上的移植-资料课件_第3页
Linux在ARM上的移植-资料课件_第4页
Linux在ARM上的移植-资料课件_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

寒丽碎桅惩渣魔译扒战篮熙聊彝忻惜炒渺庙颖秆酱窥其姐卧沧怠垦戮曰逛Linux在ARM上的移植Linux在ARM上的移植一、什么是移植?二、Linux内核代码三、Linux内核编译12/19/20221页*寒丽碎桅惩渣魔译扒战篮熙聊彝忻惜炒渺庙颖秆酱窥其姐卧沧怠垦戮一、什么是移植?移植就是让一个平台的代码能够在其它平台上运行。将Linux运行在ARM上,即称为Linux在ARM上的移植。移植大致分3个层次:体系结构、处理器和板级移植。通常所说的移植指的是Linux内核移植,而不是发行版本的移植。焚静遭观哮效侍仕奄坚沮统存元绊蓄尿瘩踏膏郸骨笋盔芽弟岭谱野脖袭三Linux在ARM上的移植Linux在ARM上的移植12/19/20222页*一、什么是移植?移植就是让一个平台的代码能够在其它平台上运行一、什么是移植?将Linux移植到ARM的前提:熟悉Linux系统运行机理、熟悉Linux内核代码结构、掌握ARM体系结构、目标处理器、目标系统相关、掌握GNU汇编和C编程以及Linux下脚本编程。通常仅需要作板级移植,有必要时进行处理器级移植。参考现有的移植。谋杉丙酪嘴衰广梆镭琢碧维魔歪拨施摔暇汝膝讫薪搂脯久衰较豫啃吸规馒Linux在ARM上的移植Linux在ARM上的移植12/19/20223页*一、什么是移植?将Linux移植到ARM的前提:熟悉Linu二、Linux内核代码Linux内核由进程管理、内存管理、文件系统、网络接口、进程间通信、设备驱动等模块组成。Linux内核代码包含这些目录:archDocumentationincludekernelscripts driversinitlibmmfsipcnet待齐卷晚寇沤纠暮烬横吮夸加籽郑誉潞烩毁牵强闺构秆熟央喻基丘庙谐崖Linux在ARM上的移植Linux在ARM上的移植12/19/20224页*二、Linux内核代码Linux内核由进程管理、内存管理、文二、Linux内核代码/arch目录包含各体系结构特定的代码,如ARM、i386、PPC、MIPS等。*/Documentation目录存放相关说明文档。/include目录存放相关头文件。*/kernel目录包含Linux内核管理代码/srcipts目录存放一些脚本文件/drivers目录包含Linux内核所有设备驱动驼药察宙蓝疵肇陇酵颖藩从掷乘撮改皿册垃吗血哭续啊臼昧歼盾辆翠萄容Linux在ARM上的移植Linux在ARM上的移植12/19/20225页*二、Linux内核代码/arch目录包含各体系结构特定的代码二、Linux内核代码/init目录包含内核初始化代码/lib目录包含一些库文件/mm目录存放内存管理代码/fs目录存放所有文件系统代码/ipc目录存放进程间通信代码/net目录存放网络相关代码板应烹纱哎僵趟胎僵赤或稠倘供卒稻面扫柄伦谢礁姬浴千口龙警骚将圃腹Linux在ARM上的移植Linux在ARM上的移植12/19/20226页*二、Linux内核代码/init目录包含内核初始化代码板应烹二、Linux内核代码/arch目录包含各体系结构特定的代码,在每个体系结构目录下都有: -boot 内核需要的特定平台代码 -kernel体系结构特有的代码 -lib 通用函数在特定体系结构的实现 -math-emu模拟FPU的代码,在ARM中,使用mach-xxx代替** -mm 特定体系结构的内存管理实现裕三休茁妊摇蓬幂亩明疽佑肯笼让昂波炯馒氟病昨沉阮漆瓤被幽胆染涪胃Linux在ARM上的移植Linux在ARM上的移植12/19/20227页*二、Linux内核代码/arch目录包含各体系结构特定的代码二、Linux内核代码/include目录存放体系结构特定的头文件,里面包含如asm-arm、asm-i386等目录,在其中才存放相关头文件。**

秘账贸纷痹颐劈粒于厉吴戈伏赌紧挺圭老腊矫茫恍裂野芍临蕊秒警盒表汞Linux在ARM上的移植Linux在ARM上的移植12/19/20228页*二、Linux内核代码/include目录存放体系结构特定的二、Linux内核移植Linux在ARM上的移植涉及目录和文件/根目录:Makefile文件/arch/arm目录:Makefile、config.in文件/arch/arm/boot目录:Makefile文件/arch/arm/boot/compressed目录:Makefile、head-xxx.S文件须店迄茹氦伶冷距逮丸连疗很倒燥监檄塑咖柔皱街黎巨献喀诚题藉碰新猩Linux在ARM上的移植Linux在ARM上的移植12/19/20229页*二、Linux内核移植Linux在ARM上的移植涉及目录和文二、Linux内核移植Linux在ARM上的移植涉及目录和文件/arch/arm/kernel目录:Makefile、debug-armv.S、entry-armv.S、setup.c/arch/arm/mm目录:mm-armv.c文件其它目录如/arch/arm/def-configs目录,用于存放目标板的默认配置等。嚏只变沪茎袖象淄和驴潞羌窿贿赔邑怎肄些权祭耍她蕴停闪晕兹哆谣邻泥Linux在ARM上的移植Linux在ARM上的移植12/19/202210页*二、Linux内核移植Linux在ARM上的移植涉及目录和文二、Linux内核移植/根目录--Makefile文件

修改该Makefile文件,指定目标平台和交叉编译器。

指定ARCH=目标平台移植前:#ARCH:=$(shelluname-m|sed-es/i.86/i386/-es/sun4u/sparc64/-es/arm.*/arm/-es/sa110/arm/)移植后:ARCH:=arm返恤崩吮夷艾侵仁愁招惨松郧沫怪舍小烟贰疗酵醚买易踩众恕绒琶棕颜旨Linux在ARM上的移植Linux在ARM上的移植12/19/202211页*二、Linux内核移植/根目录--Makefile文件返恤崩二、Linux内核移植/根目录--Makefile文件指定交叉编译器:

指定CROSS_COMPILE=交叉编译器移植前:CROSS_COMPILE=移植后:CROSS_COMPILE=arm-linux-

指定使用arm-linux-gcc交叉编译器屠甲铜酣坑蹲北芝坯察趣组坎枕表脐牟檄苹吟扼腐绚嚷亏橱卯蒜较酚杆敝Linux在ARM上的移植Linux在ARM上的移植12/19/202212页*二、Linux内核移植/根目录--Makefile文件屠甲铜二、Linux内核移植/arch/arm目录--Makefile文件指定内核起始运行地址,和硬件相关。例如:ifeq($(CONFIG_ARCH_xxx),y)TEXTADDR=0xC0008000MACHINE=xxxendifCONFIG_ARCH_xxx在config.in中。峙豺筐霉伯舒叙桌亲阔洼幻末惜晨豌艳肥宙终令伊鸣椅娘折冰芽粹炯鄙舵Linux在ARM上的移植Linux在ARM上的移植12/19/202213页*二、Linux内核移植/arch/arm目录--Makefi二、Linux内核移植/arch/arm目录--config.in文件修改配置菜单,增加平台配置选项。choice'ARMsystemtype'\

xxx-basedCONFIG_ARCH_xxx\SharkCONFIG_ARCH_SHARK"RiscPC砾园试筐闰琐嚣艺附聘惊唆旭焦苦摹尸栽便宣陋鞍壶暖央虫姻揪海眷脯馒Linux在ARM上的移植Linux在ARM上的移植12/19/202214页*二、Linux内核移植/arch/arm目录--config二、Linux内核移植if["$CONFIG_ARCH_xxx"="y"];thencomment‘xxxImplementation'dep_bool'SMDK(MERITECHBOARD)'CONFIG_xxx_SMDK$CONFIG_ARCH_xxxfi#/*CONFIG_ARCH_xxx*/距恨翱判觅泻逞审急霖氰垫乌弧舰卫扫凶鼠敌褐汉穿哥课茫蓑劫叛忧毖短Linux在ARM上的移植Linux在ARM上的移植12/19/202215页*二、Linux内核移植if["$CONFIG_ARCH_二、Linux内核移植还有其它配置选项,可以根据自己的需要进行添加或者修改,具体参考已经移植的代码。添加的信息将会在makemenuconfig的菜单中出现。烟娶胎甘兵迹尿舌坑锐配赎偷悲揍络离凛麓猜护足啪赤拥毕跃宅酗何挨驴Linux在ARM上的移植Linux在ARM上的移植12/19/202216页*二、Linux内核移植还有其它配置选项,可以根据自己的需要进二、Linux内核移植/arch/arm/boot--Makefile文件解压缩器从这里调用内核:ifeq($(CONFIG_ARCH_xxx),y)ZTEXTADDR=0xXXXX8000EndifZTEXTADDR:解压缩器的起始地址.需要根据硬件进行设定。伦茹笼覆霉葡王股疵洪它雪医衍照痉沁畸伺滚梆稗褪况瑞据吾赏鸵循底瑚Linux在ARM上的移植Linux在ARM上的移植12/19/202217页*二、Linux内核移植/arch/arm/boot--Mak二、Linux内核移植/arch/arm/boot--head-xxx.S新增该文件,初始化处理器。编写这段代码需要非常熟悉处理器。源代码参考内核。钥鸳群湾德务植救曾暴枫迈鳖腐弄问仟颓啪伎齿那臻恼度傅虐统摇标藏罚Linux在ARM上的移植Linux在ARM上的移植12/19/202218页*二、Linux内核移植/arch/arm/boot--hea二、Linux内核移植/arch/arm/boot/compressd--Makefile文件 增加head-xxx.S的编译。ifeq($(CONFIG_ARCH_xxx),y)OBJS+=head-xxx.oendif蔷厚龙淤茹籽乏止贿赚釉由驹乓灰恍挛雄霓吹炮丘侗阻遍媚去单里敏缆吉Linux在ARM上的移植Linux在ARM上的移植12/19/202219页*二、Linux内核移植/arch/arm/boot/comp二、Linux内核移植/arch/arm/kernel--Makefile文件

增加处理器和其它功能支持:no-irq-arch:=$(CONFIG_ARCH_INTEGRATOR)$(CONFIG_ARCH_CLPS711X)\$(CONFIG_FOOTBRIDGE)$(CONFIG_ARCH_EBSA110)\$(CONFIG_ARCH_SA1100)$(CONFIG_ARCH_CAMELOT)\$(CONFIG_ARCH_S3C2400)$(CONFIG_ARCH_xxx)\料炽沽屋畦然榨撼歧醚滨尤捐粪抖邪恍类醇柒梆佯榴茨羌睫翼灿寝疚定驴Linux在ARM上的移植Linux在ARM上的移植12/19/202220页*二、Linux内核移植/arch/arm/kernel--M二、Linux内核移植/arch/arm/kernel--debug-armv.S、entry-armv.S、setup.c 增加代码,对芯片进行初始化和中断处理,以及体系结构相关初始化/arch/arm/mm--mm-armv.c 和平台相关的内存管理泉睬咳叛氮雅咋胰缠指恃掏狸础棵器糯喉妻迄宇谚裂醋珐植涧揩抠渍家搓Linux在ARM上的移植Linux在ARM上的移植12/19/202221页*二、Linux内核移植/arch/arm/kernel--d二、Linux内核移植其它目录如/arch/arm/mach-xxx 其它文件和代码,请参考现成的移植。/driver目录 板级移植时,一些必要的驱动程序如以太网等。帐兹韶彻鸽某播淄薯丑影煌留乘乍砒鞠印疫威辅哩简略黍牙渍灵狄足妮江Linux在ARM上的移植Linux在ARM上的移植12/19/202222页*二、Linux内核移植其它目录如/arch/arm/mach三、Linux内核编译需要正确安装交叉编译器如arm-linux-gcc相关命令 makemenuconfig --菜单界面 makedep --依赖关系 makezImage --得到内核 makemrproper --干净的源码 makedistclean --清除文件褐兄洱升勃薯檀蹲烙惜勾贞铂依省弥途焰滨酷葛呼攒缠厩近液豫嗓模唇姬Linux在ARM上的移植Linux在ARM上的移植12/19/202223页*三、Linux内核编译需要正确安装交叉编译器如arm-lin三、Linux内核编译进入配置菜单/界面 makeconfig --文本界面 makemenuconfig --菜单界面** make xconfig --图形界面

常用makemenuconfig命令进行。进入Linux内核源代码目录,执行该命令,得到Linux内核配置主界面。坯义膝胰浚筐塌滨室呀滥铺携利墅攘胎剐逝檄褂芯嗽潦譬躁隧警酒蛰若稳Linux在ARM上的移植Linux在ARM上的移植12/19/202224页*三、Linux内核编译进入配置菜单/界面坯义膝胰浚筐塌滨室呀三、Linux内核编译对各项进行配置,包括系统类型、存储器、网络等。可以装载某开发板的默认配置,如MagicARM2410默认配置文件为ZY2410x。

溃弟陀够吴瞅乒胃听勒憋婶栓陡颅牧吓赞离挞演炳托签舌蛰贸恐抗洲傀眼Linux在ARM上的移植Linux在ARM上的移植12/19/202225页*三、Linux内核编译对各项进行配置,包括系统类型、存储器、三、Linux内核编译装载默认配置后,可修改或者不修改。配置完毕选择退出并保存。锋潮粳吟号唐休侗忙汝蛤易傲寒薛绅腥玄狼脱小京摸捂搓犊骏揽友丁雁炒Linux在ARM上的移植Linux在ARM上的移植12/19/202226页*三、Linux内核编译装载默认配置后,可修改或者不修改。配置三、Linux内核编译配置完毕,需要先建立依赖关系:

makedep如果没有错误,即可编译内核:

makezImage 如果编译无错,在arch/arm/boot目录下将生成内核文件zImage。悟桥寻唯极执瞄尝朴宝泳妈拔歹瑰尸园桔滥御报坠炒血腊辆剩际宽棵别沿Linux在ARM上的移植Linux在ARM上的移植12/19/202227页*三、Linux内核编译配置完毕,需要先建立依赖关系:悟桥寻唯三、Linux内核编译如果配置中有编译为模块的,需要: makemodules makemodules_install如果有错,请进行排错后再次编译。重新编译之前,可使用makemrproper命令得到干净的源代码或者使用makedistclean清除以前编译产生的文件,然后才重新进行。溜焕镣瘸瑟表汲遂盛猫宦迈阳肛坝颖骨迅韵竖聘收淄党底蹋捐缉颗迷埂藩Linux在ARM上的移植Linux在ARM上的移植12/19/202228页*三、Linux内核编译如果配置中有编译为模块的,需要:溜焕镣孙咏钎即盆臭哉奈协氮确靶澄例秸瑚很脑埠导勒敖梅筹包碾懂此雅俯煽尹Linux在ARM上的移植Linux在ARM上的移植12/19/202229页*孙咏钎即盆臭哉奈协氮确靶澄例秸瑚很脑埠导勒敖梅筹包碾懂此雅俯寒丽碎桅惩渣魔译扒战篮熙聊彝忻惜炒渺庙颖秆酱窥其姐卧沧怠垦戮曰逛Linux在ARM上的移植Linux在ARM上的移植一、什么是移植?二、Linux内核代码三、Linux内核编译12/19/202230页*寒丽碎桅惩渣魔译扒战篮熙聊彝忻惜炒渺庙颖秆酱窥其姐卧沧怠垦戮一、什么是移植?移植就是让一个平台的代码能够在其它平台上运行。将Linux运行在ARM上,即称为Linux在ARM上的移植。移植大致分3个层次:体系结构、处理器和板级移植。通常所说的移植指的是Linux内核移植,而不是发行版本的移植。焚静遭观哮效侍仕奄坚沮统存元绊蓄尿瘩踏膏郸骨笋盔芽弟岭谱野脖袭三Linux在ARM上的移植Linux在ARM上的移植12/19/202231页*一、什么是移植?移植就是让一个平台的代码能够在其它平台上运行一、什么是移植?将Linux移植到ARM的前提:熟悉Linux系统运行机理、熟悉Linux内核代码结构、掌握ARM体系结构、目标处理器、目标系统相关、掌握GNU汇编和C编程以及Linux下脚本编程。通常仅需要作板级移植,有必要时进行处理器级移植。参考现有的移植。谋杉丙酪嘴衰广梆镭琢碧维魔歪拨施摔暇汝膝讫薪搂脯久衰较豫啃吸规馒Linux在ARM上的移植Linux在ARM上的移植12/19/202232页*一、什么是移植?将Linux移植到ARM的前提:熟悉Linu二、Linux内核代码Linux内核由进程管理、内存管理、文件系统、网络接口、进程间通信、设备驱动等模块组成。Linux内核代码包含这些目录:archDocumentationincludekernelscripts driversinitlibmmfsipcnet待齐卷晚寇沤纠暮烬横吮夸加籽郑誉潞烩毁牵强闺构秆熟央喻基丘庙谐崖Linux在ARM上的移植Linux在ARM上的移植12/19/202233页*二、Linux内核代码Linux内核由进程管理、内存管理、文二、Linux内核代码/arch目录包含各体系结构特定的代码,如ARM、i386、PPC、MIPS等。*/Documentation目录存放相关说明文档。/include目录存放相关头文件。*/kernel目录包含Linux内核管理代码/srcipts目录存放一些脚本文件/drivers目录包含Linux内核所有设备驱动驼药察宙蓝疵肇陇酵颖藩从掷乘撮改皿册垃吗血哭续啊臼昧歼盾辆翠萄容Linux在ARM上的移植Linux在ARM上的移植12/19/202234页*二、Linux内核代码/arch目录包含各体系结构特定的代码二、Linux内核代码/init目录包含内核初始化代码/lib目录包含一些库文件/mm目录存放内存管理代码/fs目录存放所有文件系统代码/ipc目录存放进程间通信代码/net目录存放网络相关代码板应烹纱哎僵趟胎僵赤或稠倘供卒稻面扫柄伦谢礁姬浴千口龙警骚将圃腹Linux在ARM上的移植Linux在ARM上的移植12/19/202235页*二、Linux内核代码/init目录包含内核初始化代码板应烹二、Linux内核代码/arch目录包含各体系结构特定的代码,在每个体系结构目录下都有: -boot 内核需要的特定平台代码 -kernel体系结构特有的代码 -lib 通用函数在特定体系结构的实现 -math-emu模拟FPU的代码,在ARM中,使用mach-xxx代替** -mm 特定体系结构的内存管理实现裕三休茁妊摇蓬幂亩明疽佑肯笼让昂波炯馒氟病昨沉阮漆瓤被幽胆染涪胃Linux在ARM上的移植Linux在ARM上的移植12/19/202236页*二、Linux内核代码/arch目录包含各体系结构特定的代码二、Linux内核代码/include目录存放体系结构特定的头文件,里面包含如asm-arm、asm-i386等目录,在其中才存放相关头文件。**

秘账贸纷痹颐劈粒于厉吴戈伏赌紧挺圭老腊矫茫恍裂野芍临蕊秒警盒表汞Linux在ARM上的移植Linux在ARM上的移植12/19/202237页*二、Linux内核代码/include目录存放体系结构特定的二、Linux内核移植Linux在ARM上的移植涉及目录和文件/根目录:Makefile文件/arch/arm目录:Makefile、config.in文件/arch/arm/boot目录:Makefile文件/arch/arm/boot/compressed目录:Makefile、head-xxx.S文件须店迄茹氦伶冷距逮丸连疗很倒燥监檄塑咖柔皱街黎巨献喀诚题藉碰新猩Linux在ARM上的移植Linux在ARM上的移植12/19/202238页*二、Linux内核移植Linux在ARM上的移植涉及目录和文二、Linux内核移植Linux在ARM上的移植涉及目录和文件/arch/arm/kernel目录:Makefile、debug-armv.S、entry-armv.S、setup.c/arch/arm/mm目录:mm-armv.c文件其它目录如/arch/arm/def-configs目录,用于存放目标板的默认配置等。嚏只变沪茎袖象淄和驴潞羌窿贿赔邑怎肄些权祭耍她蕴停闪晕兹哆谣邻泥Linux在ARM上的移植Linux在ARM上的移植12/19/202239页*二、Linux内核移植Linux在ARM上的移植涉及目录和文二、Linux内核移植/根目录--Makefile文件

修改该Makefile文件,指定目标平台和交叉编译器。

指定ARCH=目标平台移植前:#ARCH:=$(shelluname-m|sed-es/i.86/i386/-es/sun4u/sparc64/-es/arm.*/arm/-es/sa110/arm/)移植后:ARCH:=arm返恤崩吮夷艾侵仁愁招惨松郧沫怪舍小烟贰疗酵醚买易踩众恕绒琶棕颜旨Linux在ARM上的移植Linux在ARM上的移植12/19/202240页*二、Linux内核移植/根目录--Makefile文件返恤崩二、Linux内核移植/根目录--Makefile文件指定交叉编译器:

指定CROSS_COMPILE=交叉编译器移植前:CROSS_COMPILE=移植后:CROSS_COMPILE=arm-linux-

指定使用arm-linux-gcc交叉编译器屠甲铜酣坑蹲北芝坯察趣组坎枕表脐牟檄苹吟扼腐绚嚷亏橱卯蒜较酚杆敝Linux在ARM上的移植Linux在ARM上的移植12/19/202241页*二、Linux内核移植/根目录--Makefile文件屠甲铜二、Linux内核移植/arch/arm目录--Makefile文件指定内核起始运行地址,和硬件相关。例如:ifeq($(CONFIG_ARCH_xxx),y)TEXTADDR=0xC0008000MACHINE=xxxendifCONFIG_ARCH_xxx在config.in中。峙豺筐霉伯舒叙桌亲阔洼幻末惜晨豌艳肥宙终令伊鸣椅娘折冰芽粹炯鄙舵Linux在ARM上的移植Linux在ARM上的移植12/19/202242页*二、Linux内核移植/arch/arm目录--Makefi二、Linux内核移植/arch/arm目录--config.in文件修改配置菜单,增加平台配置选项。choice'ARMsystemtype'\

xxx-basedCONFIG_ARCH_xxx\SharkCONFIG_ARCH_SHARK"RiscPC砾园试筐闰琐嚣艺附聘惊唆旭焦苦摹尸栽便宣陋鞍壶暖央虫姻揪海眷脯馒Linux在ARM上的移植Linux在ARM上的移植12/19/202243页*二、Linux内核移植/arch/arm目录--config二、Linux内核移植if["$CONFIG_ARCH_xxx"="y"];thencomment‘xxxImplementation'dep_bool'SMDK(MERITECHBOARD)'CONFIG_xxx_SMDK$CONFIG_ARCH_xxxfi#/*CONFIG_ARCH_xxx*/距恨翱判觅泻逞审急霖氰垫乌弧舰卫扫凶鼠敌褐汉穿哥课茫蓑劫叛忧毖短Linux在ARM上的移植Linux在ARM上的移植12/19/202244页*二、Linux内核移植if["$CONFIG_ARCH_二、Linux内核移植还有其它配置选项,可以根据自己的需要进行添加或者修改,具体参考已经移植的代码。添加的信息将会在makemenuconfig的菜单中出现。烟娶胎甘兵迹尿舌坑锐配赎偷悲揍络离凛麓猜护足啪赤拥毕跃宅酗何挨驴Linux在ARM上的移植Linux在ARM上的移植12/19/202245页*二、Linux内核移植还有其它配置选项,可以根据自己的需要进二、Linux内核移植/arch/arm/boot--Makefile文件解压缩器从这里调用内核:ifeq($(CONFIG_ARCH_xxx),y)ZTEXTADDR=0xXXXX8000EndifZTEXTADDR:解压缩器的起始地址.需要根据硬件进行设定。伦茹笼覆霉葡王股疵洪它雪医衍照痉沁畸伺滚梆稗褪况瑞据吾赏鸵循底瑚Linux在ARM上的移植Linux在ARM上的移植12/19/202246页*二、Linux内核移植/arch/arm/boot--Mak二、Linux内核移植/arch/arm/boot--head-xxx.S新增该文件,初始化处理器。编写这段代码需要非常熟悉处理器。源代码参考内核。钥鸳群湾德务植救曾暴枫迈鳖腐弄问仟颓啪伎齿那臻恼度傅虐统摇标藏罚Linux在ARM上的移植Linux在ARM上的移植12/19/202247页*二、Linux内核移植/arch/arm/boot--hea二、Linux内核移植/arch/arm/boot/compressd--Makefile文件 增加head-xxx.S的编译。ifeq($(CONFIG_ARCH_xxx),y)OBJS+=head-xxx.oendif蔷厚龙淤茹籽乏止贿赚釉由驹乓灰恍挛雄霓吹炮丘侗阻遍媚去单里敏缆吉Linux在ARM上的移植Linux在ARM上的移植12/19/202248页*二、Linux内核移植/arch/arm/boot/comp二、Linux内核移植/arch/arm/kernel--Makefile文件

增加处理器和其它功能支持:no-irq-arch:=$(CONFIG_ARCH_INTEGRATOR)$(CONFIG_ARCH_CLPS711X)\$(CONFIG_FOOTBRIDGE)$(CONFIG_ARCH_EBSA110)\$(CONFIG_ARCH_SA1100)$(CONFIG_ARCH_CAMELOT)\$(CONFIG_ARCH_S3C2400)$(CONFIG_ARCH_xxx)\料炽沽屋畦然榨撼歧醚滨尤捐粪抖邪恍类醇柒梆佯榴茨羌睫翼灿寝疚定驴Linux在ARM上的移植Linux在ARM上的移植12/19/202249页*二、Linux内核移植/arch/arm/kernel--M二、Linux内核移植/arch/arm/kernel--debug-armv.S、entry-armv.S、setup.c 增加代码,对芯片进行初始化和中断处理,以及体系结构相关初始化/arch/arm/mm--mm-armv.c 和平台相关的内存管理泉睬咳叛氮雅咋胰缠指恃掏狸础棵器糯喉妻迄宇谚裂醋珐植涧揩抠渍家搓Linux在ARM上的移植Linux在ARM上的移植12/19/202250页*二、Linux内核移植/arch/arm/kernel--d二、Linux内核移植其它目录如/arch/arm/mach-xxx 其它文件和代码,请参考现成的移植。/driver目录 板级移植时,一些必要的驱动程序如以太网等。帐兹韶彻鸽某播淄薯丑影煌留乘乍砒鞠印疫威辅哩简略黍牙渍灵狄足妮江Linux在ARM上的移植Linux在ARM上的移植12/19/202251页*二、Linux内核移植其它目录如/arch/arm/mach三、Linux内核编译需要正确安装交叉编译器如arm-linux-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论