【嵌入式开发】嵌入式概念 Embedded
Start:关注本公众号后,可直接联系后台获取排版美化的详细文档!
Hints:本篇文章所编纂的资料均来自网络,特此感谢参与奉献的有关人员。
嵌入式系统:
嵌入式系统的发展:
第一阶段:
以单芯片为核心的可编程控制器系统,同时具有检测、伺服、指示设备相配合的功能。
第二阶段:
以嵌入式中央处理器为基础,以简单操作系统为核心的嵌入式系统。
第三阶段:
以嵌入式操作系统为标志的嵌入式系统。
第四阶段:
以基于网络操作为标志的嵌入式系统,这是一个正在迅速发展的阶段。
嵌入式系统的组成:
-嵌入式系统硬件组成:
1嵌入式处理器包括:嵌入式微处理器(MPU)、微控制器(MCU)、数字信号处理器(DSP)。
2外围电路包括:各式存储器(RAM、ROM、FLASH),时钟电路,各种I/O接口电路,调试接口(JTAG、BDM等)。
3外部设备包括:存储卡(CF、SD卡)、LCD屏、触摸屏、手写笔、键盘等。
-嵌入式系统软件组成:
嵌入式系统设计步骤:
嵌入式存储器
嵌入式存储器的主要类型:
触发器(Flip-Flops and Latches)、寄存器(Register Files)、静态随机访问存储器(SRAM)、动态随机访问存储器(DRAM)、闪速存储器(FLASH)、磁盘(Magnetic Disk)等
嵌入式处理器
嵌入式处理器的基本概念:
嵌入式系统的核心部件是嵌入式处理器。
如MCS-51、PIC、AVR、ARM、DSP等
-ARM
-PowerPC
-MIPS
-Xscale
-DSP
-X86
嵌入式处理器的主要类型:
-嵌入式微处理器 EMPU
嵌入式微处理器的基础是通用计算机中的CPU
嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。如STD-BUS、PC104等
流行的嵌入式微处理器:
ARM/Strong (ARM公司)
PowerPC 、68000 (MOTOROLA公司)
MIPS(MIPS公司)
-嵌入式微控制器 MCU
以某一种微处理器内核为核心,内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、PWM、A/D、D/A、Flash、EEPROM等必要功能和外设。嵌入式微控制器又称单片机,有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300、数目众多ARM芯片等。
ARM7和ARM9的区别(3、5流水线)
流行的嵌入式微控制器:
通用系列:MCS-51,MCS-96/196/296
半通用系列:支持I2C,CAN BUS及众多专用MCU和兼容系列
-数字信号微处理器 DSP
在数字滤波、FFT、谱分析等方面,DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。有代表性的产品是Texas Instruments的TMS320系列、Motorola的DSP56000系列。TMS320包括用于控制的C2000系列、移动通信的C5000系列、性能更高的C6000和C8000系列。DSP56000目前已经发展成为DSP56000、56100、56200、56300等几个不同系列。
数字信号处理器(DSP)(4流水线)
应用领域:
-数字滤波
-频谱分析 FFT
流行的嵌入式DSP:
-TMS320C2000系列(TI)
-MCS-296(Intel)
-嵌入式片上系统SOC
在一个硅片上实现一个更为复杂的系统的时代已来临,这就是System OnChip(SOC)。SoC可以分为通用和专用两类。通用系列包括Infineon的TriCore、Motorola的M-Core、某些ARM系列器件、Echelon和Motorola联合研制的Neuron芯片等。专用SoC一般专用于某个或某类系统中,不为一般用户所知。
流行的SOC:
-Smart XA (Philips)
-可编程片上系统(SOPC—Nios2)
用可编程逻辑技术把整个系统放到一块硅片上,称作SOPC。
嵌入式处理器的选择因素:
性能、尺寸、能耗、价格
▉ 经济性(成本)
▉ 微型化(封装、功耗)
▉ 智能化(功能、速度)
嵌入式操作系统
操作系统的主要类型:
嵌入式操作系统的分类:
按表现形式分(硬件范畴) :
◆ 芯片级嵌入(含程序或算法的处理器)
◆ 模块级嵌入(系统中的某个核心模块)
◆ 系统级嵌入
按实时性要求分(软件范畴) :
◆ 非实时系统(PDA)
◆ 软实时系统(消费类产品)
◆ 硬实时系统(工业和军工系统)
嵌入式操作系统具有操作系统的最基本的功能:
进程调度(没有虚拟内存的管理)
内存管理、 设备管理、文件管理中断管理
系统功能接口(API调用,如网络功能) 、设备驱动
实时操作系统类型:
-一般实时操作系统
-嵌入式实时操作系统RTOS
嵌入式实时操作系统概念:
实时操作系统RTOS:
-RTOS是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中,每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求
RTIOS下,可以分别编写各个任务,不必同时将所有任务运行的各种可能记在心中,减少工作量,减少出错,保证高可靠性
-实时多任务操作系统,以分时方式运行多个任务,任务之间的切换以优先级为根据
-只有优先服务方式的RTOS才是真正的实时操作系统
-时间分片方式和协作方式的RTOS并不是真正的“实时”
代码的临界区
也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。为保证临界区代码的执行,进入临界区之前要关中断,执行完成后要立即开中断
资源
程序运行时可使用的软、硬件环境。可以是IO设备、也可以是一个变量、一个结构、一个数组
共享资源
可以被一个以上任务使用的资源。为防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫互斥
任务
也称为线程,是一个简单的程序,该程序可以认为CPU完全属于该程序本身。实时应用程序的设计过程,包括如何把问题分割成多个任务,赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间
任务切换
当多任务内核决定运行另外的任务时,保存正在运行任务的当前状态(CPU寄存器中的全部内容),保存在任务的当前状态保存区(任务自己的栈),入栈工作完成后,把下一任务的当前状态从任务的栈中重新装入CPU寄存器,开始下一任务的执行。任务切换增加了应用程序的额外负荷。CPU寄存器越多,额外负荷越重。任务切换所需时间取决于CPU有多少寄存器要入栈
内核
内核负责管理各个任务,为每个任务分配CPU时间,负责任务间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如2%~5%的CPU运行时间、RAM和ROM等。内核提供必不可少的系统服务,如信号量、消息队列、延时等
调度
是内核的主要职责之一。决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先级。基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核
任务优先级
任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态
中断
中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序(中断服务子程序ISR)。中断服务子程序做事件处理,处理完成后,程序回到:
1.在前后台系统中,程序回到后台程序
2.对非占先式内核而言,程序回到被中断了的任务
3.对占先式内核而言,让进入就绪态的优先级最高的任务开始运行
时钟节拍
-时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动
-中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间
-时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据
-时钟节拍率越快,系统的额外开销就越大
嵌入式操作系统类型:
Linux
uC/OS
Windows CE
VxWorks
Palm OS
Symbian
-微(μ)控制(C)领域Linux系统
是一个完全符合通用公共许可证(GNU/GPL)公约的操作系统,完全开放代码。专门针对没有内存管理单元(MMU)的CPU,且为嵌入式系统做了许多小型化的工作。适于没有虚拟内存或MMU处理器,如ARM7TDMI。通常用于具有很少内存或Flash的嵌入式系统
-Windows CE
基于掌上型电脑类的电子设备操作系统,精简的Windows 95。
-VxWorks操作系统
广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等,甚至火星探测器
-μC/OS-II
可移植、可固化、可裁剪、占先式的实时多任务操作系统
嵌入式上位机
嵌入式系统的内核结构:
嵌入式系统与PC机:
参考资料
softbox(ucos-ii.com)
http://www.ucos-ii.com/
公众号二维码
End:如果有兴趣了解量化交易、数据分析和互联网+的实用技术,欢迎关注本公众号