4.2嵌入式软件-系统-RTOS-软件开发
嵌入式系统是面向特定应用的专用计算机系统,具有专用性强、资源精简、代码固化等特点。其硬件由嵌入式处理器和相关支撑设备组成,软件包括操作系统、支撑软件和应用软件。嵌入式实时操作系统(RTOS)需具备确定性、可预测性和实时响应能力,支持硬实时和软实时任务。开发过程采用交叉编译和调试技术,在宿主机上生成目标机可执行代码。系统设计强调微型化、高质量代码和可裁剪性,广泛应用于工业控制、通信设备等领域。关键挑
·
一、嵌入式软件 00:00
1. 嵌入式软件设计 00:39
1)嵌入式系统 12:14

- 硬件组成:
- 嵌入式处理器:分为四类,具有耐高温、寒冷、碰撞等特性
- 相关支撑硬件:包括存储器、输入输出设备等
- 软件组成:
- 嵌入式操作系统:基础系统软件
- 支撑软件:为应用软件开发运行提供支持
- 应用软件:最终用户使用的软件
- 系统特性:
- 专用性强:面向特定应用进行裁剪(如智能洗衣机)
- 技术融合:整合网络通信等多种技术
- 资源精简:比通用计算机资源更少
- 代码固化:存储在非易失性存储器(如Flash)
- 开发环境特殊:需要专门的开发工具和环境
- 分层架构:
- 硬件层:微处理器、存储器、I/O设备
- 抽象层(HAL/BSP):驱动层,屏蔽硬件细节
- 操作系统层:嵌入式操作系统
- 中间件层:复用和管理组件
- 应用层:具体应用软件
2)嵌入式数据库系统 20:13
- 嵌入式数据库系统的概念 20:20
- 定义:运行在嵌入式设备中的数据库管理系统(EDBMS)
- 典型应用:手机等移动设备的本地数据存储
- 嵌入式数据库系统的使用环境特点 20:32

- 移动性:设备可随时移动(如手机)
- 网络特性:
- 频繁断接:信号不稳定
- 条件多样:WIFI/4G/5G切换
- 通信不对称:下载快于上传
- 嵌入式数据库系统的组成 22:02
- 核心组件:
- 嵌入式数据库(本地)
- 主数据库(远程)
- 同步服务器
- 连接网络
- 核心组件:
- 嵌入式数据库与主数据库的同步流程 22:19
- 工作流程:
- 本地数据存储在嵌入式数据库
- 有网络时通过同步服务器上传至主数据库
- 解决断网时的数据不一致问题
- 工作流程:
- 嵌入式数据库系统数据一致性与安全性问题 23:45
- 关键挑战:
- 数据一致性维护
- 高效事务处理
- 数据安全保障
- 关键挑战:
3)嵌入式操作系统 23:55

- 启动过程:
- BootLoader:初始化硬件、建立内存映射
- 功能阶段:
- 片级初始化(纯硬件)
- 板级初始化(软硬件结合)
- 系统级初始化(加载内核)
- 设备驱动:

- 硬件启动/关闭
- 硬件停用/启用
- 读写操作
- 系统特点:
- 微型化:体积小(几十MB级别)
- 高质量代码:避免冗余
- 专业化:针对特定硬件设计
- 实时性强:快速响应
- 可裁剪:按需去除不需要的功能模块
- 开发特性:

- 交叉编译:宿主机生成目标机代码
- 交叉调试:宿主机调试目标机进程
2. 嵌入式实时操作系统 26:40

- 系统组成:
- 嵌入式处理器:需抵抗恶劣环境(高温/寒冷/电磁/加速度),工艺分民用/工业/军用三档
- 支撑硬件:包括存储器、定时器、总线、I/O接口等
- 嵌入式操作系统:具备实时性、可剪裁性和安全性特征
- 支撑软件:以库形式提供开发公共服务
- 应用软件:完成特定功能的专用软件
- RTOS定义:
- 全称:Real-Time Operating System(需记忆英文缩写)
- 核心特征:
- 确定性:给定初始状态下能在确定时间内给出确定结果
- 可预测性:系统功能在运行前即可预测
- 实时性要求:
- 及时响应:必须在规定时间内完成反馈(如10秒内)
- 正确性:反馈内容必须准确有效
- 实时类型:
- 硬实时:超时即系统失效(如航天控制系统)
- 软实时:允许偶尔超时(如多媒体播放)
3. 实时操作系统特性 29:05

