Linux在ARM上的移植--资料课件.ppt

上传人(卖家):晟晟文业 文档编号:5101386 上传时间:2023-02-11 格式:PPT 页数:29 大小:286.50KB
下载 相关 举报
Linux在ARM上的移植--资料课件.ppt_第1页
第1页 / 共29页
Linux在ARM上的移植--资料课件.ppt_第2页
第2页 / 共29页
Linux在ARM上的移植--资料课件.ppt_第3页
第3页 / 共29页
Linux在ARM上的移植--资料课件.ppt_第4页
第4页 / 共29页
Linux在ARM上的移植--资料课件.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、2023-2-11第1页n一、什么是移植?n二、Linux内核代码n三、Linux内核编译2023-2-11第2页一、什么是移植?一、什么是移植?n移植就是让一个平台的代码能够在其它平台上运行。n将Linux运行在ARM上,即称为Linux在ARM上的移植。n移植大致分3个层次:体系结构、处理器和板级移植。n通常所说的移植指的是Linux内核移植,而不是发行版本的移植。2023-2-11第3页一、什么是移植?一、什么是移植?n将Linux移植到ARM的前提:熟悉Linux系统运行机理、熟悉Linux内核代码结构、掌握ARM体系结构、目标处理器、目标系统相关、掌握GNU汇编和C编程以及Linux

2、下脚本编程。n通常仅需要作板级移植,有必要时进行处理器级移植。n参考现有的移植。2023-2-11第4页二、二、LinuxLinux内核代码内核代码nLinux内核由进程管理、内存管理、文件系统、网络接口、进程间通信、设备驱动等模块组成。nLinux内核代码包含这些目录:arch Documentation include kernel scripts drivers init lib mmfs ipc net2023-2-11第5页二、二、LinuxLinux内核代码内核代码n/arch目录包含各体系结构特定的代码,如ARM、i386、PPC、MIPS等。*n/Documentation目录

3、存放相关说明文档。n/include目录存放相关头文件。*n/kernel目录包含Linux内核管理代码n/srcipts目录存放一些脚本文件n/drivers目录包含Linux内核所有设备驱动2023-2-11第6页二、二、LinuxLinux内核代码内核代码n/init目录包含内核初始化代码n/lib目录包含一些库文件n/mm目录存放内存管理代码n/fs目录存放所有文件系统代码n/ipc目录存放进程间通信代码n/net目录存放网络相关代码2023-2-11第7页二、二、LinuxLinux内核代码内核代码n/arch目录包含各体系结构特定的代码,在每个体系结构目录下都有:boot 内核需要

4、的特定平台代码kernel 体系结构特有的代码lib 通用函数在特定体系结构的实现math-emu 模拟FPU的代码,在ARM 中,使用mach-xxx代替*mm 特定体系结构的内存管理实现2023-2-11第8页二、二、LinuxLinux内核代码内核代码n/include目录存放体系结构特定的头文件,里面包含如asm-arm、asm-i386等目录,在其中才存放相关头文件。*2023-2-11第9页二、二、LinuxLinux内核移植内核移植Linux在ARM上的移植涉及目录和文件n/根目录:Makefile文件n/arch/arm目录:Makefile、config.in文件n/arch

5、/arm/boot目录:Makefile文件n/arch/arm/boot/compressed目录:Makefile、head-xxx.S文件2023-2-11第10页二、二、LinuxLinux内核移植内核移植Linux在ARM上的移植涉及目录和文件n/arch/arm/kernel目录:Makefile、debug-armv.S、entry-armv.S、 修改该Makefile文件,指定目标平台和交叉编译器。指定ARCH=目标平台移植前:#ARCH:=$(shell uname-m|sed-e s/i.86/i386/-e s/sun4u/sparc64/-e s/arm.*/arm/

