嵌入式linux移植

上传人:wm****3 文档编号:51633488 上传时间:2018-08-15 格式:PPT 页数:42 大小:520KB
返回 下载 相关 举报
嵌入式linux移植_第1页
第1页 / 共42页
嵌入式linux移植_第2页
第2页 / 共42页
嵌入式linux移植_第3页
第3页 / 共42页
嵌入式linux移植_第4页
第4页 / 共42页
嵌入式linux移植_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《嵌入式linux移植》由会员分享,可在线阅读,更多相关《嵌入式linux移植(42页珍藏版)》请在金锄头文库上搜索。

1、嵌入式Linux移植50组:余元林 SC06010047林 茂SC06010055大纲 嵌入式OS的分类及各自特点 嵌入式Linux的特点 嵌入式Linux的移植 讨论嵌入式系统的分类 嵌入式LinuxLinux本身的种种特性使其成为嵌入式开发的首选。 嵌入式协会(ELC)发布了ELC产品规范版本1.0, 更为嵌入式Linux的开发提供了提供了方便。 RT-Linux uCLinux(Micro-Control-Linux) mizi-linux :由韩国mizi公司根据Linux 2.4内核移 植而来,支持S3C2410A处理器嵌入式系统的分类 uClinux uClinux是很常用的一种嵌

2、入式Linux,它去掉了 Linux中的内存管理单元(MMU),主要用于没有内存 管理单元的处理器(比如三星公司的S3C44B0X) 。它是继承了标准Linux的优良特性,针对嵌入式处 理器的特点设计的一种操作系统,具有内嵌网络协 议、支持多种文件系统,开发者可利用标准Linux先 验知识等优势。其编译后目标文件可控制在几百KB 量级。嵌入式系统的分类 Windows CE Microsoft Windows CE是从整体上为有限资源的平 台设计的多线程、完整优先权、多任务的操作系统 。它的模块化设计允许它对于从掌上电脑到专用的 工业控制器的用户电子设备进行定制。操作系统的 基本内核需要至少2

3、00K的ROM。 嵌入式系统的分类 VxWorks VxWorks是目前嵌入式系统领域中使用最广泛、市 场占有率最高的系统。它支持多种处理器,如x86 、i960、Sun Sparc、Motorola MC68xxx、MIPS RX000、POWER PC等等。大多数的VxWorks API 是专有的。采用GNU的编译和调试器。 嵌入式系统的分类 uC/OS uC/OS是一个典型的RTOS,该系统从1992年开始 发展,目前流行的是第二个版本,即uC/OS II。它 的特点可以概括为一下几个方面: 公开源代码 良好的可移植性(Portable) 可裁剪(Scalable) 可固化(ROMabl

4、e) 占先式(Preemptive) 多任务 嵌入式系统的分类 LynxOS Lynx Real-time Systems的LynxOS是一个分布式、 嵌入式、可规模扩展的RTOS,它遵循POSIX.1a、 POSIX.1b和POSIX.1c标准。LynxOS支持线程概念 ,提供256个全局用户线程优先级;提供一些传统 的、非实时系统的服务特征;包括基于调用需求的 虚拟内存,一个基于Motif的用户图形界面,与工业 标准兼容的网络系统以及应用开发工具。 Portable Operating System Interface 嵌入式系统的分类 Palm OS Palm OS是一种32位的嵌入式O

5、S,用于掌上电脑 。此系统是3Com公司的Palm Computing部(以独 立成一家公司)开发的。它运行在一个抢占式的多 任务内核之上,同一时刻用户界面仅仅允许一个应 用程序被打开,与同步软件HotSync结合可以使掌 上电脑与PC上的信息实现同步,把PC的功能扩展 到了手掌上。它具有强大的灵活性和良好的可移植 性,是一款非常流行的掌上电脑操作系统。嵌入式系统的分类 QNX OS-9 pSOS 嵌入式Linux的特点 一、广泛的硬件支持Linux能够支持x86、ARM、MIPS、ALPHA、 PowerPC等多种体系结构,目前已经成功移植到数 十种硬件平台,几乎能够运行在所有流行的CPU上

6、 。Linux有着异常丰富的驱动程序资源,支持各种主 流硬件设备和最新硬件技术,甚至可以在没有存储 管理单元(MMU)的处理器上运行,这些都进一步 促进了Linux在嵌入式系统中的应用。 嵌入式Linux的特点 二、内核高效稳定 Linux内核的高效和稳定已经在各个领域内得到了大 量事实的验证,Linux的内核设计非常精巧,分成进 程调度、内存管理、进程间通信、虚拟文件系统和 网络接口五大部分,其独特的模块机制可以根据用 户的需要,实时地将某些模块插入到内核或从内核 中移走。这些特性使得Linux系统内核可以裁剪得非 常小巧,很适合于嵌入式系统的需要。嵌入式Linux的特点 三、开放源码,软件

