第7章嵌入式操作系统及其移植(第二版)讲述.ppt

第7章嵌入式操作系统及其移植(第二版)讲述.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章嵌入式操作系统及其移植(第二版)讲述

第6章基本输入输出接口技术 第7章嵌入式操作系统及其移植 7.1 嵌入式操作系统μCLinux 1.μCLinux背景 μClinux 从Linux2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性; 专门针对没有MMU的CPU 运行μClinux 操作系统的用户可以使用几乎所有的Linux API函数 μCLinux 概述 2. μCLinux特点 (1) 通用Linux API (2) 内核体积 < 512 KB (3) 内核 +文件系统<900 KB (4) 完整的TCP/IP 协议栈 (5) 支持大量其它的网络协议 (6) 支持各种文件系统,包括 NFS、ext2、 ROMfs and JFFS、MS-DOS 和FAT16/32 μCLinux体系结构 μCLinux的移植 μCLinux内核移植方法(1) 1.内核移植的主要任务 (1)配置内核 (2)编译内核 (3)下载、运行、调试内核 2.μClinux调试手段 (1) 通过串口将显示信息发送到主机,由主机端超级 终端工具接收;同时在超级终端输入数据,然后由μClinux接收; (2)通过串口将调试信息打印到超级终端 μCLinux内核移植方法(2) 3. μCLinux内核移植主要过程 (1)内核配置 (2)体系结构相关代码修改 (3)连接脚本 (4)中断处理 (5)加载文件系统 (6)编写驱动程序 (7)编译μClinux文件系统 7.2 嵌入式操作系统μC/OS-II μC/OS-Ⅱ是免费的,源代码是开放的,特点如下: (1) μC/OS-II是一个可裁减的、源码开放的、结构小巧、可剥 夺型的实时多任务内核; (2) μC/OS-II中最多可以支持64个任务,分别对应优先级0~63,其中0为最高优先级; (3) μC/OS-II已成功移植到近40多种处理器体系上; (4) μC/OS-II结构小巧,最小内核可编译至2K ; (5) μC/OS-Ⅱ实际上是一个实时操作系统内核,没有提供输入输出管理、文件系统、网络之类的额外服务。 7.2 嵌入式操作系统μC/OS-II μC/OS-II中任务状态包括:等待状态、休眠状态、就绪状态、运行状态、中断服务, 之间可转换。 μC/OS-II的体系结构 7.2.2 μC/OS-II的移植 要使μC/OS-II能正常运行,处理器必须满足以下要求: 处理器的C编译器能产生可重入代码; 处理器支持中断,并且能产生定时中断; C语言可以开/关中断; 处理器支持一定数量的数据存储硬件堆栈; 处理器有将堆栈和其他CPU寄存器读出和存储到堆栈或内存的指令。 7.3 嵌入式系统的BootLoader 1.含义 Boot Loader就是在操作系统内核或用户应用程序运行之前运行的一段小程序。(类似于PC的BIOS) 2.功能 初始化硬件设备、建立内存空间的映射图。将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。 3.任务 如图7.1所示。 BootLoader与嵌入式系统的关系 Boot Loader的操作模式 BootLoader的启动加载模式与下载模式:  加载模式:启动时将Flash中的操作系统加载到RAM中,Boot Loader的正常工作模式。 下载模式:将主机中的应用程序等下载到嵌入式系统的RAM中,比如:下载应用程序、数据文件、内核映像等 ,这种模式通常在系统更新时使用。 BootLoader的主要功能及典型结构 1.主要功能 正确地调用内核来执行。 2.典型结构(分两部分) 第一部分: 第二部分: Boot Loader的第一部分(1) 1.基本的硬件初始化 2. 为加载第二部分准备RAM 空间 推荐将第二部分安排到整个RAM空间的最顶1MB(即(RamEnd-1MB)-RamEnd) 。 Boot Loader的第一部分(2) 3.拷贝第二部分到RAM 4.设置堆栈指针sp 5.跳转到第二部分的C入口点 Boot Loader的第二部分(1) 1.初始化本阶段要使用的硬件设备 如初始化串口和计时器等。 2.检测系统得内存映射 内存映射就是指在整个物理地址空间中有哪些地址范围被分配用来寻址系统的 RAM 单元。 Boot Loader的第二部分(2) 3.加载内核影响和根文件系统映像 4.调用内核 ldr r0, =0xc300000 ;0x300000是前面拷贝kernel函数中的

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档