版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1armarm嵌入式系统嵌入式系统主讲主讲 李宥谋李宥谋email:email:tel安邮电学院计算机系嵌入式教研室2009.82教材参考书参考书 arm嵌入式系统开发嵌入式系统开发:软件设计与优化软件设计与优化 ,作者:作者:andrew n.sloss 北京航空航天大学出版社北京航空航天大学出版社 arm嵌入式系统基础教程嵌入式系统基础教程周立功周立功 等编著等编著北京航空航天大学出版社北京航空航天大学出版社3 arm嵌入式系统实验指导嵌入式系统实验指导周立功周立功 等编等编写(北京航空航天大学出版社,)写(北京航空航天大学出版社,) 实验地点:计算机系嵌入式实验
2、室实验地点:计算机系嵌入式实验室 (2#实验楼实验楼3层)层)实验指导实验指导计划学时:计划学时:48学时学时其中:授课其中:授课40学时:实验学时:实验8学时,学时,实验内容,实验内容,ads环境环境2学时,学时,arm汇编汇编2学时,学时,gpio、定时器等、定时器等4 学时学时课内外比例:课内课内外比例:课内1:课外:课外1课程安课程安排排4考核要求l考试成绩(课堂教学内容)70l上机成绩(上机出勤及编程情况) 15l平时成绩(上课出勤及作业等学习情况) 1551.1. 预备铃响后必须进教室;预备铃响后必须进教室;2.2. 迟到的学生坐在第一排;迟到的学生坐在第一排; 3.3. 旷课旷课
3、4次平时分扣为零分;次平时分扣为零分; 4.4. 着装得体,不得穿拖鞋、背心进教室;着装得体,不得穿拖鞋、背心进教室; 5.5. 不准在教室吃东西,值日生要擦黑板。不准在教室吃东西,值日生要擦黑板。 6.6. 按时完成作业。按时完成作业。 课堂要求课堂要求6arm嵌入式系统嵌入式系统-课程介绍课程介绍嵌入式嵌入式:arm系列的体系结构系列的体系结构arm7arm7指令集及汇编程序设计指令集及汇编程序设计硬件接口电路原理硬件接口电路原理软件接口编程方法软件接口编程方法接口技术接口技术:7微机原理及嵌入式系统微机原理及嵌入式系统-网站资源网站资源larm公司网站公司网站http:/ (全面了解全面
4、了解) )数字逻辑数字逻辑l提供硬件基础提供硬件基础计算机组成原理计算机组成原理l确立计算机部件功能确立计算机部件功能l掌握计算机工作原理掌握计算机工作原理高级语言程序设计高级语言程序设计l熟悉熟悉c c语言程序设计的方法语言程序设计的方法l掌握基本程序设计思想掌握基本程序设计思想10arm嵌入式系统基础教程理论教材:arm嵌入式系统基础教程(第2版)实验教材: arm嵌入式系统实验教程软件:ads1.2、 c/os-ii等本课程主要内容:第1章:嵌入式系统概述,概念、组成、处理器以及os第2章:arm7体系结构与指令系统,risc、arm系列、寄存器、中断以及存储系统,第3章:寻址方式,ar
5、m指令集,嵌入式程序设计第4章: arm硬件结构与接口技术,引脚、存储器、控制模块、gpio、中断、定时器及各种接口,总线接口111.嵌入式系统2.嵌入式系统组成3.嵌入式处理器4.嵌入式操作系统嵌入式系统概述121.1 嵌入式系统1.1.1 现实中的嵌入式系统嵌入式系统的应用:工业自动化、国防、运输和航天领域嵌入式系统的应用:工业自动化、国防、运输和航天领域。 例如例如神州飞船和长征火箭中嵌入式系统,导弹的制导系统中的嵌入式系统,高档汽车中也有多达几十个嵌入式系统。 在日常生活在日常生活中,几乎所有带有一点“智能”的家电(全自动洗衣机、电脑电饭煲)都是嵌入式系统。 嵌入式系统广泛的适应能力和
6、多样性适应能力和多样性,使得视听、工作场所甚至健身设备中到处都有嵌入式系统。 嵌入式系统的诞生于微型计算机时代,随其诞生现代计算机嵌入式系统的诞生于微型计算机时代,随其诞生现代计算机领域中出现了领域中出现了通用计算机通用计算机与与嵌入式计算机嵌入式计算机的两大分支。的两大分支。 通用计算机:通用计算机:按照高速、海量的技术发展;按照高速、海量的技术发展; 嵌入式计算机系统:嵌入式计算机系统:则为满足对象系统嵌入式智能化控制则为满足对象系统嵌入式智能化控制要求发展。要求发展。13l现实中的嵌入式系统14 嵌入式技术无处不在q处理文档、进行工作管理和生产控制的计算机处理文档、进行工作管理和生产控制
7、的计算机q嵌入式技术的电子产品嵌入式技术的电子产品,如:,如:mp3、pda、手机、手机、智能玩具,网络家电、智能家电、车载电子设备智能玩具,网络家电、智能家电、车载电子设备等等q在工业和服务领域中在工业和服务领域中,大量嵌入式技术也已经应,大量嵌入式技术也已经应用于工业控制、数控机床、智能工具、工业机器用于工业控制、数控机床、智能工具、工业机器人、服务机器人等各个行业,正在逐渐改变着传人、服务机器人等各个行业,正在逐渐改变着传统的工业生产和服务方式统的工业生产和服务方式15l嵌入式系统示例汽车控制系统16马达控制器车灯l嵌入式系统示例汽车控制系统尾灯控制系统后车门控制系统前车门控制系统座椅控
8、制系统发动器控制系统所有的控制系统都是一个完整的嵌入式系统17消费电子消费电子嵌入式应用嵌入式应用信息家电信息家电智能玩具智能玩具军事电子军事电子通信设备通信设备移动存贮移动存贮工控设备工控设备智能仪表智能仪表汽车电子汽车电子网络设备网络设备工业工业军事国防军事国防电子商务电子商务网络网络嵌入式系统的应用领域18工业控制工业控制 、工业设备、工业设备q过去在工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统等方面,大部分低端型设备主要采用是位单片机。 q随着技术发展,目前许多设备除了进行实时控制,还须将设备状态,传感器的信息等在显示屏上实时显示。 需要性能更高的控制系统。1
9、9嵌入式系统应用领域信息家电q信息家电将成为嵌入式系统最大的应用领信息家电将成为嵌入式系统最大的应用领域。域。q只有按钮、开关的电器显然已经不能满足只有按钮、开关的电器显然已经不能满足人们的日常需求。人们的日常需求。q具有用户界面,能远程控制,智能管理的具有用户界面,能远程控制,智能管理的电器是未来的发展趋势,如冰箱、空调等电器是未来的发展趋势,如冰箱、空调等的网络化、智能化等。的网络化、智能化等。20嵌入式系统应用领域消费类电子21消费类电子智能玩具、手持通讯的核心22智能玩具与机器人23交通管理、环境监测q交通管理在车辆导航、流量控制、信息监测与汽车服务方面,目前gps设备已经从尖端产品进
10、入了普通百姓的家庭q水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,实时气象信息网,水源和空气污染监测。q加油站、停车场管理24嵌入式在嵌入式在internetinternet中的应用中的应用25军事国防领域26航天领域27嵌入性嵌入性:嵌入到对象体系中,有对象环境要求:嵌入到对象体系中,有对象环境要求专用性专用性:软、硬件按对象要求裁减:软、硬件按对象要求裁减计算机计算机:实现对象的智能化功能:实现对象的智能化功能q三要素:三要素:嵌入、专用、计算机嵌入、专用、计算机q嵌入式系统的特点嵌入式系统的特点:由三要素引出由三要素引出1.1.2 嵌入式系统的定义及特点根据根据ieee
11、(国际电气和电子工程师协会)的定义:国际电气和电子工程师协会)的定义:嵌入式系统是嵌入式系统是“用于控制、监视或者辅助操作机器用于控制、监视或者辅助操作机器和设备的装置和设备的装置”(原文为(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。)。简单讲,就是嵌入到对象体中的专用计算机系统。简单讲,就是嵌入到对象体中的专用计算机系统。28l嵌入式系统的概念 目前,对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理定义: 从技术的角度定
12、义从技术的角度定义:以应用为中心、以计算机以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。用计算机系统。从系统的角度定义从系统的角度定义:嵌入式系统是设计完成复嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。计算机系统。29嵌入式系统的历史单片机模式和计算机模式30l嵌入式系统的相关技术与发展趋势l互联网的普及l半导体技术的改善l3c(compute,communicat
13、ion,consumerelectronic )技术的快速融合l使用者的需求l信息服务应用生活化相关技术:多学科交叉, 计算机、电子技术、微电子技术、集成电路设计等31未来嵌入式系统的发展趋势321.嵌入式系统2. 嵌入式系统组成3.嵌入式处理器4.嵌入式操作系统嵌入式系统概述331.2 嵌入式系统的组成微处理器、外围硬件、嵌入式操作系统、应用程序以及开发环境(软件分3层:hw/fm/ap ,hw硬件驱动或接口操作;fm中间层;ap应用层)34外围硬件外围硬件: 嵌入式系统处理器以外的硬件,为系统提供运行嵌入式系统处理器以外的硬件,为系统提供运行条件条件(时钟和电源部件时钟和电源部件)和部分功
14、能和部分功能(内存、各种通讯端口等内存、各种通讯端口等)。1.2 嵌入式系统的组成微处理器:微处理器:是嵌入式系统的核心。嵌入式微是嵌入式系统的核心。嵌入式微处理器一般都具有较高的集成度。处理器一般都具有较高的集成度。嵌入式操作系统嵌入式操作系统::为应用程序提供必要运行环境(任务调为应用程序提供必要运行环境(任务调度),附加任务通讯、内存管理等功能。度),附加任务通讯、内存管理等功能。需移植和配置方可需移植和配置方可使用。使用。嵌入式应用程序:嵌入式应用程序:在没有操作系统的情况下,嵌入式的应用在没有操作系统的情况下,嵌入式的应用程序需要直接访问寄存器或者设备的地址来操作硬件。程序需要直接访
15、问寄存器或者设备的地址来操作硬件。开发环境:开发环境:开发过程中起着至关重要的作用,并不是嵌入式开发过程中起着至关重要的作用,并不是嵌入式系统产品系统产品的一部分,不同嵌入式系统开发环境不同。的一部分,不同嵌入式系统开发环境不同。351.3 嵌入式处理器 嵌入式处理器分为以下几大类:嵌入式微处理器;嵌入式微控制器;嵌入式dsp处理器;嵌入式片上系统(soc)。嵌入式处理器按应用分:注重嵌入式处理器的尺寸、能耗和价格。应用于pda等不注重计算的设备;注重嵌入式处理器的性能。应用于路由器等计算密集型的设备;注重嵌入式处理器的性能、尺寸、能耗和价格。应用于蜂窝电话等设备;36l嵌入式微处理器(emp
16、u) embeded microprocessor unit(empu) ,在应用中,为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。 嵌入式微处理器优点嵌入式微处理器优点:体积小、重量轻、成本低、可靠性高,但是在电路板上必须包括rom、ram、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。cpuromram外设1外设2单板计算机单板计算机37l嵌入式微控制器(microcontroller unit, m
17、cu) 嵌入式微控制器又称,一般以某一种微处理器内核为核心,芯片内部集成rom/eprom、ram、总线、总线逻辑、定时/计数器、watchdog、i/o、串行口、脉宽调制输出、a/d、d/a、flash ram、eeprom等各种必要功能和外设。 微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称。 嵌入式微控制器种类多,括8051、p51xa、mcs-251、mcs-96/196/296、c166/167、mc68hc05/11/12/16、68300、数目众多arm芯片等。目前mcu占嵌入式系统约70的市场份额。复位部件看门狗部件晶振部件i/o部件
18、中断部件rom部件sram部件定时器部件cpu核38l嵌入式dsp处理器(数字信号处理) dsp处理器对系统结构和指令进行了特殊设计,使其适合于执行dsp算法,编译效率较高,指令执行速度也较高。在数字滤波、fft、谱分析等方面dsp算法正在大量进入嵌入式领域,dsp应用正从在通用单片机中以普通指令实现dsp功能,过渡到采用嵌入式dsp处理器。 嵌入式dsp处理器比较有代表性的产品是texas ,如dsp56000,dsp56100,dsp56200和dsp56300等。philips公司近年也推出了基于可重置嵌入式dsp结构低成本、低功耗技术上制造的r. e. a. l dsp处理器,39l嵌
19、入式片上系统(system on chip, soc )随着eda的推广和vlsi设计的普及化及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,即soc,除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去。应用系统变得简洁,对于减小体积和功耗、提高可靠性非常有利。 soc可以分为通用和专用两类。通用系列包括infineon的tricore、motorola的m-core、某些arm系列器件等。专用soc一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是philips的smart xa,它将xa单片机内核和支持超过2048 位复杂rs
20、a算法的ccu单元制作在一块硅片上,形成一个可加载java或c语言的专用的soc,可用于公众互联网如internet安全方面。soc 下一步向片上网络(片上网络(network on chip,noc)发展 401.嵌入式系统2.嵌入式系统组成3.嵌入式处理器4.嵌入式操作系统嵌入式系统概述411.4 嵌入式操作系统l概述 计算机系统由硬件和软件组成,初期初期没有操作系统这个概念,用户使用监控程序来使用计算机。 随着计算机技术的发展,计算机系统的硬件、软件资源也愈来愈丰富,监控程序监控程序已不能适应计算机应用的要求。 于是在六十年代中期监控程序又进一步发展形成了操作系统(operating s
21、ystem)。发展到现在,广泛使用的有三种操作系统三种操作系统:多道批处理操作系统分时操作系统实时操作系统421.4 嵌入式操作系统监监控控程程序序操操作作系系统统实时操作系统实时操作系统分时操作系统分时操作系统多道批处理操作系统多道批处理操作系统 时时 间间 先先 后后 适用于多个用户共享系统资适用于多个用户共享系统资源源适用于计算中心等较大的计适用于计算中心等较大的计算机系统算机系统适用于嵌入式设备和有实时适用于嵌入式设备和有实时性要求的系统中性要求的系统中实时操作系统是我们实时操作系统是我们介绍的重点介绍的重点431.4 嵌入式操作系统l实时操作系统的特点 ieee 的实时unix分委会
22、认为实时操作系统应具备以下的几点: 异步的事件响应 (随机性)切换时间和中断延迟时间确定 优先级中断和调度 抢占式调度 (高优先级任务可抢占cpu)内存锁定 (将程序或部分程序锁定在内存)连续文件 (把数据存储在连续的文件上)同步 (协调执行)44实时操作系统的特点实时操作系统的特点实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强调的是实时性、可靠性和灵活性, 与实时应用软件相结合成为有机的整体起着核心作用, 由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。 从实时系统的应用特点来看实时操作系统可以分为两种:。 45实时操作系统的特点实时
23、操作系统的特点 应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境。 应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境不一致。嵌入式实时操作系统具有规模小(一般在几k几十k 内)、 可固化使用实时性强(在毫秒或微秒数量级上)的特点 。461.4 嵌入式操作系统l基本概念对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。后台系统:后台系统:循环中调用相应的函数完成相应的操作,属于任务级;前台系统:前台系统:中断或异步事件,属于中断级; 很多基于微处理器的产品采用前
24、后台系统设计,例如微波炉、电话机、玩具等。在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断服务来完成。前后台系统前后台系统47l基本概念 中断服务程中断服务程序处理异步事件,序处理异步事件,这部分可以看成这部分可以看成前台行为前台行为,前台,前台也叫中断级。时也叫中断级。时间相关性很强的间相关性很强的关键操作一定是关键操作一定是靠中断服务程序靠中断服务程序来保证的。来保证的。 循环中调用循环中调用相应的函数完成相应的函数完成相应的操作,这相应的操作,这部分可以看成部分可以看成后后台行为台行为,后台也,后台也可以叫做任务级。可以叫做任务级。这种系统在处理这
25、种系统在处理的及时性上比实的及时性上比实际可以做到的要际可以做到的要差。差。 isrisrisrisr后台后台前台前台中断服务程序中断服务程序时时间间前后台系统481.4 嵌入式操作系统l基本概念操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动,提高资源利用率;提高资源利用率;操作系统提供用户接口,方便用户使用;方便用户使用;操作系统为用户扩展新的系统功能提供软件平台。 操作系统硬件硬件驱动操作系统用户程序491.4 嵌入式操作系统l基本概念实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于rtos之上的各个任
26、务,rtos根据各个任务的要求,进进行资源管理行资源管理(包括包括cpu、存储器、外设等、存储器、外设等) 、消息管、消息管理、任务调度、异常处理等工作。理、任务调度、异常处理等工作。在rtos支持的系统中, 每个任务均有一个优先级,rtos根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。 实时操作系统(实时操作系统(real time operating system, rtos)501.4 嵌入式操作系统l基本概念多任务系统中,内核负责管理各个任务,内核负责管理各个任务,为每个任务分配cpu时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应
27、用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如25的cpu运行时间、ram和rom等。 内核提供必不可少的系统服务,如信号量、消息队列、延时等。内核511.4 嵌入式操作系统l基本概念调度是内核的主要职责之一。调度就是决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。多数实时内核是基于优先级调度法的。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法基于优先级的调度法指cpu总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握cpu的使用权,有两种不同的情况,这要看用的是什么类型的内核,
28、是非占先式的还是占先式的内核。 调度521.4 嵌入式操作系统非占先式内核要求每个任务自我放弃非占先式内核要求每个任务自我放弃cpu 的的所有权。所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个cpu。不按优先级安排。非占先式内核当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到cpu的控制权。按优先级安排。占先式内核531.4 嵌入式操作系统任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。 任务优先级中断是一种硬件机制,用于通知c
29、pu有个异步事件发生了。中断一旦被识别,cpu保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(isr)。中断服务子程序做事件处理,处理完成后,程序回到:1. 在前后台系统中,程序回到后台程序;2. 对非占先式内核而言,程序回到被中断了的任务;3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。中断54前后台系统1.4 嵌入式操作系统中断isr任务isr非占先操作系统任务a任务b任务cisr占先操作系统任务a任务b任务c551.4 嵌入式操作系统时钟节拍是特定的周期性中断。可看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在10ms
30、到200ms之间。时钟节拍率越快,系统的额外开销就越大。时钟节拍l使用实时操作系统的必要性嵌入式实时操作系统在功能复杂、系统庞大的应用中显得愈来愈重要。在嵌入式应用中,只有把cpu嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。使用实时操作系统主要有以下几个因素:嵌入式实时操作系统提高了系统的可靠性。 提高了开发效率,缩短了开发周期。 嵌入式实时操作系统发挥了32位cpu的多任务潜力。 561.4 嵌入式操作系统l实时操作系统的优缺点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模
31、块,简化了设计;对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。:但是,使用嵌入式实时操作系统还需要额外的rom/ram开销,25%的cpu额外负荷,以及内核的费用。 57 uclinux是一个完全符合gnu/gpl公约的操作系统,完全开放代码。uclinux从linux 2.0/2.4内核派生而来,沿袭了主流linux的绝大部分特性。它是专门针对没有mmu的cpu,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(memory manage unit, mmu)的处理器,例如arm7tdmi。它通常用于具
32、有很少内存或flash的嵌入式系统。它保留了linux的大部分优点:。 1.4 嵌入式操作系统l常见的嵌入式操作系统嵌入式linux581.4 嵌入式操作系统l常见的嵌入式操作系统 是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作,它是精简的windows 95。windows ce的图形用户界面相当出色。win ce具有模块化、结构化和基于win32应用程序接口以及与处理器无关等特点。win ce不仅继承了传统的windows图形界面,并且在win ce平台上可以使用windows 95/98上的编程工具(如visual basic、visual c+等
33、)、 win ce591.4 嵌入式操作系统l常见的嵌入式操作系统vxworks vxworks操作系统是美国 公司于1983年设计开发的一种嵌入式实时操作系统(rtos),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等,甚至在1997年4月登陆火星表面的火星探测器上也使用到了vxworks。该系统价格较贵。601.4 嵌入式操作系统l常见的嵌入式操作系统 c/os-i
34、i是一个源码公开、可移植、可固化、源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。可裁剪、占先式的实时多任务操作系统。其绝大部分源码是用ansi c写的,使其可以方便的移植并支持大多数类型的处理器。c/os-ii通过了联邦航空局(faa)商用航行器认证。自1992年问世以来,c/os-ii已经被应用到数以百计的产品中。c/os-ii占用很少的系统资源,并且在高校教学使用是不需要申请许可证。c/os-ii作业:第一章 思考与练习 2,3,461 嵌入式系统软硬件基本结构应用程序实时操作系统(rtos)输入输出接口处理器/arm核mmu/cachesoc/sopcusbgpioiis
35、lcduart和irdaadc/dacfpga/cplddsp/浮点运算协处理器dma电源管理 典型的嵌入式系统组成典型的嵌入式系统组成人机交互接口lcd/触摸屏、键盘、鼠标设备驱动程序、hal、bsp文件系统/图形用户应用程序接口驱动层os层应用层软件硬件以太网看门狗及复位电路timer/rtccanflasheepromsdramsram内存返回返回62嵌入式系统组成对比计算机组成lembedded system嵌入式系统lhardware硬件l处理器:mcumpudspsocl保存固件的romflashl运行程序时保存数据的raml外设(显示lcd简易键盘传感器adda扩展卡)lsoft
36、warel固件(硬件和上层操作系统 及程序的接口)lbsp(board support packet亦为bootloader)loperate system (linuxwinceucossymbianvxworks)l应用软件(tcp/ip协议栈)lcomputer systeml硬件lintelamdl硬盘l内存l显示器键盘声卡显卡lsoftwarelbioslwindowslunixl应用软件(如office)63嵌入式系统主要特点l在硬件上,嵌入式系统至少拥有一个高性能处理器作为硬件平台(目前以32位处理器为主流),如arm、mips等处理器。l在软件上,嵌入式系统拥有一个多任务操作系
37、统为软件系统平台,如linux、wince、c/osii、vxwork、 palm os、windows mobile 、symbian等。 symbian os(中文译音“塞班系统”)由诺基亚、索尼爱立信、摩托罗拉、西门子等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。现已被nokia全额收购。 641.arm简介2.arm7tdmi3.arm的模块、内核和功能框图4.arm处理器状态5.arm处理器模式arm7体系结构6.arm内部寄存器7.当前程序状态寄存器8.arm体系的异常、中断及其向量表9.arm体系的存储系统65冯冯诺依曼体系结构模型诺依曼体系结构模型指
38、令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器存储器存储器程序程序指令指令0 0指令指令1 1指令指令2 2指令指令3 3指令指令4 4数据数据数据数据0 0数据数据1 1数据数据2 266哈佛体系结构哈佛体系结构指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器程序存储器程序存储器指令指令0指令指令1指令指令2数据存储器数据存储器数据数据0数据数据1数据数据2地址地址指令指令地址地址数据数据67cisc和和risccisccisc:复杂指令集(:复杂指令集(complex instruction set computerc
39、omplex instruction set computer)具有大量的指令和寻址方式具有大量的指令和寻址方式8/28/2原则:原则:80%80%的程序只使用的程序只使用20%20%的指令的指令大多数程序只使用少量的指令就能够运行。大多数程序只使用少量的指令就能够运行。riscrisc:精简指令集(:精简指令集(reduced instruction set computer)reduced instruction set computer)在通道中只包含最有用的指令在通道中只包含最有用的指令确保数据通道快速执行每一条指令确保数据通道快速执行每一条指令使使cpucpu硬件结构设计变得更为简单
40、硬件结构设计变得更为简单 682.1 arm简介larm公司简介 arm是advanced risc machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的risc 处理器。arm公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和oem(original equipment manufacturer,原始设备生产商)厂商,并提供服务。oem:定牌生产合作,俗称“贴牌”。 这种委托他人生产的合作方式即为oem,承接这加工任务的制造商就被称为oem厂商,其生产的产品就是oem产品。 69arm授权费iparm 创造和设计ippar
41、tner产品,例如:芯片partner把arm ip 和其他 ip 集成进产品oem customer版权费单价oem 用来自arm partner的芯片设计制造最终用户产品业务拓展 / 市场格局armarm的业务模型的业务模型702.1 arm简介larm公司简介将技术授权给其它芯片厂商形成各具特色的形成各具特色的armarm芯片芯片. . .712.1 arm简介lrisc结构特性两种体系结构:cisc (complex instruction set computer),即“复杂指令系统计算机 pc机系列; riscrisc (reduced instruction set comput
42、er)是精简指令集计算机的缩写,其目标是设计出在高时钟频率下设计出在高时钟频率下单周期执行,简单而有效的指令集单周期执行,简单而有效的指令集。arm内核采用risc体系结构,因此具有risc的结构特点:具有大量的通用存储器;具有大量的通用存储器;独特的装载独特的装载/ /保存(保存(load-storeload-store)结构;)结构;简单的寻址模式简单的寻址模式; ;统一和固定长度的指令格式。统一和固定长度的指令格式。722.1 arm简介 为了使arm能够更好地满足嵌入式应用的需要,arm体系结构还有以下特点:每条数据处理指令可同时包含算术逻辑单元(alu)的运算和移位处理,实现alu和
43、移位器的最大利用;使用地址自增和自减地址自增和自减的寻址方式优化程序循环;装载装载/ /保存保存指令对数据的批量传输,实现最大数据吞吐量;多数指令的依条件执行,实现最快速的代码执行。larm体系结构732.1 arm简介l常用arm处理器系列 arm公司开发了很多系列的arm处理器核,目前最新的系列是cortex,而arm6核以及更早的系列已经很罕见了。当前应用比较多的arm处理器核系列有:arm7arm9arm10exscalearm11cortexarm9e本课程主要介绍arm7系列。74arm内核分类与系列1994-2004年发布的年发布的arm内核内核752.1 arm简介分类处理器内
44、核处理器内核 内核分类内核分类arm7 arm7dmi(-s) arm720t arm7ej-sarm9 arm920t arm922tarm9e arm926ej-s arm946e-s arm966e-s arm968e-sarm10e arm1020e arm1022e arm1026ej-s处理器内核处理器内核内核分类内核分类arm11 arm1136j(f)-s arm1156t2(f)-s arm1176jz(f)-ssecurcore sc100 sc110 sc200 sc210strong armxscale762.1 arm简介larm cortex系列简介 基于armv7
45、版本的arm cortex系列产品由a、r、m三个系列组成,具体分类延续了一直以来arm面向具体应用设计cpu的思路。 arm cortexa应用处理器(application processor)系列 r实时控制处理(real time control )系列m微控制器(micro controller )系列772.1 arm简介lcortextm-m3处理器简介(针对低端市场) 该处理器是首款基于armv7-m架构的处理器,采用了纯thumb2指令的执行方式,具有极高的运算能力和中断相应能力。 cortex-m3主要应用于汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用
46、领域。lcortextm-r4处理器简介 该处理器是首款基于armv7架构的高级嵌入式处理器,其主要目标为产量巨大的高级嵌入式应用系统,如硬盘,喷墨式打印机,以及汽车安全系统等等。lcortextm-r4f处理器简介 该处理器在cortextm-r4处理器的基础上加入了代码错误校正(ecc)技术,浮点运算单元(fpu)以及dma综合配置的能力,增强了处理器在存储器保护单元、缓存、紧密耦合存储器、dma访问以及调试方面的能力。782.1 arm简介lcortextm-a8处理器简介 该处理器是arm公司所开发的基于基于armv7armv7架构架构的首款应用级处理器,其特色是运用了可增加代码密度和
47、加强性能的技术、可支持多媒体以及信号处理能力的neontm技术、以及能够支持java和其他文字代码语言的提前和即时编译的jazellertc技术。众多先进的技术使其适用于家电以及电子行业等各种高端的应用领域。larm7系列简介 该系列包括arm7tdmi、arm7tdmi-s、带有高速缓存处理器宏单元的arm720t和扩充了jazelle(java加速器)的arm7ej-s。该系列处理器提供thumb 16位压缩指令集和embededice软件调试方式,适用于更大规模的soc设计中。arm7系列广泛应用于多媒体和嵌入式设备,包括internet设备、网络和调制解调器设备,以及移动电话、pda等
48、无线设备。792.1 arm简介 该系列包括arm9tdmi、arm920t和带有高速缓存处理器宏单元的arm940t。除了兼容arm7系列,而且能够更加灵活的设计。arm9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域。larm9系列简介 该系列为含有dsp指令集的综合处理器,包括arm926ej-s、带有高速缓存处理器宏单元的arm966e-s/arm946e-s。其内核在arm7处理器内核的基础上使用了jazelle增强技术,该技术支持一种新的java操作状态,允许在硬件中执行java字节码。arm9e系列主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络
49、设备等领域。larm9e系列简介802.1 arm简介larm10e系列简介 该系列包括arm1020e和arm1020e处理器核,其核心在于使用向量浮点(vfp)单元vfp10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。 可以用于视频游戏机和高性能打印机等场合。lxscale简介 intel xscale微控制器则提供全性能、高性价比、低功耗的解决方案,支持16位thumb指令并集成数字信号处理(dsp)指令。 主要应用于手提式通讯和消费电子类设备。811.arm简介2.arm7tdmi3.arm的模块、内核和功能框图4.arm处理器状态5.arm处理器模式arm7体
50、系结构6.arm内部寄存器7.当前程序状态寄存器8.arm体系的异常、中断及其向量表9.arm体系的存储系统822.2 arm7tdmil简介 arm7tdmi是基于arm体系结构v4版本的低端arm核。 其弥补了arm6很难在低于5v电压下稳定工作的不足,还增加了后缀所对应的功能:注意:“arm核”并非芯片,arm核与其它部件如ram、rom、片内外设组合在一起才能构成现实的芯片。arm7tdmi-s支持高密度16位的thumb指令集;支持片上调试;支持64位乘法;支持embededice观察硬件;arm7tdmi 的可综合(synthesizable)版本(软核),对应用工程师来说其编程模
51、型与arm7tdmi 一致;83命名的含义标志含义说明t支持thumb指令集thumb指令集版本1:armv4tthumb指令集版本2:armv5tthumb-2:armv6td片上调试m支持长乘法32位乘32位得到64位,32位的乘加得到64位iembedded iceedsp指令增加了dsp算法处理器指令:16位乘加指令,饱和的带符号数的加减法,双字数据操作,cache预取指令jjava加速器jazelle提高java代码的运行速度s可综合提供vhdl或verilog语言设计文件842.2 arm7tdmil存储器的字与半字从偶数地址开始的连续2个字节构成一个半字;以能被4整除的地址开始的
52、连续4个字节构成一个字;arm指令的长度刚好是一个字,thumb指令的长度刚好是一个半字。852.2 arm7tdmi 如果一个数据是从偶地址开始的连续存储,那么它就是半字对齐,否则就是非半字对齐; 如果一个数据是以能被4整除的地址开始的连续存储,那么它就是字对齐,否则就是非字对齐。方式方式半字对齐半字对齐字对齐字对齐地址地址0 x40020 x40020 x40040 x40040 x40040 x40040 x40080 x4008特征特征bit0=0bit0=0其他位为任意值其他位为任意值bit1=0,bit0=0bit1=0,bit0=0其他位为任意值其他位为任意值l存储器的存储方式8
53、62.2 arm7tdmil三级流水线 arm处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9mips/mhz的指令执行速度。 arm7tdmi的流水线分3级,分别为:取指译码执行取指译码执行处理指令并将结果写回寄存器识别将要被执行的指令从寄存器装载一条指令正常操作过程中,在执行一条指令的同时对下一条(第二条)指令进行译码,并将第三条指令从存储器中取出。 在arm状态下,流水线上各指令的地址为: 在thumb状态下,流水线上各指令的地址为:pcpc-4pc-8pcpc-2pc-4872.2 arm7tdmil三级流水线结构的指令执行
54、顺序pc指令1指令2指令3指令4程序存储器pc-4pc-8pc+4周期1周期2周期3周期4周期5周期6取指 译码 执行取指 译码 执行取指 译码 执行取指 译码 执行周期周期2周期周期1周期周期3周期周期4 在第1个周期,pc指向指令1,此时指令1进入三级流水线的取指阶段。1 在第2个周期,pc指向指令2,此时指令1进入三级流水线的译码阶段,同时取出指令2。2 在第3个周期,pc指向指令3,此时指令1进入三级流水线的执行阶段,指令2进入译码阶段,取出指令3。3 在第4个周期,指令1执行完成,指令2和指令3流水线推进一级,同时开始指令4的取指处理。4处理器执行一条指令的三个阶段88 执行add
55、pc,pc,#4指令后,pc的值为多少?2.2 arm7tdmil思考题add pc,pc,#40 x40000 x40040 x40080 x400c地址指令pc取指译码执行pcpc-4pc-8arm7的3级流水线add 程序计数器r15(pc)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或“正在译码”的指令。 一般来说,人们习惯性约定将“正在执行”的指令作为参考点,则:pc值当前程序执行位置8 注:arm状态时,每条指令为4字节长。 pc指向0 x4000地址,取指add指令。 pc指向0 x4004地址,译码add指令。 pc指向0 x4008地址,执行add指令,所以指令执
56、行的结果为: pc=pc+40 x400840 x400c。891.arm简介2.arm7tdmi3.arm的模块、内核和功能框图4.arm处理器状态5.arm处理器模式arm7体系结构6.arm内部寄存器7.当前程序状态寄存器8.arm体系的异常、中断及其向量表9.arm体系的存储系统90cpu扫描链1扫描链1数据总线数据总线扫描链1扫描链2协处理器信号接口embeddedice-rttap 控制器embeddedice-rt宏单元dbgtckendbgtmsdbgntrstdbgtdidbgtdordata31:0wdata31:0addr31:0trans1:0prot1:0size1:
57、0writelockdbgrng(0)dbgrng(1)dbgext(1)dbgext(0)2.3 arm模块框图cpu协处理接口信号embedice硬件仿真功能模块片上调试系统读写总线912.3 arm内核框图地址寄存器寄存器组31*32位寄存器(6个状态寄存器)地址增加器乘法器桶形移位器32位alu写数据寄存器指令管线读数据寄存器thumb指令译码器指令译码和控制逻辑addr31:0clkclencfgbigendnirqnfiqnresetabortlockwritesize1:0prot1:0trans1:0dbg输出dbg输入cp控制cp握手wdata31:0rdata31:0扫描调
58、试控制922.3 arm功能框图arm7tdmi-s处理器lockclkclkennirqnfiqnresetcfgbigenddbgrqdmoredbginstrvailddbgbreakdbgackdbgnexecdbgext1dbgext0dbgendbgcommtxdbgcommrxdbgrng0dbgrng1dbgtckendbgtmsdbgtdidbgntrstdbgtdodbgntdoenaddr31:0wdata31:0rdata31:0abortwritesize1:0prot1:0trans1:0cpntranscpnopccpnmreqcpseqcptbitcpnicpa
59、cpb同步的扫描调试访问接口存储器接口存储器管理接口协处理器接口时钟中断总线控制仲裁调试931.arm简介2.arm7tdmi3.arm的模块、内核和功能框图4.arm处理器状态5.arm处理器模式arm7体系结构6.arm内部寄存器7.当前程序状态寄存器8.arm体系的异常、中断及其向量表9.arm体系的存储系统942.4 arm处理器状态l处理器状态 arm7tdmi处理器内核包含2套指令系统,分别为arm指令集和thumb指令,并且各自对应1种处理器的状态:arm状态:32位,处理器执行字方式的arm指令,处理器默认为此状态;thumb状态:16位,处理器执行半字方式的thumb指令。注
60、意:注意:两个状态之间的切换并不影响处理器模式或寄存器内容。952.4 arm处理器状态l状态切换的一个例子地址最低位为0,表示切换到arm状态 使用bx指令将arm内核的操作状态在arm状态和thumb状态之间进行切换。arm指令集thumb指令集code32ldrr0, =lable+1bx r0code16lable mov r1, #12code16ldr r0, =lablebx r0code32lablemov r1, #10地址最低位为1,表示切换到thumb状态跳转地址标号执行完bx指令,处理器切换到thumb状态,开始执行thumb指令程序代码指令集关系 从arm状态切换到t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年下半年黄山市屯溪区事业单位公开招聘工作人员22名笔试模拟试题及答案详解
- 2026年安徽省芜湖市工会人员招聘考试备考题库及答案详解
- 2025~2026学年山东济宁市邹城市度第二学期期中教学质量检测高二政治试卷
- 2026年泰安市泰山区工会人员招聘笔试备考题库及答案详解
- 2026年青海省工会人员招聘笔试备考试题及答案详解
- 2026年深圳市宝安区街道办人员招聘考试参考题库及答案详解
- 2026年中小学英语教师招聘考试专业知识专项训练
- 2025年双鸭山市四方台区工会人员招聘笔试试题及答案详解
- 2026年陕西空天超算中心有限公司招聘(12人)笔试模拟试题及答案详解
- 2026陕西延安市第一中学招聘教师6人考试备考题库及答案详解
- 2025年水利云播五大员考试题库(含答案)
- 中小企业财务管理实务操作指南
- 企业人力资源共享服务
- 常规理化检测培训课件
- GB/T 13814-2025镍及镍合金焊条
- 采购内部审计管理办法
- T/CCSAS 024-2023化工企业设备及管线打开作业实施指南
- DL∕T 1379-2014 电力调度数据网设备测试规范
- SL-T+291-2020水利水电工程钻探规程
- 2024年湖北农谷实业集团有限责任公司招聘笔试冲刺题(带答案解析)
- 电梯维保方案完整版
评论
0/150
提交评论