最新嵌入式Linux移植PPT课件.ppt

上传人:豆**** 文档编号:56701844 上传时间:2022-11-03 格式:PPT 页数:43 大小:797KB
返回 下载 相关 举报
最新嵌入式Linux移植PPT课件.ppt_第1页
第1页 / 共43页
最新嵌入式Linux移植PPT课件.ppt_第2页
第2页 / 共43页
点击查看更多>>
资源描述

《最新嵌入式Linux移植PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入式Linux移植PPT课件.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式嵌入式LinuxLinux移植移植大纲嵌入式OS的分类及各自特点嵌入式Linux的特点嵌入式Linux的移植讨论嵌入式系统的分类Palm OSPalmOS是一种32位的嵌入式OS,用于掌上电脑。此系统是3Com公司的PalmComputing部(以独立成一家公司)开发的。它运行在一个抢占式的多任务内核之上,同一时刻用户界面仅仅允许一个应用程序被打开,与同步软件HotSync结合可以使掌上电脑与PC上的信息实现同步,把PC的功能扩展到了手掌上。它具有强大的灵活性和良好的可移植性,是一款非常流行的掌上电脑操作系统。嵌入式系统的分类QNXOS-9pSOS嵌入式Linux的特点一、广泛的硬件支持

2、一、广泛的硬件支持Linux能够支持x86、ARM、MIPS、ALPHA、PowerPC等多种体系结构,目前已经成功移植到数十种硬件平台,几乎能够运行在所有流行的CPU上。Linux有着异常丰富的驱动程序资源,支持各种主流硬件设备和最新硬件技术,甚至可以在没有存储管理单元(MMU)的处理器上运行,这些都进一步促进了Linux在嵌入式系统中的应用。嵌入式Linux的特点二、内核高效稳定二、内核高效稳定Linux内核的高效和稳定已经在各个领域内得到了大量事实的验证,Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分,其独特的模块机制可以根据用户的需要,

3、实时地将某些模块插入到内核或从内核中移走。这些特性使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要。嵌入式Linux的特点三、开放源码,软件丰富三、开放源码,软件丰富Linux是开放源代码的自由操作系统,它为用户提供了最大限度的自由度,由于嵌入式系统千差万别,往往需要针对具体的应用进行修改和优化,因而获得源代码就变得至关重要了。Linux的软件资源十分丰富,每一种通用程序在Linux上几乎都可以找到,并且数量还在不断增加。在Linux上开发嵌入式应用软件一般不用从头做起,而是可以选择一个类似的自由软件做为原型,在其上进行二次开发。嵌入式Linux的特点四、优秀的开发工具传统的

4、嵌入式开发调试工具是在线仿真器(In-CircuitEmulator,ICE),它通过取代目标板的微处理器,给目标程序提供一个完整的仿真环境,从而使开发者能够非常清楚地了解到程序在目标板上的工作状态,便于监视和调试程序。价格非常昂贵,只适合做非常底层的调试。嵌入式Linux为开发者提供了一套完整的工具链(ToolChain),它利用GNU的gcc做编译器,用gdb、kgdb、xgdb做调试工具,能够很方便地实现从操作系统到应用软件各个级别的调试。嵌入式Linux的特点五、完善的网络通信和文件管理机制五、完善的网络通信和文件管理机制Linux至诞生之日起就与Internet密不可分,支持所有标准

5、的Internet网络协议,并且很容易移植到嵌入式系统当中。此外,Linux还支持ext2、fat16、fat32、romfs等文件系统,这些都为开发嵌入式系统应用打下了很好的基础。嵌入式Linux系统的组成部分一、引导程序一、引导程序能实现系统的快速引导,提供瞬间开机功能。负责将Linux内核加载到内存,并将控制权交给内核初始化程序。具体工作包括:寻找或将指定的内核映像解压,解压文件系统。嵌入式Linux系统的组成部分二、二、Linux内核内核Linux是一个单一内核操作系统,但可以动态装入和卸载内核中的部分源代码,这与传统的单一内核操作系统全部静态编译内核代码是不同的。Linux内核由内存

