




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARM嵌入式系统设计与开发 课程安排 Chapt 1 嵌入式系统概述 Chapt 2 ARM 体系结构及编程模型 Chapt 3 ARM指令系统 Chapt 4 ARM嵌入式程序设计基础 Chapt 5 总结交流 Chapt 1 嵌入式系统概述 嵌入式系统组成 嵌入式微处理器 嵌入式操作系统 常用Linux命令 典型嵌入式系统组成硬件 典型嵌入式系统组成软件 嵌入式系统定义 IEEE(国际电气和电子工程师协会)的定义 嵌入式系统是“用于控制、监视或者辅助操作机器和设备 的装置” (原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants) 一般定义 “以应用为中心、以计算机技术为基础、软件硬件可裁剪 、功能、可靠性、成本、体积、功耗严格要求的专用计算 机系统。” 嵌入式系统发展 第一阶段:以单芯片为核心的可编程控制 器形式的系统; 第二阶段:以嵌入式CPU为基础、以简单 操作系统为核心的嵌入式系统; 第三阶段:以嵌入式操作系统为标志的嵌 入式系统; 第四阶段:以internet为标志的嵌入式系统 。 嵌入式系统分类 按表现形式分:(硬件范畴) 芯片级嵌入(含程序或算法的处理器) 模块级嵌入(系统中的某个核心模块) 系统级嵌入 按实时性要求分:(软件范畴) 非实时系统(PDA) 软实时系统(消费类产品) 硬实时系统(导引头等工业和军工系统) 嵌入式微处理器 硬件基础 冯诺依曼体系结构和哈佛体系结构 CISC与RICS 影响CPU性能的因素 存储器系统 冯诺依曼结构和哈佛结构 冯诺依曼结构哈佛结构 冯诺依曼结构 1)数据与指令都存储在存储器中 2)被大多数计算机所采用 3)ARM7 冯诺依曼体系 哈佛结构 1)程序存储器与数据存储器分开 2)提供了较大的数存储器带宽 3)适合于数字信号处理 4)大多数DSP都是哈佛结构 5)ARM9是哈佛结构 CISC和RISC CISC:复杂指令集(Complex Instruction Set Computer ) 具有大量的指令和寻址方式 大多数程序只使用少量的指令就能够运行。 RISC:精简指令集(Reduced Instruction Set Computer) 8/2原则:80%的程序只使用20%的指令 在通道中只包含最有用的指令 确保数据通道快速执行每一条指令 使CPU硬件结构设计变得更为简单 影响CPU性能的因素:流水线、超标量和缓存 RISC流水线技术:几个指令可以并行执行 提高了CPU的运行效率 内部信息流要求通畅流动 超标量执行:超标量CPU采用多条流水线结构 高速缓存(Cache) 1、为什么采用高速缓存 微处理器的时钟频率比内存速度提高快得多,高速缓存可 以提高内存的平均性能。 2、高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存部分主存内 容的拷贝。 Question ? 什么是虚拟内存? 什么是物理内存? BUS and Bus Bridge 存储器系统 RAM:随机存取存储器 SRAM:静态随机存储器 DRAM:动态随机存储器 1)SRAM比DRAM快 2)SRAM比DRAM耗电多 3)DRAM存储密度比SRAM高得多(体积) 4)DRAM需要周期性刷新 ROM:只读存储器 FLASH:闪存 嵌入式微处理器分类 嵌入式微控制器(EMCU) 嵌入式微控制器的典型代表是单片机,这种位的电子器件 目前在嵌入式设备中仍然有着极其广泛的应用。 单片机芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/ 计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。 典型的EMCU有51 系列,MC68系列,PIC系列,MSP 430系列. 微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下 降、可靠性提高。 微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一 般比较丰富,适合于控制,因此称为微控制器. 近来Atmel推出的AVR单片机由于其集成了FPGA等器件,所以具有 很高的性价比,势必将推动单片机获得更高的发展。 嵌入式数字信号处理器(EDSP) DSP处理器是专门用于信号处理方面的处理器,其在系统 结构和指令算法方面进行了特殊设计,在数字滤波 FFT、 谱分析等各种仪器上DSP获得了大规模的应用。 DSP的理论算法在70年代就已经出现,但是由于专门的 DSP处理器还未出现,所以这种理论算法只能通过MPU 等由分立元件实现。1982年世界上诞生了首枚DSP片, 在语音合成和编码解码器中得到了广泛应用。DSP的运算 速度进一步提高,应用领域也从上述范围扩大到了通信和 计算机方面。 目前最为广泛应用的嵌入式DSP处理器是TI的 TMS320C2000/C5000/C6000系列,ADI公司的DSP的如 Blackfin系列,另外如Intel的MCS-296和Siemens的 TriCore也有各自的应用范围. 嵌入式微处理器(EMPU) EMPU嵌入式微处理器是由通用计算机中的CPU 演变而来的,8038680387 与计算机处理器不同的是,在实际嵌入式应用中 ,只保留和嵌入式应用紧密相关的功能硬件,去 除其他的冗余功能部分,这样就以最低的功耗和 资源实现嵌入式应用的特殊要求。 和工业控制计算机相比,嵌入式微处理器具有体 积小、重量轻、成本低、可靠性高的优点。目前 主要的嵌入式处理器类型有Am186/88、386EX 、SC-400、Power PC、68000、MIPS、 ARM/StrongARM系列等 嵌入式片上系统(System On Chip) SoC 就是System on Chip ,SoC嵌入式系统微 处理器就是一种电路系统。 它结合了许多功能区块,将功能做在一个芯片上 ,像是ARM RISC、MIPS RISC、DSP或是其他 的微处理器核心,加上通信的接口单元,像是万 用串行端口(USB)、TCP/IP通信单元、GPRS 通信接口、GSM通信接口、IEEE1394、蓝牙模 块接口等等,这些单元以往都是依照各单元的功 能做成一个个独立的处理芯片。 SoC嵌入式系统微处理器所具有的其他的 好处可以分为下列几种: 利用改变内部工作电压,降低芯片功耗。 减少芯片对外管脚数,简化制造过程。 减少外围驱动接口单元及电路板之间的信 号传递,可以加快微处理器数据处理的速 度。 内嵌的线路可以避免外部电路板在信号传 递时所造成系统杂讯。 嵌入式操作系统 操作系统分类 (1)顺序执行系统:系统内只含有一个程序,独 占CPU的运行时间,按语句顺序执行该程序,直 至执行完毕,另一程序才能启动运行。如DOS操 作系统。 (2)分时操作系统:系统内同时可以有多个程序 运行,把CPU的时间分按顺序分成若干片,每个 时间片内执行不同的程序。如UNIX (3)实时操作系统:系统内有多个程序运行,每 个程序有不同的优先级,只有最高优先级的任务 才能占有CPU的控制权 按实时性分类 具有强实时特点的嵌入式操作系统 具有弱实特点的嵌入式操作系统 没有实时特点的嵌入式操作系统 强实时系统,其系统响应时间在毫秒或微秒级(数控机床 ) 一航实时系统,其系统响应时间在毫秒几秒的 数量级上,其实时性的要求比强实时系统要差一 些(电子菜谱的查询) 弱实时系统,其系统响应时间约为数十秒或更长(工程机 械控制器) 按软件结构分类 (1)循环轮询系统:(Polling Loop) 最简单的软件结构是循环轮询,程序依次检查系统的每一 个输入条件,一旦条件成立就进行相应的处理。 Initialize() While(true) if(condition_1) action_1(); if(condition_2) action_2(); if(condition_n) acition_n(); (2)事件驱动系统:(Event-Driven system) 事件驱动系统是能对外部事件直接响应的系统。它包括前 后台 、实时多任务、多处理器等,是嵌入式实时系统的 主要形式。 应用程序是一个无限的循环,循环中调用相应的函数完成 相应的操作,这部分可以看成后台行(background)。 中断服务程序处理异步事件,这部分可以看成前台行为( foreground)。 后台也可以叫做任务级,前台也叫中断级。 例如,很多基于微处理器的产品采用前后台系统设计,如 微波炉、电话机、玩具等。从省电的角度出发,平时微处 理器处在停机状态,所有的事都靠中断服务来完成。 嵌入式操作系统及其特点 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软 件,它是嵌入式系统的重要组成部分。嵌入时操作系统具 有通用操作系统的基本特点,能够有效管理复杂的系统资 源,并且把硬件虚拟化。常见的嵌入式系统 Linux、 uClinux、WinCE、uCOS-II、VxWorks、pSOS、 Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、 OSE、C Executive 从应用角度可分为通用型嵌入式操作系统和专用型嵌入式 操作系统。常见的通用型嵌入式操作系统有Linux、 VxWorks、Windows CE.net等。 常用的专用型嵌入式操作系统有Smart Phone、Pocket PC、Symbian等。 几种典型的嵌入式系统 VxWorks VxWorks操作系统是美国WindRiver公司于1983年设计 开发的一种嵌入式实时操作系统(RTOS),具有良好的 持续发展能力、高性能的内核以及友好的用户开发环境, 在嵌入式实时操作系统领域牢牢占据着一席之地。 VxWorks所具有的显著特点是: 可靠性、实时性和可裁减性。 它支持多种处理器,如x86、i960、Sun Sparc、 Motorola MC68xxx、MIPS RX000、POWER PC 、 XScale等等。 应用领域: 广泛应用于军事通信,导弹制导,卫星通信,飞机导航等 例如美-16战斗机,B-2隐形轰炸机 Windows Embedded Windows CE 3.0:一种针对小容量、移动式、智能化、 32位、连接设备的模块化实时嵌入式操作系统 针对掌上设备、无线设备的动态应用程序和服务提供了一 种功能丰富的操作系统平台, WindowsCE嵌入但不够实 时,属于软实时操作系统,目前也开始中文手机的研究开 发。 操作系统的基本内核需要至少200K的ROM。 嵌入式Linux 嵌入式系统越来越追求数字化、网络化和智能化。因此原 来在某些设备或领域中占主导地位的软件系统越来越难以 为继,整个系统必须是开放的、提供标准的API,并且能 够方便地与众多第三方的软硬件沟通。 Linux的内核小、功能强大、运行稳定、系统健壮、效率 高,易于定制剪裁,在价格上极具竞争力 uClinux 是针对没有的处理器设计的,它不能使用处理器的 虚拟内存管理技术,它对内存的访问是直接的,所有程序 中访问地址都是实际的物理地址ulinux专为嵌入式系 统做了许多小型化的工作 uC/OS- COS不但提供了一个完整的嵌入式实时内核的源代码,而且对这 些代码的细节作了详尽的解释,它不仅告诉读者这个实时内核是 怎么写的,还解释了为什么要这样写。而商业上的实时操作系统 软件不但价格昂贵(一般都在5千到2万美元的价位上),而且其 中很多都是所谓黑盒子,即不提供源代码。 源代码的绝大部分是用C语言写的,经过简单的编译,读者就能在 PC机上运行,边读书、边实践。由于用汇编语言写的部分只有200 行左右,该实时内核可以方便地移植到几乎所有的嵌入式应用类 CPU上。移植范例的源代码可以从因特网上下载。 该操作系统支持多达64 个任务,大部分嵌入式微处理器都支持 uC/OS- Nokia N系列 Symbian OS Moto A1200 Linux OS MPX220 Windows Mobile Dopod Windows Mobile 嵌入式操作系统的基本概念 操作系统的分类 嵌入式实时操作系统 前台与后台 多任务,任务优先级,调度 非占先式与占先式、可重入型函数 前后台系统(后台循环、前台中断) 多任务 一个任务,也称作一个线程,是一个简单的运行程序。每 个任务都是整个应用的某一部分,每个任务被赋予一定的 优先级, 有它自己的一套CPU寄存器和自己的栈空间。 多任务运行的实现实际上是靠CPU(中央处理单元)在许 多任务之间转换、调度。 CPU只有一个,轮番服务于一系列任务中的某一个。多任 务运行使CPU的利用率得到最大的发挥,并使应用程序模 块化。 在实际应用中,多任务的最大特点是,开发人员可以将很 复杂的应用程序层次化综合实验(时钟、位图、USB、 KEY)。 非占先式与占先式 非占先式(non-preemptive) 非占先式调度法也称作合作型多任(cooperative multitasking),各 个任务彼此合作共享一个CPU。 中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断 服务以后控制权还是回到原来被中断了的那个任务,直到改任务主动放 弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。 非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。运行 着的任务占有CPU,而不必担心被别的任务抢占。 非占先式内核的最大缺陷在于其响应高优先级的任务慢,任务已经进入 就绪态,但还不能运行,也许要等很时间,直到当前运行着的任务释放 CPU。内核的任务级响应时间是不确定的,不知道什么时候最高优先级 的任务才能拿到CPU的控制权,完全取决于应用程序什么时候释放CPU 。 非占先式(non-preemptive) 占先式(preemptive) 当系统响应时间很重要时,要使用占先(preemptive) 内核。最高优先级的任务一旦就绪,总能得到CPU的控制 权。 当一个运行着的任务使一个比它优先级高的任务进入了就 绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起 了,那个高优先级的任务立刻得到了CPU的控制权。 使用占先式内核时,应用程序不应直接使用不可重入型函 数。如果调入可重入型函数时,低优先级的任务CPU的使 用权被高优先级任务剥夺,不可重入型函数中的数据有可 能被破坏。 占先式(preemptive) 中断与中断优先级 同步与异步 一系列时间相关事件称为同步事件,驱动 的任务为同步任务 随机发生的事件称为异步事件,驱动的任 务为异步任务,如中断 系统内核(Kernel) 多任务系统中,内核负责管理各个任务, 或者说为每个任务分配CPU时间,并且负 责任务之间的通信。 内核提供的基本服务是任务切换。内核本 身也增加了应用程序的额外负荷,代码空 间增加ROM用量,内核本身的数据结构增 加了RAM的用量。内核本身对CPU的占用 时间一般在2到5个百分点之间。 调度(Dispatcher) 这是操作系统的主要职责之一,它决定该 轮到哪个任务运行了。 往往调度是基于优先级的,根据其重要不 同被赋予任务不同的优先级。CPU总是让 处在就绪态的优先级最高的任务先运行。 何时让高优先级任务掌握CP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 繁荣寄宿制小学2025年后勤工作计划
- 广东20252025学年高中学业水平测试数学试题
- 员工培训课件制作要点
- 胸膜炎的护理
- 酒店经理培训课件
- 护理正高答辩汇报
- 再就业技能培训
- 提升办公形象培训课件
- 急救重症护理学
- 雨雪天气安全生产教育
- 院感风险评估与管理
- 西师版三年级下册数学练习册思维拓展解决问题
- 软件开发项目进度管理
- CNAS-CL01-2018内审检查记录表
- 人口迁移-山海情 高一下学期人教版(2019)必修二
- ISO-13679-油套管接头试验评价技术介绍
- 2023年机电产物报价手册9分册18本
- 钢结构36米桁架吊装安全监理实施细则1
- 西铁城操作说明书
- 《危险化学品重大危险源监督管理暂行规定》解读
- 陪伴教育机器人简介演示
评论
0/150
提交评论