7、丰富 Linux是开放源代码的自由操作系统,它为用户提供 了最大限度的自由度,由于嵌入式系统千差万别, 往往需要针对具体的应用进行修改和优化,因而获 得源代码就变得至关重要了。Linux的软件资源十分 丰富,每一种通用程序在Linux上几乎都可以找到, 并且数量还在不断增加。在Linux上开发嵌入式应用 软件一般不用从头做起,而是可以选择一个类似的 自由软件做为原型,在其上进行二次开发。 嵌入式Linux的特点 四、优秀的开发工具 传统的嵌入式开发调试工具是在线仿真器(In- Circuit Emulator,ICE),它通过取代目标板的微 处理器,给目标程序提供一个完整的仿真环境,从 而使开

8、发者能够非常清楚地了解到程序在目标板上 的工作状态,便于监视和调试程序。价格非常昂贵 ,只适合做非常底层的调试。 嵌入式Linux为开发者提供了一套完整的工具链( Tool Chain),它利用GNU的gcc做编译器,用gdb 、kgdb、xgdb做调试工具,能够很方便地实现从操 作系统到应用软件各个级别的调试。 嵌入式Linux的特点 五、完善的网络通信和文件管理机制 Linux至诞生之日起就与Internet密不可分,支持所 有标准的Internet网络协议,并且很容易移植到嵌入 式系统当中。此外,Linux还支持ext2、fat16、 fat32、romfs等文件系统,这些都为开发嵌入式

9、系 统应用打下了很好的基础。 嵌入式Linux系统的组成部分 一、引导程序 能实现系统的快速引导,提供瞬间开机功能。负责 将Linux内核加载到内存,并将控制权交给内核初始 化程序。具体工作包括:寻找或将指定的内核映像 解压,解压文件系统。嵌入式Linux系统的组成部分 二、Linux内核Linux是一个单一内核操作系统,但可以动态装入和 卸载内核中的部分源代码,这与传统的单一内核操 作系统全部静态编译内核代码是不同的。Linux内核 由内存管理、进程管理、定时器中断管理、模块管 理、虚拟文件系统、接口文件系统、设备驱动程序 、进程间通信、网络管理、系统启动等构成。 嵌入式Linux系统的组成

10、部分 三、初始化进程 系统在刚刚启动时,运行于内核方式,这时候只有 一个初始化进程在运行,他首先做系统的初始化, 然后执行初始化程序(一般是/sbin/init)。初始化 进程是系统的第一个进程,以后所有的进程都是初 始化进程的子进程。 嵌入式Linux系统的组成部分 四、硬件驱动程序 设备驱动程序是内核的一部分,它像内核中其它代 码一样运行在内核模式。驱动程序如果出错将会使 操作系统受到严重破坏,甚至能使系统崩溃并导致 文件系统的破坏和数据丢失。Linux设备驱动程序的 主要功能有:对设备进行初始化;使设备投入运行 和退出服务;从设备接收数据并将它们送回内核; 将数据从内核送到设备;检测和处

11、理设备出现的错 误。 嵌入式Linux系统的组成部分 五、应用程序提供所需功能的一个或更多应用程序。 移植的概念 移植步骤a.Bootloader的移植; b.嵌入式Linux操作系统内核的移植; c.嵌入式Linux操作系统根文件系统的创建; d.电路板上外设Linux驱动程序的编写。移植的准备工作 PC平台 装有Linux操作系统或在Windows操作系统下安装 Cygwin 目标平台 CPU: S3C2410 SDRAM: HY57V561620 Nand flash: K9F1208U0B(64MB) 以太网芯片:CS8900A (10M/100MB)源码包linux kernel l

12、inux-2.6.14.1.tar.gz Skyeye skyeye-1.2-RC8-3.tar.bz2 toolchain cross-2.95.3.tar.bz2,也可以使用gcc,gdb, glibc,binutils等工具自己编译产生。源码包binuils binutils-2.16.tar.gz gcc gcc-3.4.4.tar.bz2 glibc glibc-2.3.5.tar.gz glibc-linuxthreads-2.3.5.tar.gz gdb gdb-5.2.tar.bz2 u-boot u-boot1.1.4.tar.bz2源码包 Batch(补丁) ioperm.

13、c.diff 作用:打修正ioperm()函数 flow.c.diff 作用:该补丁用于产生crti.o和crtn.o文 件 t-linux.diff 作用:修改gcc一处bug 其他工具 busybox-1.1.3.tar.gz mkcramfs交叉编译工具bootloader与u-boot BootLoader是系统加电启运行的第一段软件代码, PC机中的引导加载程序由BIOS(其本质就是一段 固件程序)和位于硬盘MBR中的引导程序一起组成 。BIOS在完成硬件检测和资源分配后,将硬盘 MBR中的引导程序读到系统的RAM中,然后将控制 权交给引导程序。引导程序的主要运行任务就是将 内核映象

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

15、配置,因此为嵌 入式系统建立一个通用的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)模式:这种模式 也称为“自主“(A

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

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

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号