6、-e s/sa110/arm/)移植后:ARCH:=arm2023-2-11第12页二、二、LinuxLinux内核移植内核移植n/根目录Makefile文件 指定交叉编译器:指定CROSS_COMPILE=交叉编译器移植前:CROSS_COMPILE=移植后:CROSS_COMPILE =arm-linux-指定使用arm-linux-gcc交叉编译器2023-2-11第13页二、二、LinuxLinux内核移植内核移植n/arch/arm目录Makefile文件 指定内核起始运行地址,和硬件相关。例如:ifeq($(CONFIG_ARCH_xxx),y)TEXTADDR =0 xC0008

7、000MACHINE =xxxendif2023-2-11第14页二、二、LinuxLinux内核移植内核移植n/arch/arm目录config.in文件 修改配置菜单,增加平台配置选项。2023-2-11第15页二、二、LinuxLinux内核移植内核移植if$CONFIG_ARCH_xxx=y;thencomment xxx Implementationdep_bool SMDK(MERI TECH BOARD)CONFIG_xxx_SMDK$fi#/*CONFIG_ARCH_xxx*/2023-2-11第16页二、二、LinuxLinux内核移植内核移植n还有其它配置选项,可以根据自己

8、的需要进行添加或者修改,具体参考已经移植的代码。添加的信息将会在的菜单中出现。2023-2-11第17页二、二、LinuxLinux内核移植内核移植n/arch/arm/bootMakefile文件解压缩器从这里调用内核:ifeq($(CONFIG_ARCH_xxx),y)ZTEXTADDR =0 xXXXX8000EndifZTEXTADDR:解压缩器的起始地址.需要根据硬件进行设定。2023-2-11第18页二、二、LinuxLinux内核移植内核移植n/arch/arm/boothead-xxx.Sn新增该文件,初始化处理器。编写这段代码需要非常熟悉处理器。源代码参考内核。2023-2-

9、11第19页二、二、LinuxLinux内核移植内核移植n/arch/arm/boot/compressdMakefile文件增加head-xxx.S的编译。ifeq($(CONFIG_ARCH_xxx),y)OBJS +=head-xxx.oendif2023-2-11第20页二、二、LinuxLinux内核移植内核移植n/arch/arm/kernelMakefile文件增加处理器和其它功能支持:2023-2-11第21页二、二、LinuxLinux内核移植内核移植n/arch/arm/kerneldebug-armv.S、entry-armv.S、setup.c增加代码,对芯片进行初始化

10、和中断处理,以及体系结构相关初始化n/arch/arm/mmmm-armv.c和平台相关的内存管理2023-2-11第22页二、二、LinuxLinux内核移植内核移植n其它目录如/arch/arm/mach-xxx其它文件和代码,请参考现成的移植。n/driver目录板级移植时,一些必要的驱动程序如以太网等。2023-2-11第23页三、三、LinuxLinux内核编译内核编译n需要正确安装交叉编译器如arm-linux-gccn相关命令make menuconfig菜单界面make dep依赖关系make zImage得到内核make mrproper干净的源码make distclean

11、清除文件2023-2-11第24页三、三、LinuxLinux内核编译内核编译n进入配置菜单/界面make config文本界面make menuconfig菜单界面*makexconfig图形界面常用make menuconfig命令进行。进入Linux内核源代码目录,执行该命令,得到Linux内核配置主界面。2023-2-11第25页三、三、LinuxLinux内核编译内核编译n对各项进行配置,包括系统类型、存储器、网络等。可以装载某开发板的默认配置,如MagicARM2410默认配置文件为ZY2410 x。2023-2-11第26页三、三、LinuxLinux内核编译内核编译n装载默认配

12、置后,可修改或者不修改。配置完毕选择退出并保存。2023-2-11第27页三、三、LinuxLinux内核编译内核编译n配置完毕,需要先建立依赖关系:make depn如果没有错误,即可编译内核:make zImage如果编译无错,在arch/arm/boot目录下将生成内核文件zImage。2023-2-11第28页三、三、LinuxLinux内核编译内核编译n如果配置中有编译为模块的,需要:make modulesmake modules_installn如果有错,请进行排错后再次编译。n重新编译之前,可使用make mrproper命令得到干净的源代码或者使用make distclean清除以前编译产生的文件,然后才重新进行。2023-2-11第29页

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Linux在ARM上的移植--资料课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|