ARM Cortex-M3嵌入式开发及应用教与学 课件 第01章 嵌入式系统概述_第1页
ARM Cortex-M3嵌入式开发及应用教与学 课件 第01章 嵌入式系统概述_第2页
ARM Cortex-M3嵌入式开发及应用教与学 课件 第01章 嵌入式系统概述_第3页
ARM Cortex-M3嵌入式开发及应用教与学 课件 第01章 嵌入式系统概述_第4页
ARM Cortex-M3嵌入式开发及应用教与学 课件 第01章 嵌入式系统概述_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ARMCortex-M3嵌入式控制技术

——基于STM32F103RCT6

STM32F103硬件系统与KEILMDK工程第一章

嵌入式系统概述1嵌入式系统范例2嵌入式系统概念3ARM发展历程及应用领域4嵌入式操作系统5μC/OS-II与μC/OS-III6

小结1.1嵌入式系统范例普遍认可的嵌入式系统的定义是:“以应用为中心,以计算机技术为基础,软硬件可裁剪,满足应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统”4实例:饭水机的整个控制系统是一种典型的嵌入式系统,其核心是STM32F103RCT6等微控制器芯片,这里用STM32F103表示,通过各种外部设备和传感器实现饮水机的智能控制,如右图所示1.2嵌入式系统概念数字技术和软件技术是嵌入式系统的核心技术,其中,数字技术包括数字信号处理技术和数字化芯片技术,软件技术包括芯片级的程序设计技术和操作系统级的程序设计技术。嵌入式系统与ARM的关系广义上,凡是嵌入到应用系统中的电子系统都可以统称为嵌入式系统,即使是通用的计算机系统,如果被嵌入在特定的应用系统中,也可被称为嵌入式系统狭义上,嵌入式系统除了具有硬件和软件之外,还要求硬件系统具有体积小、重量轻、功耗低、成本低、可靠性高、可升级等特点,要求软件系统具有体积小、可裁剪性、健壮性、专用性、实时性等特点从狭义上讲,嵌入式系统硬件往往是以ARM芯片为核心的硬件平台,嵌入式系统软件为基于芯片级开发的无操作系统汇编或C语言实时性软件,或者是基于嵌入式实时操作系统开发的图形界面应用程序6嵌入式系统与ARM的关系ARM是指ARM公司设计的基于RISC(精简指令集计算机)架构的32位高性能微处理器,一般采用哈佛总线结构,具有高速指令缓存和数据缓存,指令长度固定且多级流水执行,具有MMU(存储器管理单元)和AMBA(高级微处理器总线结构)总线接口等狭义上,嵌入式系统除了具有硬件和软件之外,还要求硬件系统具有体积小、重量轻、功耗低、成本低、可靠性高、可升级等特点,要求软件系统具有体积小、可裁剪性、健壮性、专用性、实时性等特点7嵌入式系统与嵌入式操作系统的关系嵌入式操作系统也具有桌面操作系统的特点,即管理硬件资源、调度软件进程、处理软件中断等,嵌入式操作系统通常包括硬件驱动软件、系统内核、设备驱动接口、文件系统、图形界面、网络通信协议、USB驱动协议等。流行的嵌入式操作系统有:WindowsCE嵌入式LinuxµC/OS-IIVxWorks嵌入式系统是面向特定应用和环境、集成硬件和软件的单板机,嵌入式系统的硬件资源有限,突出地表现在其具有较小容量的RAM和ROM空间,通过外扩SD卡等存储介质扩展存储空间;直接基于ARM芯片开发的汇编或C语言实时性程序为嵌入式系统定制多任务、实时的嵌入式操作系统8嵌入式系统=ARM硬件系统+嵌入式操作系统+操作系统级应用软件系统嵌入式系统=ARM硬件系统+芯片级应用软件系统嵌入式系统研发特点9嵌入式系统研发需要具备电子类和软件类两方面的专门知识,是一门交叉组合型学科。嵌入式系统研发可分为四类:嵌入式系统的硬件平台设计,需要根据应用环境选择合适的ARM芯片,满足处理速度和存储深度的要求,同时,需要兼顾性价比和芯片特点与生存周期等因素基于ARM芯片的芯片级汇编或C语言程序设计,要求设计者对ARM芯片工作原理和内部结构有较好的认识和理解,这类程序包括系统初始化程序和特定功能的算法程序,需要对汇编语言和指令以及C语言编程有一定的基础嵌入式操作系统的定制和驱动程序的开发,这类研发已经完全商业化基于嵌入式操作系统开发用户应用程序,特别是开发具有良好图形界面的用户应用程序,是对设计者的一个挑战。基于不同的嵌入式操作系统,开发应用程序的方式有很大的不同1.3ARM发展历程及应用领域版本典型微处理器类型特点ARMv1~ARMv4(1990年ARM公司成立)已退市早期的版本中只有ARMv4,目前在某些ARM7和StrongARM处理器中可见,可以被视为32位寻址的32位指令集体系结构ARMv4T(1995年)ARM7TDMI、ARM7TDMI-S、ARM920T、ARM922T支持16位的Thumb指令集,比32位的ARM指令集节省约35%的存储空间ARMv5TE(1999年)ARM946E-S、ARM966E-S、ARM968E-S、ARM996HS增加了ARM与Thumb状态切换的指令,增强了DSP类型指令,尤其是在语音数字信号处理方面提高了70%以上的性能ARMv5TEJ(2000年)ARM7EJ-S、ARM926EJ-S、ARM1026EJ-S添加了Java加速技术ARMv6(2001年)ARM1176JZ(F)-S改进了异常处理,更好地支持多处理器指令,增加了支持SIMD(单指令多数据)的多媒体指令,对视频和音频解码性能提高近4倍ARMv6T2ARM1156T2(F)-S支持Thumb-2技术ARMv7Cortex-A8、Cortex-A9、Cortex-R4(F)支持NEON技术,使得DSP和多媒体处理性能提高4倍,支持向量浮点运算,为下一代3D图像和游戏硬件服务ARMv7-MCortex-M3优化了微控制器,低功耗ARM7TDMI内核结构ARM9微处理器系列ARM9E内核结构ARM10E微处理器系列ARM11内核结构1.4嵌入式操作系统14嵌入式操作系统是嵌入式系统的操作系统,通常被设计得非常紧凑有效,抛弃了运行在它们之上的特定应用程序所不需要的各种功能。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配和调度工作,控制协调并发活动,且能通过装卸某些软件模块以实现系统所要求的功能。实时系统是对逻辑和时序要求非常严格的系统,如果逻辑和时序出现偏差,将会引起严重后果。即实时系统是必须能在确定的时间内执行特定功能,并能对外部的异步事件做出响应的计算机系统,实时系统对响应时间有严格要求。实时多任务操作系统是指具有多任务调度和资源管理功能的实时系统,即所谓的嵌入式操作系统,它往往具有以下特点:实时性,即在确定的时间内执行特定功能和对中断做出响应。体积小,一般为几KB到几百KB。可裁剪,即嵌入式操作系统采用模块化设计,可根据需要选择特定的功能模块。健壮性,即具有极强的运行稳定性。可移植性,即可以运行于多种嵌入式系统平台上。可固化性,即嵌入式操作系统可固化在嵌入式系统的Flash芯片内。提供设备驱动和应用程序接口,即用户可以借助嵌入式操作系统使用和管理系统资源。提供图形用户界面和网络功能。有些嵌入式操作系统提供了友好的图形用户界面(GUI)和网络支持。WindowsCE优点:15具有美观的图形用户界面,而且该界面与桌面Windows系统一脉相承,使得操作直观简单。开发基于WindowsCE的应用程序相对简单,因为WindowsCE的API函数集是桌面Windows系统API函数的子集,熟悉桌面Windows程序设计的程序员可以很快地掌握WindowsCE应用程序的设计方法,所以,WindowsCE应用程序的开发成本较低。WindowsCE的文件管理功能非常强大,支持桌面Windows系统下的FAT、FAT32等文件系统。WindowsCE的可移植性较好。WindowsCE下的设备驱动程序开发相对容易。WindowsCE的电源管理功能较好,主要体现在WindowsPhone上。WindowsCE的进程管理和中断处理机制较好。WindowsCE支持桌面Windows系统的众多文档格式,例如Word和Excel等,这种兼容性方便桌面Windows用户在WindowsCE设备上处理文档和数据。VxWorks特点:16可靠性极高。VxWorks通过了Do-178B、ARINC653和IEC61508等平台严格的安全性验证,因而它主要应用于军事、航空、航天等对安全性和实时性要求极高的场合。稳定性和可靠性高是VxWorks最受欢迎的特点。实时性好。实时性是指能够在限定时间内执行完规定功能并对外部异步事件做出响应的能力。VxWorks系统实时性极好,系统本身开销很少,进程调度、进程间通信、中断处理等系统程序精炼有效,造成的任务切换延时很短,提供了优先级抢先式和时间片轮换方式多任务调度,使硬件系统发挥最好的实时性。例如,美国的F-16战斗机、B-2隐形轰炸机和爱国者导弹,甚至1997年的火星探测器上也使用了VxWorks系统。可裁剪性好。VxWorks内核只有8KB,其他系统模块可根据需要定制,使得VxWorks系统具有灵活的可裁剪性能,既可用于极小型单片系统,也可用于大规模网络系统。VxWorks的存储脚本(MemoryFootprint)可以指定系统运行内存空间大小(这里的存储脚本可理解为基于VxWorks的应用程序可执行代码)。开发环境友好。基于图形化的集成开发环境WindRiverStudio,可开展基于VxWorks和WindRiverLinux系统应用的工程开发。WindRiverStudio是一个完备的设计、调试、仿真和工程集成解决方案。嵌入式Linux特点:17嵌入式Linux是完全开源的,因此它广泛应用于高校教学。研究嵌入式Linux代码的专家、学者远比其他操作系统都多,而且Internet上的资源丰富,也有大量的图书、资料,使得学习Linux系统的代价最小。嵌入式Linux是免费的,不涉及任何版权和专利。这一点被商界所看重。因此,大部分嵌入式产品在初期都使用过嵌入式Linux版本。嵌入式Linux被很多团体和组织二次开发后,形成具有独立知识产权的嵌入式操作系统,所以,嵌入式Linux变种系统非常多,如WindRiverLinux和μCLinux等。嵌入式Linux与QT相结合,使嵌入式Linux具有良好的图形人机界面,甚至可以和WindowsCE相媲美,而且QT目前也是开源的。嵌入式Linux的移植能力强,不需要微控制器具有MMU功能,其变种形式几乎可应用于所有主流嵌入式系统中。嵌入式Linux对外设的驱动能力很强,驱动接口程序设计相对容易,网络上有大量常用设备的驱动代码可供参考借鉴。嵌入式Linux在内核、文件系统、网络支持等方面均有突出的特点。最新的Linux内核,具有200多万行源代码,可支持32个CPU,实时性显著提高(但严格意义上不是实时操作系统),采用了更有效的任务调度器,增加了对多种嵌入式处理器的支持,在多媒体和网络通信方面也有很大提高。1.5μC/OS-II特点:18μC/OS-II具有优秀的可移植性。μC/OS-II的绝大部分源代码由C语言写成,只有一小部分与处理器相关的移植代码使用汇编语言编写,汇编语言代码量压缩到最低限度。μC/OS-II系统可固化在嵌入式系统的Flash中。μC/OS-II系统可裁剪。通过μC/OS-II系统的OS_CFG.H配置文件可以有选择地使用μC/OS-II系统功能组件,μC/OS-II的可裁剪性是靠条件编译实现的。μC/OS-II系统是可抢先型的实时内核,即μC/OS-II总是执行所有处于就绪状态下优先级最高的任务。μC/OS-II系统提供了信号量、互斥信号量、事件标志组、消息邮箱、消息队列等多种服务组件,提供了用于时间管理和内存管理的函数,使用这些组件可方便地在任务间进行通信和同步。μC/OS-II系统具有很高的安全性和可靠性。1.5μC/OS-III特点:19μC/OS-III支持ARM7、ARM9、Cortex-M、Nios-II、PowerPC、Coldfire、Microblaze、SHx、M16C、M32C和Blackfin等微处理器。μC/OS-III支持无限多个任务,支持时间片轮换调度,不同任务的优先级可以相同,优先级号取值不受限制。由于μC/OS-I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论