- 三大核心机制:
- 高精度计时系统:确保时间测量的精确性(毫秒/微秒级)
- 多级中断嵌套:
- 允许高优先级中断打断低优先级处理
- 示例:处理事件A时被B中断,B执行中又被更高优先级的C中断
- 实时调度机制:动态调整任务执行顺序保证及时性
- 开发工具:
- 编辑器:VS/eclipse/Keil等IDE,或UE/Source Insight等独立工具
- 交叉编译:使用gcc等工具生成目标机可执行文件
- 调试器:gdb通过串口/网络/JTAG等连接目标机调试
4. 应用案例
1)例题:RTOS叙述判断 31:11

- 题目解析:
- 关键考点:RTOS的可裁剪性和实时性特征
- 选项分析:
- A选项错误(嵌入式系统均支持软硬件裁剪)
- D选项易混淆,实际正确(资源管理+实时响应是核心功能)
- 答案:A
- 记忆点:RTOS必须支持多任务和中断嵌套
2)例题:嵌入式操作系统特点 32:32
- 题目解析:
- 审题重点:题干要求选择"不是"的特点
- 选项陷阱:
- C选项"不支持多任务"是明显错误(现代系统均支持)
- B/D选项容易误判,但实际符合嵌入式特性
- 答案:C
- 扩展理解:嵌入式系统必须满足小体积、高可靠性要求
二、嵌入式系统

- 专用性强:面向特定应用需求,将通用CPU中许多由板卡完成的任务集成在芯片内部,有利于小型化。
- 技术融合:结合计算机技术、通信技术、半导体技术和电子技术,是技术密集、资金密集、高度分散的知识集成系统。
- 软硬一体:以软件为主体,有IP核。硬件和软件可高效设计,去除冗余,在同样硅片面积上实现更高性能。
- 资源受限:通常只完成少数任务,不使用通用CPU,管理资源少,成本低,结构简单。
- 代码固化:软件固化在存储器芯片或单片机中,提高执行速度和系统可靠性。
- 专用开发工具:系统本身不具备开发能力,需专门开发工具和环境进行开发。
- 高性能比:体积小、价格低、工艺先进、性能价格比高、系统配置要求低、实时性强。
- 高可靠性:对安全性和可靠性的要求高。
1. 交叉编译和交叉调试 33:46
1)交叉编译 40:43
- 开发环境差异:与Windows开发不同,嵌入式开发需要区分宿主机(开发环境)和目标机(运行环境)。
- 宿主机功能:用于代码编辑、编译和调试操作,是开发环境。
- 目标机功能:专门运行目标系统,是真实应用环境。
- 必要性:嵌入式设备资源受限(可能只有几兆内存),无法安装完整IDE(如VS系列需要几GB空间),且硬件体系结构不同。
- 交叉编译链:使用目标机的指令环境和编译器,在宿主机上编译生成可在目标机运行的代码。
- 平台选择:通常在Linux下开发,配置交叉编译链更便捷,Windows也可但配置复杂。
2)交叉调试 42:06
- 调试过程:通过交叉编译生成的可执行代码烧录到目标机运行,借助仿真器等工具在宿主机上进行调试。
- 连接方式:宿主机与目标机通过串口、网口等建立连接,调试时通信。
- 断点机制:在宿主机设置断点,命令通过仿真器发送到目标机,目标机运行到断点处暂停,宿主机可查看状态。
- 调试软件:调试器运行在宿主机,可执行程序运行在目标机,两者通过硬件接口交互。
2. 软件开发工具 43:10
- 编辑器:
- 集成编辑器:如VS系列自带的编辑器。
- 独立编辑器:UE、Source Insight(主要用于查看代码)、Vim(可配置为类似VS的开发环境)。
- 编译器:
- GCC:Linux中常用的C/C++编译器,嵌入式开发中用于交叉编译。
- 调试器:
- GDB:Linux下的调试工具,嵌入式开发中常用。
- 工具链:嵌入式软件开发包括编码、交叉编译和交叉调试,与普通开发(编码、编译、调试)的主要区别在于跨平台性。
三、应用案例

