基本概念
嵌入式计算机:把嵌入到对象体系中、实现对象体系智能化控制的带有微控制器的计算机,称作嵌入式计算机
嵌入式系统:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
嵌入式系统的要素:1. 嵌入式 2. 专用性 3. 计算机
特点:
- 具有较长的生命周期
- 嵌入式系统的目标代码通常固化在非易失性存储芯片中
- 操作系统一般是实时操作系统(RTOS),具有实时约束
- 需要专用开发工具和方法进行设计
- 微处理器通常包含专用调试电路
分类:
- 按表现形式及使用硬件分为
- 芯片级嵌入: 系统中使用含程序或算法的处理器的嵌入式系统
- 模块级嵌入:系统中使用某个核心模块的嵌入式系统
- 按系统实时性需求分为
- 非实时系统(如PDA)
- 软实时操作系统(如消费类产品)
- 硬实时系统(工业实时控制系统)
嵌入式系统的组成结构
硬件基本结构:以嵌入式处理器为中心,配置存储器、I/O设备、通信模块以及电源等必要的辅助接口组成
软件基本结构:设备驱动层、实时操作系统(RTOS)、应用程序接口(API)层、实际应用程序层
启动程序BootLoader介绍
开机初始化处理器配置,初始化硬件等
- 系统加电复位后,CPU从由复位地址上取指令,将首先执行Boot Loader程序。
- 系统启动通常两种方式
- 一种是可以直接从Flash启动
- 另一种是可以将压缩的内存映像文件从Flash中复制、解压到RAM,在从RAM启动
嵌入式微处理器
对应pc中的CPU
嵌入式微控制器
又称单片机,它将CPU、存储器(少量RAM、ROM或两者都有)和其他外设封装在同一片集成电路里
与微处理器相比,特点是单片化,体积大大减少,从而是功耗和成本下降、可靠性提高。
嵌入式DSP
DSP(Digital Signal Processor)数字信号处理器
嵌入式SoC
SoC(System on Chip)系统级芯片
片上系统(SoC)是ASIC 设计方法学中产生的一种新技术,是指以嵌入式系统为核心,以IP(Intellectual Property)复用技术为基础,集软硬件于一体,并追求产品系统最大包容的集成芯片。
可编程片上系统–SOPC
用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC
- 采用超深亚微米工艺技术
- 使用一个以上的嵌入式处理器/DSP
- 外部可以对芯片进行编程
- 主要采用第三方IP进行设计
- 足够的片上可编程逻辑资源
- 具有处理器调试接口和FPGA编程接口
- 可能包含部分可编程模拟电路
- 单芯片、低功耗、微封装
技术基础:
- 超大规模可编程逻辑器件及其开发工具的成熟
- FPGA密度提高,成本大大下降,设计、综合、仿真、测试工具性能飞速提高
- 微处理器/DSP以IP核的形式方便的嵌入FPGA中
- 基于IP Core的开发深入人心
优点:设计费用低、风险小、开发周期短、灵活性好等优点
嵌入式外围接口电路和设备接口
- 存储器类型(易失性存储器(RAM)、非易失性存储器(ROM、FLASH和NvRAM))
- 输入输出设备
- 通信接口
- RS-232C串行接口 电压方式传送信号(0是-15V,1是+15V)15到60m 范围内传输
- RS-422串行通信接口
- RS-485串行通信接口
- USB接口 1.0、1.1、2.0的物理结构相同四根线速度480mb/s, 3.0 、4.0的物理结构变了 速度480mb/s * 9
- IEEE1394接口 用来连接摄像机视频的
- 以太网接口 连接互联网
- 蓝牙接口
- IEEE802.11无线接口 WLAN连接
- IrDA接口
- JTAG接口 边界扫描接口
- 设备扩展接口
- 电源及辅助设备
嵌入式操作系统
作用:补平硬件差异的界面或是说隐藏硬件,让应用程序可以在上面运行。程序设计人员无需考虑到不同硬件所造成的差异,可专注于所擅长领域的开发
必须提供以下管理功能
-
多任务管理
多任务指的是多线程或多进程的方式,操作系统主要提供调度机制来控制这些执行程序的起始、执行、暂停、结束。
三种进程状态:1. 运行状态 2.就绪状态 3.等待状态
-
存储管理
-
周边资源管理
-
中断管理
嵌入式软件开发环境
- 交叉开发环境
- 软件模拟环境
- 评估电路板
WinCE操作系统:
针对有限资源的平台设计的多线程、完整优先权、多任务的操作系统,但它不是一个硬实时操作系统。
WinCE最大的特点是能提供与PC机类似的图形界面和主要的应用程序。
五大主要模块:
- 内核模块:支持进程和线程处理及内存管理等基本服务
- 内核系统调用接口模块:允许应用软件访问操作系统提供的服务
- 文件系统模块:支持DOS等格式的文件系统
- 图形窗口和事件子系统模块:控制图形显示,并提供Windows GUI界面
- 通讯模块:允许同其他的设备之间进行信息交换
嵌入式应用软件开发步骤:
- 开发环境建立
- 源文件编辑阶段
- 交叉编译
- 链接
- 重定位和下载
- 调试
为提高软件开发的可移植性和可重用性可采纳下列方法
- 多用高级语言少用或者不用汇编语言
- 将不可已知部分局部化
- 宏定义和函数
硬件基础简介
冯洛伊曼体系结构
哈佛体系结构
-
CISC复杂指令集:
- 具有大量指令和寻址方式
- 8/2原则:80%的程序只使用20%的指令
- 大多数程序只使用少量的指令就能够运行
-
RISC精简指令集
- 在通道中只包含最有用的指令
- 确保数据通道快速执行每一条指令
- 使CPU硬件结构设计变得更加简单
-
流水线技术:
几个指令可以并行执行
提高了CPU的运行效率
内部信息流要求通常流动
-
桶型移位器
通型移位器可以加快一维速度 -
指令密度
- 在执行同等操作步骤序列前提下,单位内存所容纳的机器指令数
- 为完成特定的运算操作,存放机器指令所需的内存空间大小
- 是衡量一个指令系统的设计是否精巧,是否合理的重要指标。
-
看门狗定时器
是用来引导嵌入式处理器脱离死锁工作状态的部件。是处理器的一个有用的特色硬部件。
嵌入式开发的考虑要素
- 功能可靠使用、便于升级
- 实时并发处理,即使响应
- 体积符合要求,结构紧凑
- 接口符合规范,易于操作
- 配置精简稳定,维护便利
- 功耗管理严格,成本低廉