嵌入式系统是一种计算机系统,由硬件系统和软件系统组成
嵌入式硬件以芯片、模板、组件、控制器形式埋藏于设备内部。
嵌入式软件是实时多任务操作系统和各种专用软件,一般固化在ROM或闪存中

嵌入式系统的典型组成

嵌入式处理器
嵌入式系统硬件核心是嵌入式处理器。
嵌入式处理器可以分为四类:
嵌入式微处理器EMPU
(Embedded Microprocessor Unit)
嵌入式微控制器EMCU
(Embedded Microcontroller Unit)
嵌入式数字信号处理器EDSP
(Embedded Digital Signal Processor)
嵌入式片上系统ESoC
(Embedded System on Chip)
嵌入式微处理器EMPU
嵌入式微处理器就是和通用计算机的微处理器对应的CPU。在应用中,一般是将微处理器装配在专门设计的电路板上,并在母板上设计了和嵌入式系统相关的功能模块即可,这样可以满足嵌入式系统体积小和功耗低的要求。
只保留与嵌入式应用紧密相关的功能硬件,去除其他冗余功能部分,配上必要的扩展外围电路(如存储器的扩展电路,I/O的扩展电路和一些专用的接口电路等),保证了以低功耗和丰富的资源满足嵌入式应用的特殊要求
嵌入式微处理器制造商:摩托罗拉、英特尔、IBM、日立、NEC、东芝、AMD、国家半导体、Zilog、IDT、富士通、Atmel、SUN、微系统、夏普、Oki、飞利浦等。
主要的嵌入式微处理器包括:IBM PowerPC、Intel Pentium、Motorola 68000、strong ARM、MIPS、AMD X86系列等等。
嵌入式微处理器又可分为CISC和RISC两类。大家熟悉的大多数台式PC都是使用CISC微处理器,如Intel的x86。RISC结构体系有两大主流:Silicon Graphics公司(硅谷图形公司)的MIPS技术;ARM公司的Advanced RISC Machines技术。此外,Hitachi(日立公司)也有自己的一套RISC技术SuperH。
嵌入式微控制器EMCU
嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它外设接口封装在同一片集成电路里。
嵌入式微控制器制造商:摩托罗拉、英特尔、英飞凌科技、 Atmel、日立、NEC、三菱、东芝、松下、Microchip、富士、飞利浦、德州仪器、三星、三洋、索尼、Oki、凌阳科技等。
主要的嵌入式微控制器包括:MCS-51、MCS-251、MCS-96/196/296、P51XA、C166/167、68K、Z8、C540、PIC、AVR等系列。

嵌入式数字信号处理器EDSP
嵌入式DSP专门用来对离散时间信号进行极快的处理计算,提高编译效率和执行速度。在数字滤波、FFT、谱分析、图像处理等领域应用广泛。
DSP正在大量进入嵌入式市场,目前广泛应用的是德州仪器的产品TMS320C2000 /C5000系列,另外Intel和Siemens也有相应的产品。
嵌入式片上系统ESoC
ESoC:在一个硅片上实现一个更为复杂的系统。SoC结合了许多功能模块(例如各类通信接口单元UART,USB,BlutTooth,IEEE1394),将整个系统做在一个芯片上。而以往,这些接口单元都是被独立做成处理芯片的。这样,应用系统电路将变得很简洁,利于减小体积和功耗,提高可靠性。
EDA(Electronic Design Automation;电子设计自动化)和VLSI推广及发展的结果
各种通用处理器内核将作为SoC设计公司的标准库,成为 VLSI设计中一种标准的器件,用标准的VHDL等语言描述。
用户只需定义出整个应用系统,仿真通过后,就可以将设计图交给半导体工厂制作样品。
这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。
SoC是嵌入式系统实现的最高形式。
嵌入式系统硬件应用领域
目前,国内单片机应用开发已由8位转向32位嵌入式产品。冰箱用上了DSP,汽车电子全面走向32位,通信相关产品更是32位处理器的天下。
MCS-51系列是单片机普及系列,在各个领域有广泛的应用,嵌入式设计人员几乎都掌握该系列。
ARM系列32位处理器在低功耗移动通信设备方面占有绝对优势。
Motorola的M683××系列、Power PC系列主要用在工控与汽车电子方面。
嵌入式系统软件
嵌入式系统软件核心包括:
系统软件:嵌入式操作系统
嵌入式操作系统嵌入式中间件(CORBA、 Java)等等
支撑软件:嵌入式软件开发平台及工具
系统分析设计工具 仿真开发工具 交叉开发工具 测试工具 配置管理工具 维护工具等
应用软件:嵌入式应用软件
手机软件 路由器软件 交换机软件 飞控软件等
嵌入式软件系统的体系结构

嵌入式软件运行流程

嵌入式软件运行流程
上电复位、板级初始化阶段
嵌入式系统上电复位后完成板级初始化工作。
板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完成的:
CPU中堆栈指针寄存器的初始化。
BSS段(Block Storage Space表示未被初始化的数据)的初始化。
CPU芯片级的初始化:中断控制器、内存等的初始化。
嵌入式软件运行流程
系统引导/升级阶段
根据需要分别进入系统软件引导阶段或系统升级阶段。
软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。
嵌入式软件运行流程
系统初始化阶段
在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等。
系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。
嵌入式软件运行流程
应用初始化阶段
在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始化工作。
多任务应用运行阶段
各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功能。
嵌入式系统软件的特征1
1.软件要求固态化存储
为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮在磁盘中。
2.软件代码高质量、高可靠性
尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度、提高执行速度。
3.操作系统软件具有高实时性
在多任务嵌入式系统中,对各项任务进行统筹兼顾、合理调度是保证系统功能的关键,单纯提高处理器的速度是无法完成这些要求的,也是没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此操作系统软件的高实时性是基本要求。
嵌入式系统应用语言:
据统计,在嵌入式系统设计中,最受欢迎的前3种编程语言分别是C(74.6%)、汇编(69.6%)和C++ (50.1%)。


