二、基本概念

上传人:油条 文档编号:2783891 上传时间:2017-07-27 格式:PPT 页数:103 大小:16.68MB
返回 下载 相关 举报
二、基本概念_第1页
第1页 / 共103页
二、基本概念_第2页
第2页 / 共103页
二、基本概念_第3页
第3页 / 共103页
二、基本概念_第4页
第4页 / 共103页
二、基本概念_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《二、基本概念》由会员分享,可在线阅读,更多相关《二、基本概念(103页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统设计与实例开发ARM与C/OS-第二讲 基本概念及设计方法北京航空航天大学嵌入式机电控制研究室,本节提要,1,3,2,4,关于课程与大作业的说明,嵌入式系统软硬件基础,嵌入式系统设计方法,一个嵌入式设计方法实例,一、基于实验平台(C/OS+ARM),完成一个嵌入式小游戏,如搬运工、贪吃蛇等(难度等级:EASY)。二、基于实验平台,完成C/OS到ARM的移植,并完成一个嵌入式游戏(难度等级:MIDDLE)。三、基于实验平台,完成CLinux到ARM上的移植,并完成一个嵌入式应用程序(难度等级:HARD)。说明:以上3个题目可根据自己TEAM的基础和条件选做,或者自己拟定题目,但一定要先

2、经过任课教师同意。,大作业题目,一、TEAM:3-4人一组,10月20日之前提交大作业任务计划书(格式自拟),包括以下内容(题目,设计目标,提交物,开发进度,任务分工);二、选题:要根据TEAM的实际情况,结合兴趣,重质量不重难度;三、提交:12月29日之前,提交设计说明书,包括代码、流程、演示结果;四、评分标准:完成质量-5、技术难度-3、其他(进度、协作等)-2,评选3组优秀奖;五、设备使用:TEAM借用,保管完好,用后归还。,大作业的要求,关于本课程的说明,一、期望值嵌入式系统是一类实用技术,本门课程以介绍实用开发技术为主,重点为动手实践,不会涉及到复杂的嵌入式系统建模、调度算法等理论知

3、识;由于只有32个课时,而嵌入式系统涉及知识面又非常广,本门课程的目的是介绍大家“入门”;要想深入了解和学习,大家需要付出更多的时间和努力。二、其他嵌入式的应用领域非常广阔,即使我们目前的平台,也可以开发出各种应用:如游戏、MP3、智能手机平台等;大家如果没有时间或没有兴趣完成大作业,建议退课;完成大作业时,发扬TEAM的团队精神和协作精神,培养自已解决问题的能力。,课程与实验设置,课程设置(围绕完成大作业所需要的知识展开)嵌入式软硬件开发环境简介(3)ARM微处理器体系结构与指令集(6)C /OS操作系统分析与移植(6)ARM+ C /OS系统软硬应用设计(6)Linux系统及其在ARM上的

4、移植(6)实验设置熟悉基本开发环境及软硬件平台C /OS在ARM上的移植实验交通管制信号灯模拟实验I/O接口模拟电子画板实验触摸屏应用Linux开发环境实验,本节提要,1,3,2,4,关于课程与大作业的说明,嵌入式系统软硬件基础,嵌入式系统设计方法,一个嵌入式设计方法实例,嵌入式系统的软/硬件框架,冯诺依曼体系结构和哈佛体系结构CISC与RISCIP 核流水线存储器系统,嵌入式系统硬件基础,冯诺依曼体系结构模型,指令寄存器,控制器,数据通道,输入,输出,中央处理器,存储器,程序,指令0,指令1,指令2,指令3,指令4,数据,数据0,数据1,数据2,哈佛体系结构,指令寄存器,控制器,数据通道,输

5、入,输出,中央处理器,程序存储器,指令0,指令1,指令2,数据存储器,数据0,数据1,数据2,地址,指令,地址,数据,CISC和RISC,CISC:复杂指令集(Complex Instruction Set Computer)具有大量的指令和寻址方式;8/2原则:80%的程序只使用20%的指令;大多数程序只使用少量的指令就能够运行。,RISC:精简指令集(Reduced Instruction Set Computer)在通道中只包含最有用的指令;确保数据通道快速执行每一条指令;使CPU硬件结构设计变得更为简单。,CISC与RISC的数据通道,IF,ID,REG,ALU,MEM,开始,退出,I

6、F,ID,ALU,MEM,REG,微操作通道,开始,退出,单通数据通道,CISC与RISC的对比,知识产权核(IP核, intellectual property),识产权知识产权(IP) 电路或核是设计好并经过验证的集成电路功能单元。IP复用意味着设计代价降低(时间,价格)。 IP核的类别:微处理器微处理器: ARM, PowerPC;存储器存储器: RAM, memory controller;外设: PCI, DMA controller;多媒体处理: MPEG/JPEG ;encoder/decoder ;数字信号处理器(DSP); 通信: Ethernet controller, r

7、outer。,IP核的种类,Soft Cores(“code”)(软核)HDL语言描述;灵活度高,可修改;与工艺独立,可根据具体的加工工艺重新综合;IP很难保护。Firm cores(“code+structure”)(固核)逻辑综合后的描述;与工艺相关。Hard cores(“physical”)(硬核)物理综合后的描述;准备流片;包含工艺相关的布局和时序信息;IP很容易保护。多数的处理器和存储器,IP核的商业模型,三种模式1.设计者提供设计和工具的许可证DSP Group (Pine and Oak Cores), 3Soft, ARM。 提供包括HDL在内的模拟模型,工具或仿真器。使用者

8、负责设计制造。2.核厂商设计并制造集成电路芯片TI, Motorola, Lucent。VLSI, SSI, Cirrus, Adaptec。3.核厂商卖核, 负责为客户设计并制造芯片LSI logic, TI, Lucent。,IP核的市场构成,74% 为硬件设计厂商。26% 将购买IP 核。40% hard, 68% soft, 32% firm。,ARM的IP核,固化宏单元(硬核)ARM920TARM7TDMIARM720TARM1022E,可综合内核(软核)ARM926EJ-SARM7TDMI-SARM1026EJ-S,测试芯片ARM10200E,流水线技术,流水线技术:几个指令可以并

9、行执行。提高了CPU的运行效率。内部信息流要求通畅流动。,译码,取指,执行add,译码,取指,执行sub,译码,取指,执行cmp,时间,Add,Sub,Cmp,指令流水线以ARM为例,为增加处理器指令流的速度,ARM7 系列使用3级流水线。允许多个操作同时处理,比逐条指令执行要快。 PC指向正被取指的指令,而非正在执行的指令。,Fetch,Decode,Execute,从存储器中读取指令,解码指令,寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank ),PCPC,PC - 4PC-2,PC - 8PC - 4,ARMThumb,最佳流水线,该例中用6个时钟周期执行了6条指令

