第8章第一部分_嵌入式操作系统以修订(东北电力大学).ppt

第8章第一部分_嵌入式操作系统以修订(东北电力大学).ppt

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

2.1 嵌入式操作系统概述 按响应时间分类… 嵌入式实时操作系统 当事件/请求发生时,相应的任务应该在规定的时间内完成; 分时操作系统 基于公平性原则,各个进程分享处理器,获得大致相同的运行时间。当一个进程在进行I/O操作时,交出处理器,让其他进程运行。 Andriod Android是一种以LINUX为基础的开放源码的操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发良,逐渐扩展到平板电脑及其他领域上 。 2.2.1 多道程序技术 2.2.2 进程和任务 什么是进程? 进程的特性 什么是任务? 2.2.3 任务的实现 任务的层次结构 任务的描述 任务控制块的内容 任务的状态 任务的状态及其转换 2.2.4 任务的调度 两种调度方式 2.2.5 实时系统调度 2.2.6 任务间通信 共享内存 消息传递 2.2.7 同步与互斥 竞争条件问题的抽象描述 2.3.1 存储管理概述 2.3.2 分区存储管理 2.3.3 地址映射 地址映射 2.4.1 I/O地址 设备控制器 I/O地址 2.4.2 I/O控制 程序循环检测方式 中断驱动方式 直接内存访问方式 2.5.1 文件和目录 文件的结构 文件的属性 文件的存取方法 文件的访问 文件的控制 目录的逻辑结构 2.5.2 文件系统的实现 文件控制块 文件的物理结构 连续结构 链表结构 嵌入式操作系统的组成 1.BOOTLOADER 2.硬件驱动层 3.操作系统功能层 4.应用程序层 Bootloader概述 简单地说,Bootloader就是在操作系统运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立系统的内存空间映射图,从而将系统的软件硬件环境带到一个合适的状态,以便为调用操作系统内核准备好正确的环境。 最终,Bootloader把操作系统内核映像加载到RAM中,并将系统控制权交给它。 通常Bootloader对硬件的依赖性非常强,建立一个通用的Bootloader几乎是不可能的。 除依赖于CPU的体系结构外,Bootloader还依赖于嵌入式板级设备的配置。也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一块CPU构建的,要使运行在一块板子上的Bootloader程序也能运行在另一块板子上,通常也要修改Bootloader的源代码。 Bootloader的安装地址 系统加电复位后,所有的CPU通常都从某个CPU制造商预先安排的地址上取指令,如基于ARM核的CPU通常都从0它的第一条指令。而嵌入式系统通常都有某种类型的固态存储设备(如ROM或FLASH)被映射到这个预先安排的地址上,Bootloader被烧写到其中,所以在系统加电后,CPU将首先执行Bootloader程序。 控制Bootloader的设备和机制 主机和目标机之间一般通过串口连接,文件传输协议通常是xmodem/ymodem/zmodem协议中的一种。 Bootloader软件在执行时通常会通过串口来进行I/O操作,例如:输出打印信息到串口,从串口读取用户控制字符。 常用的Bootloader U-Boot vivi U-Boot U-Boot是德国DENX小组开发的用于多种嵌入式CPU的BootLoader程序,它可以运行于PowerPC、ARM、MIPS等多种嵌入式开发板上。 vivi vivi是由韩国MIZI公司开发的专门用于ARM产品线的一种Bootloader vivi启动过程分析 Bootloader的stage2通常包括以下步骤: 1、初始化本阶段要用到的硬件设备 2、检测系统内存映射 3、将kernel映像和根文件系统映像从 Flash上读到RAM空间 4、为内核设置启动参数 5、调用内核 vivi的stage1实际完成的主要任务-1: 关闭所有中断和看门狗 上电复位后,所有中断默认是关闭的,所以中断服务可以不需要代码实现。 初始化系统时钟 内存设置 主要是设置S3C2410的和内存相关的13个寄存器和采用一种通用的内存检测的算法对存储器进行检测 vivi的stage1实际完成的主要任务-2: 初始化调试指示灯(可选) 初始化UART,作为调试口 复制代码到SDRAM 跳转到main,进入stage2 vivi的stage2分析: 1:打印版本信息 2:初始化GPIO 3: MMU初始化 4:堆初始化 5: MTD设备初始化 6:存放vivi的私有参数 7:添加vivi支持的命令 8:根据用户选择进入vivi命令模式或启动内核 内核移植 移植,

文档评论(0)

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

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

1亿VIP精品文档

相关文档