资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,STM32F10x,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,嵌入式系统原理与应用,嵌入式系统的基本概念,ARM,微处理器,ARM Cortex,系列,微处理器,STM32,系列,微处理器,1.1,1.2,1.3,1.4,第一章绪论,1.1,嵌入式系统的基本概念,1、,定义,2,、,组成,3,、,特点,4、,分类,嵌入式处理器,5,、嵌入式,操作系统,手持的,MP3,1、定义,嵌入,到对象体系内部的,专用,计算机系统,称为,嵌入式系统,工业控制系统,火星探测器,2,、组成,MPU,电源,模块,时钟,复位,Flash,RAM,ROM,USB,LCD,Keyboard,外围电路,Other,外设,(,1,)嵌入式系统,硬件组成,嵌入式 微 处 理 器,(,2,)嵌入式系统,组成,一般有以下五个(四个)部分组成,嵌入式微处理器,外围硬件设备,硬件,软件,实现对其它设备的控制、监视、管理等功能,(驱动程序 ),(,可选,),嵌入式操作系统,(,可选,),应用程序,操作系统,应用程序,嵌入式系统组成,驱动程序,底层硬件,软 件 组 成,(,),组成:由嵌入式微处理器、外围硬件设备、嵌入式操作系统(可选)和用户的应用程序等部分组成。,嵌入式系统一般是,专用,系统,而,PC,是通用计算平台,嵌入式系统的,资源,比,PC,少得多,嵌入式系统,可靠性,要求高,故障带来的后果比,PC,机大得多,嵌入式系统大都有,成本,、,功耗、体积,的要求,嵌入式系统一般采用,实时,操作系统,3,、特点:,-,嵌入式系统与,PC,之间的区别,4、分类,按,实时性,要求分:,(软件范畴),非实时系统(,PDA,,Personal Digital Assistant,個人數字助理,),软实时系统(消费类产品),硬实时系统(工业和军工系统),两种类型的实时系统,软实时系统:,不要求限定某一任务必须在一定的时间内完成,只要求各任务运行得越快越好;,硬实时系统:,对系统响应时间有严格要求,一旦系统响应时间不能满足,就可能会引起系统崩溃或致命的错误,一般在工业控制中应用较多。,5,、嵌入式操作系统,1,、,uC/OS-II,2,、,嵌入式,Linux,3,、,Windows CE,4,、,VxWorks,5,、,Nucleus,几种最常见的,RTOS,(,Real Time Operation System,),软实时,RTOS,嵌入式,Linux,Win CE,硬实时,RTOS,VxWorks,OSE,Nuclear,著名的,open RTOS,ucOS/II,RTEMS,自主知识产权的,RTOS,HOPEN,Delta OS,嵌入式处理器,嵌入式处理器可以分为三类:,嵌入式,微控制器,(MCU,,即,Micro Controller Unit,):,又称单片机,将,CPU,、,存储器(少量的,RAM,、,ROM,或两者都有)和其它外设封装在同一片集成电路里。常见的有,80,C51,系列单片机等,。,嵌入式,数字信号处理器,(DSP,即,Digital Signal Processor,):,专门用来对离散时间信号进行极快的处理计算,提高编译效率和执行速度。在数字滤波、,FFT,、,谱分析、图像处理的分析等领域,,DSP,正在大量进入嵌入式市场。,嵌入式,微处理器(,MPU,,,即,Micro Processor Unit,):它是专用的,CPU,不同于,通用计算机的,CPU,。,在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器主要包括:,ARM,、,PowerPC,、,Motorola 68000,系列等。,1.2 ARM,微处理器,1.2,.2 ARM,分类,1.2,.1,ARM,简介,1.2,.3 ARM,体系结构,的发展,1.2,.4 ARM,与单片机的,主要区别,ARM,(,Advanced RISC Machines,):,既可以认为是一个,公司,的,名字,,,也可以认为是对,一类,微处理器,的,通称,,,还可以认为是一种,技术,的,名字,。,1991,年,ARM,公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,基于,ARM,技术的微处理器应用约占据了,32,位,RISC,微处理器,70,以上的市场份额。,ARM,公司是专门从事基于,RISC,技术,的芯片设计开发公司。,1.2,.1,ARM,简介,RISC,的三个要素是:,(1),一个,有限的,简单的,指令集,;,(2) CPU,配备,大量的,通用,寄存器,;,(3),强调对,指令流水线,的,优化,。,RISC,的目标,:,不是简单地 缩减指令系统。 而是使处理器的,结构,更,简单,, 具有,更快,的处理,速度,。,RISC CPU,一定,是,流水,CPU,,但流水,CPU,不一定是,RISC CPU,。,例如,:,意法半导体公司,: STM32F103,TI,公司,(,原,Luminary Micro,公司,),:,LM3S811,ATMEL,公司,: ATSAM3U,NXP公司(恩智浦半导体),公司,: LPC1768,Cortex-M3,内,核,另外也提供基于ARM架构的开发设计技术,,软件工具, 调试工具,应用软件, 评估板, 总线架构, 外围设备单元,等等,。,Realview MDK,集成开发环境,:,源自,Keil,公司,(现在已经被,ARM,公司收购),,是,ARM,公司最新推出的,针对各种嵌入式处理器的软件开发工具。它包括大家非常熟悉的,uVision4,集成开发环境,和,RealView,编译器。,ARM,合作伙伴,正中间,是和,ARM,公司合作最紧密的公司,它们都是一些大的半导体公司,也是,ARM,公司最直接的客户,比如,ST,、,TI,、,IBM、OKI、MOTOROLA、SHARP、PHILIPS,等等,旁边这四个角,分别是技术共享计划合作伙伴、开发工具合作伙伴、软件应用合作伙伴、操作系统合作伙伴。这是比较早期的一个图片,很多公司都没有出现在这上面,实际上,ARM,公司的合作伙伴类型和数量都远远不止这些。,S3C2410, S3C2440,1.2,.2 ARM,分类,1.2,.3 ARM,体系结构的发展,5,、,ARMv5,体系结构,2,、,ARMv2,体系结构,3,、,ARMv3,体系结构,4,、,ARMv4,体系结构,:,1,、,ARMv1,体系结构,6,、,ARMv6,体系结构,7,、,ARMv7,体系结构,1.2,.3 ARM,体系结构的发展,5,、,ARMv5,体系结构:,提升了,ARM,和,Thumb,指令的交互工作能力。,2,、,ARMv2,体系结构,3,、,ARMv3,体系结构,4,、,ARMv4,体系结构:,加入了半字存储操作。,1,、,ARMv1,体系结构,6,、,ARMv6,体系结构:,增加了媒体指令,7,、,ARMv7,体系结构:定义了三种独立的内核,: A,(应用领域)、,R,(实时领域)、,M,(控制领域),ARM,系列 与,ARM,体系结构 对照表:,ARM,系列,ARM,体系结构,ARM7,ARMv,4T,(ARMv4,的改进版,),ARM9,ARMv,4T,(ARMv4,的改进版,),ARM9E,ARMv,5,ARM10E,ARMv,5,ARM11,ARMv6,ARM Cortex,ARMv7,注意:,ARM7,系列不是采用,ARMv7,的体系结构,不要混淆!,ARM7,和,ARMv7,,两者不是一回事。,1.2,.4 ARM,与单片机的主要区别,6.,体系结构复杂,底层硬件,应用软件,底层硬件,驱动程序,操作系统,应用软件,ARM,嵌入式系统,单片机,上面的单片机:就是指通常说的单片机。,上面的,ARM,:指可装复杂操作系统的,ARM,例如,ARM9,,,CORTEX-A8,单片机和 嵌入式系统的关系:,单片机是嵌入式系统的一类,,某些嵌入式系统可是单片机,例如,ARM-Cortex M3,是单片机。,1.3 ARM,Cortex,系列,微处理器,1.3.1,分类,1.3.2,优势,1.3.3,性能,ARM Cortex,系列 微处理器:,分为,A,/,R,/,M,三大系列,,即,Cortex-A,、,Cortex-R,、,Cortex-M,三类。,1.3.1,分类,Cortex-,A,:,应用,(,A,pplication),处理器,系列,专门为,复杂,操作系统与使用者应用所开发。(强调的是应用,建立在复杂操作系统上的应用),Cortex-,R,:,支持各种,实时(,R,eal time,)系统的嵌入式处理器,Cortex-,M,:,针对,微控制器,(,M,CU,)和低成本所设计的嵌入式处理器。正是由于其面向控制,,其操作系统能力很弱,,仅仅支持,UCOS,等简易操作系统,和,linux,的简化版,uclinux,等。,1.3.2,优势,Cortex,的优势应该在于,低功耗,、,低成本,、,高性能,的结合。,Cortex-M3,简写作,CM3,Cortex-M3,性能,体系结构,ARMv7-M,存储结构,哈佛结构,指令集,面向,C,语言设计的,Thumb-2,指令集,最大限度降低汇编语言的使用,流水线,3,级流水线,+,分支预测,Dhrystone,(整数运算),1.25 DMIPS/MHz,功耗,0.19mW,/,MHZ,增强的指令,单周期,(32x32),乘法,和,硬件,除法,(,2-12,个周期)。,采用,时钟门控技术,和内置,睡眠模式,,适于低功耗的领域,1.3.3,性能,Simplicity of Cortex-M3 versus ARM7,ASM,C Files,ARM,Thumb,ARM,Thumb,Linker,ARM,ARM,Thumb,Thumb,ARM7 Objects,C Files,Linker,Thumb2,Cortex-M3 Objects,Cortex-M3 designed to be fully programmed in C: even reset, interrupts and exceptions,1.4,STM32系列,微控制器,1.4.1 STM32系列微控制器,简介,1.4.2 STM32,F,系列微控制器,分类,1.4.5 STM32,F103CB,微控制器,1.4.6 STM32系列微控制器,应用,1.4.3 STM32,F10x,系列微控制器,系统结构,1.4.4 STM32,F10x,系列微控制器,存储器组织,ST,M,32系列微控制器:是由意法半导体公司(,ST,M,icroelectronics,)以ARM,Cortex-M3,为内核开发生产的,32位,微控制器(单片机)。,意法半导体(,ST,)集团于,1987,年,6,月成立,是由意大利的,S,GS,微电子公司和法国,T,homson,半导体公司合并而成。,1998,年,5,月,,S,GS-,T,HOMSON Microelectronics,将公司名称改为意法半导体有限公司(,ST,Microelectronics,)。,意法半导体有限公司,(STMicroelectronics),是全球独立的,半导体,公司,并成为各种,微电子,应用系列开发和转让芯片级解决方案的领导者。,1.4.1 STM32系列微控制器 简介,意法半导体公司(,ST,M,icroelectronics,),32位,微控制器(单片机),STM32系列微控制器:基于,ARM Cortex-M3,内核。,STM32,F,系列是,STM32系列的基础, F:指,通用,类型。,超值型系列STM32F100xx,基本型系列STM32F101xx,USB基本型系列STM32F102xx,增强型,系列STM32F,103,xx,互联型,系列STM32F105/,107,xx,1.4.2 STM32,F,系列微控制器 分类,STM32F系列包括,五个产品线,,满足工业、医疗和消费电子市场的各种应用需求。( 以下五个产品线之间引脚、外设和软件兼容):,STM32F系列 图解,1.4.3 STM32,F10x,系列微控制器 系统结构,系统结构图, 四个驱动单元:,Cortex-M3,内核的,DCode,总线,(D-bus),系统总线,(S-bus),通用,DMA1,总线, 通用,DMA2,总线,四个被动单元, 内部,SRAM,内部闪存存储器接口(,FL,ITF,:,FL,ash,I,n,T,er,F,ace,),FSMC (,F,lexible,s,tatic,m,emory,c,ontroller,灵活的静态存储器控制器,), AHB,到,APBx,的桥,(AHB2APBx),,它连接所有的,APB,设备,在小容量、中容量和 大容量产品中,主系统由以下部分构成:,ICode,总线,该总线将,Cortex-M3,内核的,指令总线,与,闪存指令接口,相连接。,指令预取,在此总线上完成。,DCode,总线,该总线将,Cortex-M3,内核的,DCode,总线,与,闪存,存储器的,数据接口,相连接,(,常量加载和调试访问,),。,系统总线,此总线连接,Cortex-M3,内核的,系统总线,(,外设总线,),到,总线矩阵,DMA,总线,此总线将,DMA,的,AHB,主控接口,与,总线矩阵,相联。,总线矩阵,包含,4,个驱动部件,(DCode,总线、系统总线、,DMA1,总线和,DMA2,总线,),和,4,个被动部件,(,闪存存储器接口,(FLITF),、,SRAM,、,FSMC,和,AHB2APBx,桥,),。,AHB/APB,桥,(APB),两个,AHB/APB,桥在,AHB,和,2,个,APB,总线,间提供同步连接。,APB1,操作速度限于,36MHz,,,APB2,操作于全速,(,最高,72MHz),。,MCS-51,单片机 内部逻辑结构 如下:,控制器,运算器,并行输入输出,并行输入输出,内部,RAM,ROM,定时计数器,中断,串行,1.4.4 STM32,F10x,系列微控制器 存储器组织,4G,字节的寻址空间,地址范围:,0x0000 0000-0xffff ffff,1.,空间,共分为,8,块,:,block0,block7,,每块,512M,0x1fff ffff,2.,组成结构,外设寄存器组,(,PERIPHERALS,),-,包括输入输出端口,数据存储器,(SRAM),程序存储器,(CODE),-,详见,stm32,的,数据手册,APB1,APB2,AHB,0x4001 0000,0x4002 0000,0x4000 0000,3.,数据存储器格式,以,小端格式,(,Little End,),存放在存储器中,(,一个字里的最低地址字节被认为是该字的最低有效字节,而最高地址字节是最高有效字节。,),1.4.5 STM32,F103CB,微控制器,STM32,系列微控制器,本身就是一个高级单片机,它不可怕。,编程:进行,STM32,的编程,与单片机不同,它有一个固件库。所谓固件库,实际上就是一大堆用,C,语言所写的标准的函数(接口,-,与底层硬件的接口,),我们写程序的时候只要去调用它,即可实现对底层硬件的操作。用,C,语言,取代汇编语言对底层硬件进行操作。,实际上,固件库就是一个程序模板,利用该模板,在此基础上进行修改,即可快速地得到所用的程序,。该固件库使得用户在没有深入学习外围模块规格手册的情况下,也能够使用任何在用户应用中涉及到的设备。因此,使用该固件库可以节省您的许多时间,让您有更多的时间花费在编程方面,从而减少了在应用开发中的综合开销。,1.4.6 STM32系列微控制器 应用,用于汽车控制系统,-,汽车控制系统解析,STM32系列微控制器 各类,应用,作业:,1,、,简述嵌入式系统、,ARM,微处理器、,ARM Cortex,系列微处理器、,STM32,系列微处理器之间的关系。,2,、总结本章所学的知识 和 学习体会。,
展开阅读全文