6、管理、进程管理、定时器中断管理、模块管理、虚拟文件系统、接口文件系统、设备驱动程序、进程间通信、网络管理、系统启动等构成。嵌入式Linux系统的组成部分三、初始化进程三、初始化进程系统在刚刚启动时,运行于内核方式,这时候只有一个初始化进程在运行,他首先做系统的初始化,然后执行初始化程序(一般是/sbin/init)。初始化进程是系统的第一个进程,以后所有的进程都是初始化进程的子进程。嵌入式Linux系统的组成部分四、硬件驱动程序四、硬件驱动程序设备驱动程序是内核的一部分,它像内核中其它代码一样运行在内核模式。驱动程序如果出错将会使操作系统受到严重破坏,甚至能使系统崩溃并导致文件系统的破坏和数据

7、丢失。Linux设备驱动程序的主要功能有:对设备进行初始化;使设备投入运行和退出服务;从设备接收数据并将它们送回内核;将数据从内核送到设备;检测和处理设备出现的错误。嵌入式Linux系统的组成部分五、应用程序五、应用程序提供所需功能的一个或更多应用程序。移植的概念移植步骤a.Bootloader的移植;b.嵌入式Linux操作系统内核的移植;c.嵌入式Linux操作系统根文件系统的创建;d.电路板上外设Linux驱动程序的编写。移植的准备工作PC平台装有Linux操作系统或在Windows操作系统下安装Cygwin目标平台CPU:S3C2410SDRAM:HY57V561620Nandflas

8、h:K9F1208U0B(64MB)以太网芯片:CS8900A(10M/100MB)源码包linux kernellinux-2.6.14.1.tar.gzSkyeyeskyeye-1.2-RC8-3.tar.bz2toolchaincross-2.95.3.tar.bz2,也可以使用gcc,gdb,glibc,binutils等工具自己编译产生。源码包binuilsbinutils-2.16.tar.gzgccgcc-3.4.4.tar.bz2glibcglibc-2.3.5.tar.gzglibc-linuxthreads-2.3.5.tar.gzgdbgdb-5.2.tar.bz2u-b

9、ootu-boot1.1.4.tar.bz2源码包Batch(补丁)ioperm.c.diff 作用:打修正ioperm()函数flow.c.diff 作用:该补丁用于产生crti.o和crtn.o文件t-linux.diff 作用:修改gcc一处bug其他工具busybox-1.1.3.tar.gzmkcramfs交叉编译工具bootloader与u-bootBootLoader是系统加电启运行的第一段软件代码,PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的引导程序一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的引导程序读到系统的RAM中,然后将

10、控制权交给引导程序。引导程序的主要运行任务就是将内核映象从硬盘上读到RAM中然后跳转到内核的入口点去运行,也即开始启动操作系统。bootloader与u-bootBootLoader就是在操作系统内核或用户应用程序运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图(有的CPU没有内存映射功能如S3C44B0),从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。bootloader与u-boot每种不同的CPU体系结构都有不同的BootLoader。除了依赖于CPU的体系结构外,BootLoader实际上也依赖

11、于具体的嵌入式板级设备的配置,因此为嵌入式系统建立一个通用的BootLoader是很困难的U-boot是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序,UBoot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD,VxWorks,QNX,RTEMS,ARTOS,LynxOS嵌入式操作系统。U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。Boot Loader 的操作模式的操作模式(Operation Mode)启动加载(启动加载(Boot loading)模式:)模式:这种模式

12、也称为自主(Autonomous)模式。也即BootLoader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。这种模式是BootLoader的正常工作模式,因此在嵌入式产品发布的时侯,BootLoader显然必须工作在这种模式下。Boot Loader 的操作模式的操作模式(Operation Mode)下载(下载(Downloading)模式:)模式:在这种模式下,目标机上的BootLoader将通过串口连接或网络连接等通信手段从主机(Host)下载文件,比如:下载内核映像和根文件系统映像等。从主机下载的文件通常首先被BootLoader保存到目标机的

