学习笔记:

嵌入式系统定义:指以应用为中心、以计算机技术为基础、软件硬件可剪裁、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用集全集系统。包含嵌入式硬件和嵌入式软件。

硬件平台对比

台式机系统

嵌入式系统

CPU

Intel、AMD的x86处理器

ARM等嵌入式处理器

内存

内存条

SDRAM芯片

外存

硬盘及固态硬盘

Flash芯片(Nand Flash)

输入设备

键盘及鼠标

按键及触摸屏

输出设备

显示器

LCD

接口

主板集成

MAX232等芯片

声音设备

声卡

音频芯片

其他设备

主板集成及外接卡

USB及网络等芯片

硬件主要区别:台式机硬件主要是集成为板或卡,嵌入式系统硬件主要是基于芯片级别

软件平台对比

台式机系统

嵌入式系统

引导代码

主板的BIOS引导,无需改动

BootLoader引导,针对电路移植

操作系统

一般为Windows,不需要移植

Linux、WinCE、VxWorks等等,需要移植

驱动程序

操作系统含有大多数驱动程序,或从网上下载直接使用

每个设备驱动程序都必须针对电路板进行重新开发或移植,一般不能直接下载使用

协议栈

操作系统或第三方提供

需要移植

开发环境

在本机就可开发调试

需要借助主机进行交叉编译

仿真器

不需要

需要

虽然主流嵌入式系统包含操作系统,但是在嵌入式系统定义中没有要求必须使用操作系统。这使得一种特殊的操作系统被独立出来,即应用软件直接运行在硬件之上的不使用操作系统的单片机系统。

硬件对比

单片机系统

主流嵌入式系统

硬件平台

自己设计硬件平台

厂家提供通用的硬件平台

硬件设计

重新设计

以硬件平台为基础裁剪和扩展

CPU

大多为8位或16位

多为32位

MMU(存储器管理单元)

不支持

支持

功能

难以实现复杂功能

能实现复杂功能

仿真器

全程使用

初始化需要,之后可不用

仿真头

需要

不需要

软件对比

单片机系统

主流嵌入式系统

开发平台

主机上的仿真软件

主机上匹配的操作系统

功能

通常比较简单

相对复杂

运行环境

直接运行在硬件上

嵌入式操作系统

编程语言

C、汇编

C、Java及框架

协议支持

自己实现

嵌入式操作系统提供,如USB协议和网络协议,移植后使用

驱动程序

自己实现

操作系统提供大部分驱动

调试

专门的仿真软件在线调试

交叉编译,操作系统环境调试

关于x86

虽然通常意义上的嵌入式处理器不包括x86,但是x86完全可以在嵌入式系统中使用,在嵌入式系统中可以直接使用x86计算机的部分或全部硬件

对比

x86

嵌入式系统

应用

家用PC、笔记本、服务器

特定应用

组成

ALU、MMU、片内Cache,片资源有限,其他功能需要扩展

ALU、MMU、片内Cache,集成网卡、USB等控制器

指令系统

CISC

RISC

I/O编址方式

独立编制

统一编制

系统存储

硬盘,需要时调入内存

Flash,启动时全部加载到内存里

软件

多样、复杂、全面

小、精简、面向特定需求

产品使用

人机交互

嵌入到设备中自动完成

联系:x86常作为嵌入式系统的开发主机。