|
|
@ -43,24 +43,106 @@ ENIAC的编程通过改变电缆连接的方式进行,那时几乎所有的程
|
|
|
|
1. 通用计算机按照高速运算和海量存储的技术方向发展。
|
|
|
|
1. 通用计算机按照高速运算和海量存储的技术方向发展。
|
|
|
|
2. 嵌入式系统则向低功耗、高可靠性和便携性等方向发展
|
|
|
|
2. 嵌入式系统则向低功耗、高可靠性和便携性等方向发展
|
|
|
|
|
|
|
|
|
|
|
|
## 什么是嵌入式
|
|
|
|
## 2.1. 什么是嵌入式
|
|
|
|
|
|
|
|
|
|
|
|
IEEE定义:用于控制、监视或者辅助操作机器或设备装置。
|
|
|
|
IEEE定义:用于控制、监视或者辅助操作机器或设备装置。
|
|
|
|
|
|
|
|
|
|
|
|
通用定义:嵌入到对象体系中,以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。
|
|
|
|
通用定义:嵌入到对象体系中,以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。
|
|
|
|
|
|
|
|
|
|
|
|
## 嵌入式系统的特点(p2)
|
|
|
|
## 2.2. 嵌入式系统的特点(p2)
|
|
|
|
|
|
|
|
|
|
|
|
1. 嵌入性
|
|
|
|
1. 嵌入性
|
|
|
|
2. 专用性
|
|
|
|
2. 专用性
|
|
|
|
3. 计算机系统
|
|
|
|
3. 计算机系统
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 2.3. 问题:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 你身边的电子设备,那些是嵌入式的,哪些是非嵌入式的?
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
> - 笔记本
|
|
|
|
|
|
|
|
> - 服务器
|
|
|
|
|
|
|
|
> - 手机?
|
|
|
|
|
|
|
|
> - 手表?
|
|
|
|
|
|
|
|
> - 空调
|
|
|
|
|
|
|
|
> - 电视?
|
|
|
|
|
|
|
|
> - 洗衣机
|
|
|
|
|
|
|
|
> - 冰箱
|
|
|
|
|
|
|
|
> - 蓝牙耳机
|
|
|
|
|
|
|
|
> - 遥控器
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 3. 嵌入式系统的组成(p3)
|
|
|
|
# 3. 嵌入式系统的组成(p3)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
虚线上的是软件部分,下部是硬件部分。硬件部分分为核心部分和外围电路;软件部分的操作系统是可选的。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 问题:为什么需要操作系统,没有操作系统行不行?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 3.1. 嵌入式硬件(p3-p4)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 嵌入式处理器(MPU/MCU):一般来说,MPU的通用能力更好、性能更好;MCU 的性能较低、功耗更低,型号更多,满足专用的领域。例如以前学过的8051就是典型的MPU。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 问题:8051 的基本性能和外设?
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
> 8051 可以用来做什么?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- DSP 数字信号处理器
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 3.1.1. 片上系统(SOC)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
片上系统(SOC):集成度更高,除了MPC/MCU,集成了信号处理(DSP),音频、视频、存储等附加功能,更便于小型化和专用化。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 3.1.2. ARM处理
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ARM公司负责设计处理计内核,其他公司购买内核设计,并在内核的基础上增加功能后完成自己的芯片。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
系列:Cortex-A、Cortex-R、Cortex-M,性能从高到底。Cortex-A系列用于手机、平板、甚至服务器领域;Cortex-R通用的高性能嵌入式,用于汽车、网络产品片、仪器、家电等领域;Cortex-M是低功耗系列,用于手表、物联网传感器等小型化、低功耗的领域。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 3.1.3. 外围电路(p5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 环境感知
|
|
|
|
|
|
|
|
- 通信类
|
|
|
|
|
|
|
|
- 存储类
|
|
|
|
|
|
|
|
- 人机交互类
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 3.2. 嵌入式系统软件(p6)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 驱动程序
|
|
|
|
|
|
|
|
- 操作系统
|
|
|
|
|
|
|
|
- 应用程序
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 4. 嵌入式系统的开发流程
|
|
|
|
# 4. 嵌入式系统的开发流程
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 编程模式(p7)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 前后台程序(裸机编程)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
该方式适合简单的应用。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
后台系统:一个死循环,在循环中调用不同的功能函数完成操作;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
前台系统:多个中断服务,用于处理系统的异步事件和实时性要求高的任务。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 嵌入式操作系统
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
适合复杂的应用,更方便的管理任务间的切换,同时也需要较多的资源(RAM、ROM、CPU)。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 程序开发方式(P8)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 寄存器方式:以前的8051编程方式,需要了解每个寄存器的具体地址,通过寄存器的读写、位操作等完成功能的开发;
|
|
|
|
|
|
|
|
- 库函数方式:使用函数和预定义常量来简化寄存器的操作,其底层还是寄存器的操作。
|
|
|
|