学习笔记:
嵌入式系统定义:指以应用为中心、以计算机技术为基础、软件硬件可剪裁、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用集全集系统。包含嵌入式硬件和嵌入式软件。
硬件平台对比 | 台式机系统 | 嵌入式系统 |
---|---|---|
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常作为嵌入式系统的开发主机。
学习资料来源:优课在线