第二章 基本概念
1、嵌入式系统硬件基础
冯诺依曼结构(不分)、哈佛结构(分开)
IP核,知识产权核,是经过验证的集成电路单元,主要分为:
(1)软核
(2)硬核
(3)固核
流水线技术,PC指向正被取指的指令,而非正在执行的指令。
存储器层次:寄存器 → \rightarrow →cache → \rightarrow →主存 → \rightarrow →辅存 → \rightarrow →网络存储器
2、嵌入式系统软件基础
发展阶段:
- 无操作系统
- 循环轮询系统
- 事件驱动系统(前后台)
- 有操作系统
- 应用软件层
- 中间件层
- 操作系统层
- 设备驱动层
设备驱动程序:直接和硬件打交道,对硬件进行控制和管理的软件。(必不可少)
中间件:除了OS内核、设备驱动程序、应用软件外的系统软件。
内存分配的方式:
(1)动态分配:堆(malloc)
(2)自动分配:栈
(3)静态分配:全局变量
可重入函数:只使用局部变量(保存在寄存器或栈中),被1个以上的任务调用。
3、嵌入式操作系统
嵌入式操作系统
→
\rightarrow
→软硬件资源的管理者。
(1)进程管理
(2)存储器管理
(3)设备管理
(4)文件管理
(5)接口
RTOS的结构:
(1)单体结构
(2)分层结构
(3)微内核结构:设备驱动从内核中分离
进程:程序+执行。其特点有:
(1)动态性
(2)并发性
(3)独立性
线程:并发执行+共享地址空间,代码在资源平台上的执行流程。
嵌入式系统中提到的任务实际上是线程。
任务控制块(TCB)是任务存在的唯一标志,任务有3种状态:
(1)就绪态:就绪队列
(2)运行态:执行队列
(3)等待态:等待队列
任务的调度:
(1)不可抢占方式
(2)可抢占方式
RTOS的调度目标:任务在最终期限之前完成。
采用可抢占式优先级调度。
任务间的通信:
(1)共享内存
(2)消息传递:邮箱、消息队列等
(3)管道
(4)信号
内存布局:
- 静态段
- 代码段
- 数据段
- bss段(全局变量)
- 动态段
- 堆
- 栈
I/O控制方式:
(1)程序控制方式
(2)中断方式
(3)DMA方式