13、RAM中,然后再被BootLoader写到目标机上的FLASH类固态存储设备中。BootLoader的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用BootLoader的这种工作模式。工作于这种模式下的BootLoader通常都会向它的终端用户提供一个简单的命令行接口。u-boot功能系统引导支持NFS挂载、从FLASH中引导压缩或非压缩系统内核基本辅助功能强大的操作系统接口功能;可灵活设置、传递多个关键参数给操作系统,适合系统在不同开发阶段的调试要求与产品发布,尤对Linux支持最为强劲;支持目标板环境参数多种存储方式,如FLASH、NVRAM、EEPROM;

14、CRC32校验,可校验FLASH中内核、RAMDISK镜像文件是否完好;设备驱动;上电自检功能;SDRAM故障检测;CPU型号;特殊功能,XIP内核引导u-boot移植为了使U-Boot支持新的开发板,一种简便的做法是在U-Boot已经支持的开发板中选择一种和目标板接近的,并在其基础上进行修改。移植前的准备阅读相关文档config.mk,flash.c的修改修改flash和SDRAM的参数设置(以Byte为单位)其他事项,比如准备源码,建立交叉开发环境等u-boot移植在建立的开发环境下进行移植工作。绝大多数的开发环境是交叉开发环境。在这方面,DENX和MontaVista均提供了完整的开发工

15、具集在目标板与开发主机间接入硬件调试器,一般使用BDI2000。一方面,其价格不如ICE调试器昂贵,同时其可靠性高,功能强大,完全能胜任移植和调试u-Boot。另外,网上也有不少关于BDI2000调试方面的参考文档。如果在参考开发板上移植U-Boot,可能需要移除目标板上已有的bootloader。u-boot移植修改文件.c文件.h头文件FLASH的驱动程序串口驱动配置,编译把boot.bin和u-boot.gz烧到flash里面去,或RAM中的指定位置u-boot移植对于U-Boot的移植方法,大致分为两种一,先用BDI2000创建目标板初始运行环境,将U-Boot镜像文件u-boot.b

16、in下载到目标板RAM中的指定位置,然后,用BDI2000进行跟踪调试。其好处是不用将U-Boot镜像文件烧写到FLASH中去。但弊端在于对移植开发人员的移植调试技能要求较高,BDI2000的配置文件较为复杂。u-boot移植另外一种方法是用BDI2000先将U-Boot镜像文件烧写到FLASH中去,然后利用GDB和BDI2000进行调试。这种方法所用BDI2000的配置文件较为简单,调试过程与U-Boot移植后运行过程相吻合,即U-Boot先从FLASH中运行,再重载至RAM中相应位置,并从那里正式投入运行。麻烦的就是需要不断烧写FLASH。Linux-2.6内核的移植修改Makefile找

17、到ARCH和CROSS_COMPILE,修改ARCH?=armCROSS_COMPILE?=armlinux设置PATH环境变量,使其可以找到交叉编译工具链设置flash分区Linux-2.6内核的移植配置内核支持启动时挂载devfs为了内核支持devfs以及在启动时并在/sbin/init运行之前能自动挂载/dev为devfs文件系统,修改fs/Kconfig文件armlocalhostlinux2.6.14$vifs/Kconfig配置内核产生.config文件makemenuconfigmakezImage编译内核,生成zImage下载zImage到开发板构造目标板的根目录及文件系统建立

18、一个目标板的空根目录在my_rootfs中建立Linux目录树创建linuxrc文件挂载/etc为ramfs,并从/mnt/etc下拷贝文件到/etc目录当中挂载/proc为proc文件系统挂载/sys为sysfs文件系统挂载其他文件系统相关配置文件的创建创建帐号及密码文件创建profile文件创建fstab文件移植Busyboxbusybox是linux的命令工具集,包含例如login,insmod等许多linux命令的源代码,编译这个源码包,就会生成若干linux命令工具的可执行程序。这里需要注意一点的是,只要installbusybox,我们根文件系统下先前建好的linuxrc就会被覆盖为一同名二进制文件。所以要事先备份我们自己的linuxrc,在安装完busybox后,将linuxrc复制回去就好。谢谢大家!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