嵌入式系统:具有专属功能的计算机系统
1.基本概述
常用的嵌入式操作系统:
1.Android
2.FreeRTOS
3.Ubuntu/Debian Linux
4.uCOS-II/III
嵌入式系统的可移植性
嵌入式操作系统需要在不同的微处理器中,因此,需要将微处理器外围的嵌入式硬件抽象处理,形成标准的接口函数或接口文件,便于嵌入式操作系统的.
嵌入式系统的软件架构如下所示:
应用软件
嵌入式操作系统
OEM层/硬件抽象层/BSP(板级支持包)/CSP(芯片支持包)/硬件驱动
嵌入式硬件
嵌入式操作系统的实时性的实现:
1.中断资源(硬件中断)
2.操作系统的实时调度
实时操作系统
必须在已知的时间内完成关键操作;
关键操作:操作系统调用,中断处理等;
操作系统的特点:
根据应用需求进行软硬件的裁剪和配置;
有实时性的要求,要求与外部传感器的数据采集,交换和实时响应;
软硬件资源受到严格控制,通常具有小型化,轻量化,低功耗和低成本的要求;
2.一个MCU的组成:
1.内核(微处理器)Cortex-M3/M4微处理器,其都是基于ARMv7M/ME架构设计的处理器;
不同的内核架构的主要区别在于两点:1.指令集架构,包括指令集,编程模型,调试方法;2.微架构,包括设计实现的技术细节,接口信号,指令执行时序,流水线设计等等!
该架构同时支持Thumb指令集和Thumb2指令集(16位和32位混合长度的指令集);该类型的处理器都是32位处理器,主要体现在总线支持32位数据传输和寄存器位32位;
ARMv7M/ME 架构 支持Thumb 和Tunmb-2指令集,和NVIC(嵌套向量中断控制) 和WIC;设计出了SC300, Cortex-M3和 Cortex-M4内核架构;芯片公司拿到ARM公司的授权后,可进行基于Cortex-M4内核架构(三级流水线设计,总线设计,调试接口等),设计出相应的Cotex-M4内核等;再在此内核的基础上,加入内存(RAM,ROM,SRAM),系统模块(定时器,看门狗),通信接口模块(USART,IIC,SPI,CAN),调试接口(JTAG等),其余的模块(AES,ECC等等模块),最终形成了一块MCU(Micro controller Unit)微控制器;Cortex-M4内核只是 Micro Computer Unit 微处理器;
ARMv4T 架构 支持ARM 32-Bit ISA指令集和Thumb 16-Bit ISA指令集,基于此架构,设计出了SC100内核或者ARM7TDMI内核架构;
指令集架构:微处理器是依靠“指令”来进行计算和控制系统的,“指令”是微处理器能够直接识别的底层机器编码。 微处理器在设计时规定了一系列与其硬件电路相配合的“指令系统”,我们称之为“指令集”或者“指令架构”(Instruction Set Architecture (ISA))
指令集架构时计算机体系结构中与程序设计相关的部分,它包含了一系列的“机器指令”,基本数据类型,寄存器,寻址模式,存储体系,中断和异常处理等内容;
常见的指令集架构:X86 和ARM
X86 :Intel公司主导的,目前个人计算机等通用计算机系统的主流指令集架构;复杂指令集;
ARM架构:由ARM公司主导,时嵌入式市场上的主流指令集架构;(ARM公司出售 内核IP的授权,而由其他公司进行内核的实现)
微处理器的指令集架构可以分为以下三类:
复杂指令集(Complex Instruction Set Computer ,CISC)是通过设置一些 功能复杂的指令,把一些原本由软件实现的,常用功能改成用硬件的指令系统来实现,以此提高计算机的执行速度;但是指令复杂后,其灵活性也变低,执行的效率反而变低;
精简指令集(Reduced Instruction Set Computer,RISC)简化计算机指令功能,使指令的平均执行周期减少,从而提高计算机工作的频率;例如ARM架构,POWER ISA架构(Power PC)等;MIPS架构;
RISC特点:指令数目少,指令采用相同的字节长度;
寻址简化,大部分使用寄存器寻址方式;
主要采用寄存器间的数据操作;
简化处理结构,特别是控制器的设计;
使用处理器并行技术,流水线,超流水线;
Thumb 是一种16位的指令集模式;
Thumb2 支持16位和32位混合的指令集模式;
超长指令字指令集(Very Long Instruction Word,VLIW) 将多条指令放在一个指令字来实现指令级并行处理,从而提高计算运行效率;常用于信号处理,多媒体处理等DSP处理中被大量应用;
AMBA片上总线架构(Advanced Microcontroller Bus Architecture:高级微处理器总线架构),ARM架构下系统芯片设计中采用的总线架构,常说的AHB,ASB等都是指这种总线架构; AHB或者ASB将CUP与DMA总线,片上RAM,ROM等链接在一起,通过一个APB Bridge与APB总线连接,APB总线上链接了比如USART,Timer,PIO等外设!
哈佛总线架构:哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,支持指令和数据的同时存取;
1.使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;
2.具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;
冯.诺依曼架构的计算机是将程序指令集和数据存储在同一个内存空间的不同的物理地址上!
3.科普
NFC:Near Field Communication 近场通信 短距离高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输 通信距离10cm以内
NFC技术由RFID技术演变而来,RFID是 Radio Frequency Identification 的缩写。其原理为阅读器与标签之间进行非接触式的数据通信,达到识别目标的目的
Radio Frequency Identification :无线电频率识别