10、。所有的操作都在寄存器中(单周期执行)。指令周期数 (CPI) = 1。,操作,周期,1 2 3 45 6,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Decode,Execute,Fetch,Decode,Fetch,Fetch,LDR 流水线举例,该例中,用6周期执行了4条指令指令周期数 (CPI) = 1.5,周期,操作,123456,Fetch,Decode,Execute,Fetch,Decode,Execute,Fet

11、ch,Decode,Execute,Data,Writeback,Fetch,Decode,Execute,Fetch,Decode,Fetch,分支流水线举例,流水线被阻断。注意:内核运行在ARM状态。,周期,1 2 3 4 5,地址 操作,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Fetch,Fetch,Decode,Execute,Linkret,Adjust,Fetch,Decode,Fetch,存储器系统,RAM:随机存取存储器, SRAM:静态随机存储器, DRAM:动态随机存储器。 SRAM比DRAM快。 SRA

12、M比DRAM耗电多。 DRAM存储密度比SRAM高得多。 DRM需要周期性刷新。ROM:只读存储器。FLASH:闪存。,输入输出接口,I/OA/D、D/A键盘LCD存储器接口设备接口,嵌入式系统软件基础,操作系统的分类嵌入式实时操作系统前台与后台多任务,任务优先级,调度非占先式与占先式、可重入型函数,操作系统的分类,(1)顺序执行系统:系统内只含有一个程序,独占CPU的运行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如DOS操作系统。(2)分时操作系统:系统内同时可以有多个程序运行,把CPU的时间按顺序分成若干片,每个时间片内执行不同的程序,如UNIX。(3)实时操作系统:

13、系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任务才能占有CPU的控制权。,按实时性分类,强实时系统,其系统响应时间在毫秒或微秒级(数控机床)。一般实时系统,其系统响应时间在毫秒到几秒的数量级上,其实时性的要求比强实时系统要差一些(媒体播放)。弱实时系统,其系统响应时间约为数十秒或更长。,1.循环轮询系统:(Polling Loop)最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条件,一旦条件成立就进行相应的处理。Initialize()While(true) if(condition_1) action_1(); if(condition_2) action_2()

14、; if(condition_n) acition_n();,按软件结构分类,2.事件驱动系统:(Event-Driven system)事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可以看成前台行为(foreground)。后台也可以叫做任务级,前台也叫中断级。例如,很多基于微处理器的产品采用前后台系统设计,如微波炉、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中

15、断服务来完成。,前后台系统(后台循环、前台中断),ISR,ISR,后台 前台,ISR,时间,代码的临界区也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打断。在进入临界区之前要关中断,而临界区代码执行完以后要立即开中断(在任务切换时,地址、指令、数据等寄存器堆栈保护)。,代码的临界区,多任务(任务、进程和线程),一个任务,也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级, 有它自己的一套CPU寄存器和自己的栈空间。多任务运行的实现实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。 CPU只有一个,轮番服务于一系列任务中的某一个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。在实际应用中,多任务的最大特点是,开发人员可以将很复杂的应用程序层次化,如综合实验(时钟、位图、USB、KEY)。,

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

当前位置:首页 > 行业资料 > 其它行业文档

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