1. 例题:嵌入式系统开发叙述判断 44:53
- 题目解析
- 选项分析
- A选项:宿主机和目标机之间只需要建立逻辑连接
- 错误:需要建立真实的物理连接(如网口连网线、串口连串口线)
- B选项:宿主机和目标机之间只能采用串口通信
- 错误:可采用多种通信方式(串口/网口/并口等)
- C选项:在宿主机上必须采用交叉编译器生成目标机可执行代码
- 正确:因目标机架构不同必须使用交叉编译器
- D选项:调试器和被调试程序必须安装在同一台机器上
- 错误:通常调试器在宿主机,被调试程序在目标机
- A选项:宿主机和目标机之间只需要建立逻辑连接
- 关键概念
- 宿主机:开发环境所在计算机
- 目标机:实际运行嵌入式系统的设备
- 交叉编译:在宿主机生成目标机可执行代码的过程
- 选项分析
四、嵌入式系统核心知识
1. 嵌入式操作系统(EOS)特点
- 微型化:针对资源受限的嵌入式平台,需占用最少系统资源
- 代码质量:存储空间宝贵,要求代码高度精简优化
- 专业化:需适应多样化的硬件平台和快速更新的处理器
- 实时性:广泛应用于需要实时响应的控制/采集/通信场景
- 可配置性:支持根据应用需求进行灵活裁减和配置
2. 嵌入式实时系统特性 46:06
- 基本定义:完全嵌入受控器件内部的专用计算机系统
- 可预测性:系统功能、响应特性和执行结果在运行前可预测
- 确定性:给定初始状态和输入条件下,能在确定时间内给出确定结果
- RTOS特点:
- 及时响应外界事件/数据
- 高可靠性保障
- 硬实时(严格时间约束)与软实时(优先级驱动)的区别
3. 学习要点总结
- 重点范围:
- 嵌入式微处理器
- 嵌入式软件与操作系统
- 开发工具链(交叉编译/调试)
- 记忆技巧:
- 各类嵌入式系统特点可合并记忆
- 不需严格区分具体属于哪类系统的特征
- 考试注意:
- 本章分值较少(约2分)
- 建议通过课后习题巩固理解
五、知识小结
| 知识点 | 核心内容 | 考试重点/易混淆点 | 难度系数 |
|---|---|---|---|
| 嵌入式硬件分类 | 嵌入式CPU与通用CPU的区别,强调专用性、资源受限和实时性要求 | 易混淆点:嵌入式处理器分类(MPU/MCU/DSP/SoC)与通用处理器的架构差异 | ⭐⭐ |
| 嵌入式软件特点 | 规模小、开发难度大(需适配硬件)、实时性/可靠性要求高、固化存储 | 重点:嵌入式软件与硬件的强耦合性,易混淆点:固化存储 vs 通用软件动态加载 | ⭐⭐⭐ |
| BSP(板级支持包) | 硬件与操作系统间的中间层,功能包括硬件初始化、驱动支持、操作系统适配 | 重点:BSP的双重相关性(硬件+操作系统),易混淆点:BSP与设备驱动的包含关系 | ⭐⭐⭐⭐ |
| Bootloader | 嵌入式系统启动的第一段代码,分片级(CPU)、板级(外设)、系统级(OS)初始化 | 重点:三级初始化顺序,易混淆点:Bootloader与BIOS的功能对比 | ⭐⭐⭐ |
| 嵌入式系统分层 | 硬件层→抽象层(BSP)→OS层→中间件层→应用层 | 易混淆点:硬件抽象层(HAL)与BSP的异同 | ⭐⭐ |
| 嵌入式实时操作系统(RTOS) | 硬实时(严格时限)vs 软实时(优先级调度),特征:高精度计时、多级中断、实时调度 | 重点:RTOS的确定性响应,易混淆点:RTOS与通用OS的实时性差异 | ⭐⭐⭐⭐ |
| 交叉开发环境 | 宿主机(开发/编译)与目标机(运行)分离,依赖交叉编译链和仿真调试工具 | 重点:交叉编译的必要性(硬件异构),易混淆点:宿主机调试器与目标机程序的通信方式 | ⭐⭐⭐ |
更多推荐



所有评论(0)