一、基本概念
- 嵌入式系统是以应用为中心、以计算机技术为基础,并将可配置与可裁剪的软、硬件集成于一体的专用计算机系统,需要满足应用对功能、可靠性、成本、体积和功耗方面的严格要求。
- 从计算机角度看,嵌入式系统是指嵌入各种设备及应用产品内部的计算机系统。它主要完成信号控制的功能,体积小、结构紧凑,可作为一个部件埋藏于所控制的装置中。
- 一般嵌入式系统由嵌入式处理器、相关支撑硬件、嵌入式操作系统、支撑软件以及应用软件组成。
嵌入式系统软件组成架构
硬件抽象和板级支持包影响嵌入式系统的易移植性
嵌入式系统初始化过程:片级初始化->板级初始化->系统级初始化
二、嵌入式软件开发
嵌入式软件的开发与传统的软件开发方法存在比较大的差异,主要表现在以下方面:
- 嵌入式软件开发是在宿主机(PC机或工作站)上使用专门的嵌入式工具开发,生成二进制代码后,需要使用工具卸载到目标机或固化在目标机储存器上运行。
- 嵌入式软件开发时更强调软/硬件协同工作的效率和稳定性。
- 嵌入式软件开发的结果通常需要固化在目标系统的储存器或处理器内部储存器资源中。
- 嵌入式软件的开发一般需要专门的开发工具、目标系统和测试设备。
- 嵌入式软件对实时性的要求更高。
- 嵌入式软件对安全性和可靠性的要求较高。
- 嵌入式软件开发是要充分考虑代码规模。
- 在安全攸关系统中的嵌入式软件,其开发还应满足某些领域对设计和代码审定。
- 模块化设计即将一个较大的程序按功能划分成若干程序模块,每个模块实现特定的功能。
嵌入式软件设计层面的功耗控制主要可以从以下方面展开:
- 软硬件协同设计,即软件的设计要与硬件的匹配,考虑硬件因素
- 编译优化,采用低功耗优化的编译技术
- 减少系统的持续运行时间,可从算法角度进行优化
- 用“中断”代替“查询”
- 进行电源的有效管理
三、嵌入式微处理器
嵌入系统发展历程
- 单片微型计算机(SCM)阶段,即单片机时代
- 微控制器(MCU)阶段
- 片上系统(SoC)
- 以Internet为基础的嵌入式系统
- 在智能化、云技术推动下的嵌入式系统
四、AI芯片
人工智能芯片的定义:从广义上讲只要能够运行人工智能算法的芯片都叫作AI芯片。但是通常意义上的AI芯片指的是针对人工智能算法做了特殊加速设计的芯片,现阶段,这些人工智能算法一般以深度学习算法为主,也可以包括其他机器学习算法。
人工智能芯片四大类(按技术架构分类):GPU,FPGA(现场可编程门阵列),ASIC(专用集成电路),类脑芯片
AI芯片的关键特征:
- 新型的计算范式:AI计算既不脱离传统计算,也具有新的计算特质
- 训练和推断:AI系统通常涉及训练和推断过程
- 大数据处理能力:满足高效能机器学习的数据处理要求
- 数据精度:降低精度的设计
- 可重构的能力:针对特定领域而不针对特定应用的设计,可以通过重新配置,适应新的AI算法、架构和任务
- 开发工具:AI芯片需要软件工具链的支持
五、 嵌入式微处理器体系结构
六、总线
基本概念
总线是一组能为多个部件分时共享的信息传送线,用来连接多个部件并为之提供信息交换通路。(总线通常是半双工的)
特点
- 挂接在总线上的多个部件只能分时向总线发送数据,但可同时从总线接收数据。
- 通过总线复用方式可以减少总线中信号线的数量,以较少的信号线传输更多的信息
- 从功能上来对总线进行划分数据总线 、地址总线和控制总线
- 从数据传输的方式划分并行总线和串行总线
并行总线:将数据字节的各位用多数据线同时进行传送。适合短距离
串行总线:数据是一位一位地进行传输的,在传输中每一位数据都占据一个固定的时间长度。适合长距离,传输波特率可调整,正确性依赖于校验码,数据传输方式可以使用多种。
七、 嵌入式操作系统
嵌入式实时操作系统
八、操作系统内核架构
九、 嵌入式数据库
嵌入式数据库的特点:嵌入式、实时性、移动性、伸缩性