1 / 27
文档名称:

嵌入式开发-第7章 嵌入式Linux软件设计.ppt

格式:ppt   页数:27页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

嵌入式开发-第7章 嵌入式Linux软件设计.ppt

上传人:hytkxy 2016/4/24 文件大小:0 KB

下载得到文件列表

嵌入式开发-第7章 嵌入式Linux软件设计.ppt

文档介绍

文档介绍:第第 7 7 章章嵌入式嵌入式 Linux Linux 软件设计软件设计 2 第7章嵌入式 Linux 软件设计主要内容 1 1 13 3 3 2 2 24 4 4 Bootloader 引导程序 Linux 的移植驱动程序开发应用程序开发 3 第7章嵌入式 Linux 软件设计 Bootloader 的启动过程 BootLoader 的实现依赖于 CPU 的体系结构,因此大多数 BootLoader 都分为 stage1 和 stage2 两大部分。 BootLoader 的 stage1 通常包括以下步骤: ?硬件设备初始化。?为加载 BootLoader 的 stage2 准备 RAM 空间。?复制 BootLoader 的 stage2 到 RAM 空间中。?设置好堆栈。?跳转到 stage2 的入口点。 BootLoader 的 stage2 通常包括以下步骤: ?初始化本阶段要使用的硬件设备。?检测系统内存映射。?将 kernel 映像和根文件系统映像从 Flash 读到 RAM 中。?为内核设置启动参数。?调用内核。 4 第7章嵌入式 Linux 软件设计 Bootloader Bootloader 的两种不同操作模式的两种不同操作模式?启动加载模式:这种模式也称为自主模式( Autonomous )模式,即 Bootloader 从目标机上的某个固态存储设备上将操作系统加载到 ARM 中运行,整个过程没有用户的介入。这种模式是 Bootloader 的正常工作状态。在嵌入式产品发布时, bootloader 必须工作在这种模式下。?下载模式:目标机上的 Bootloader 通过串口连接或网络连接等通信手段从主机上下载文件,比如下载应用程序、数据文件、内核映像等。从主机上下载的文件通常首先被 bootloader 保存在目标机的 RAM 中,然后在被 Bootloader 写到目标机上的固态存储设备中。这种模式主要用在系统更新时。 5 第7章嵌入式 Linux 软件设计常见的常见的 bootloader bootloader ? U-boot U-boot 是德国 DENX 小组开发的用于多种嵌入式 CPU 的 Bootloader 程序,它可以运行在基于 PowerPC 、 ARM 、 MIPS 等多种嵌入式开发板上。 http://u-boot. ftp://-boot/ 6 第7章嵌入式 Linux 软件设计常见的常见的 bootloader(continued) bootloader(continued) ? Blob Blob 是 Boot loader Object 的缩写,是一款功能强大的 Bootloader 。最初由 Jan-Derk Bakker 和 Erik Mouw 写的,现移植到很多基于 ARM 的 CPU 上。/projects/blob 7 第7章嵌入式 Linux 软件设计常见的常见的 bootloader(continued) bootloader(continued) ? ARMboot 是一个以 ARM 或 Strong ARM 为内核 CPU 的嵌入式系统的 Bootloader ,该软件的目标是使新的平台更容易被移植并尽可能地发挥其强大的性能。 jects/armboot 8 第7章嵌入式 Linux 软件设计常见的常见的 bootloader(continued) bootloader(continued) ? RedBoot 最初有 Redhat 开发,集 bootloader 、调试、 flash 烧写于一体,支持串口、网络下载,执行可执行应用程序。/redboot/ 9 第7章嵌入式 Linux 软件设计 Bootloader 之 vivi vivi 是由韩国 MIZI 公司提供的一款针对 S3C2410 芯片的 BootLoader 。 vivi 的启动过程分为两个阶段:阶段 1和阶段 2。阶段 1的主要工作是: ?硬件初始化; ?配置串口; ?复制自身到 SDRAM 中(跳转到 C代码的入口函数)。阶段 2的主要工作是: ?对硬件系统继续初始化; ?内存映射初始化,内存管理单元 MMU 初始化; ?初始化堆; ?初始化 MTD 设备, MTD 设备指具有闪存功能的设备,如闪存芯片、闪存卡等; ?初始化私有数据; ?初始化内置命令; ?启动 vivi 。 10 第7章嵌入式 Linux 软件设计主要内容 1 1 13 3 3 2 2 24 4 4 Bootloader 引导程序 Linux 的移植驱动程序开发应用程序开发