一、嵌入式软件 00:00
1. 嵌入式软件设计 00:39
1)嵌入式系统 12:14
  • img
  • 硬件组成:
    • 嵌入式处理器:分为四类,具有耐高温、寒冷、碰撞等特性
    • 相关支撑硬件:包括存储器、输入输出设备等
  • 软件组成:
    • 嵌入式操作系统:基础系统软件
    • 支撑软件:为应用软件开发运行提供支持
    • 应用软件:最终用户使用的软件
  • 系统特性:
    • 专用性强:面向特定应用进行裁剪(如智能洗衣机)
    • 技术融合:整合网络通信等多种技术
    • 资源精简:比通用计算机资源更少
    • 代码固化:存储在非易失性存储器(如Flash)
    • 开发环境特殊:需要专门的开发工具和环境
  • 分层架构:
    • 硬件层:微处理器、存储器、I/O设备
    • 抽象层(HAL/BSP):驱动层,屏蔽硬件细节
    • 操作系统层:嵌入式操作系统
    • 中间件层:复用和管理组件
    • 应用层:具体应用软件
2)嵌入式数据库系统 20:13
  • 嵌入式数据库系统的概念 20:20
    • 定义:运行在嵌入式设备中的数据库管理系统(EDBMS)
    • 典型应用:手机等移动设备的本地数据存储
  • 嵌入式数据库系统的使用环境特点 20:32
    • img
    • 移动性:设备可随时移动(如手机)
    • 网络特性:
      • 频繁断接:信号不稳定
      • 条件多样:WIFI/4G/5G切换
      • 通信不对称:下载快于上传
  • 嵌入式数据库系统的组成 22:02
    • 核心组件:
      • 嵌入式数据库(本地)
      • 主数据库(远程)
      • 同步服务器
      • 连接网络
  • 嵌入式数据库与主数据库的同步流程 22:19
    • 工作流程:
      • 本地数据存储在嵌入式数据库
      • 有网络时通过同步服务器上传至主数据库
      • 解决断网时的数据不一致问题
  • 嵌入式数据库系统数据一致性与安全性问题 23:45
    • 关键挑战:
      • 数据一致性维护
      • 高效事务处理
      • 数据安全保障
3)嵌入式操作系统 23:55
  • img
  • 启动过程:
    • BootLoader:初始化硬件、建立内存映射
    • 功能阶段:
      • 片级初始化(纯硬件)
      • 板级初始化(软硬件结合)
      • 系统级初始化(加载内核)
  • 设备驱动:
    • img
    • 硬件启动/关闭
    • 硬件停用/启用
    • 读写操作
  • 系统特点:
    • 微型化:体积小(几十MB级别)
    • 高质量代码:避免冗余
    • 专业化:针对特定硬件设计
    • 实时性强:快速响应
    • 可裁剪:按需去除不需要的功能模块
  • 开发特性:
    • img
    • 交叉编译:宿主机生成目标机代码
    • 交叉调试:宿主机调试目标机进程
2. 嵌入式实时操作系统 26:40
  • img
  • 系统组成:
    • 嵌入式处理器:需抵抗恶劣环境(高温/寒冷/电磁/加速度),工艺分民用/工业/军用三档
    • 支撑硬件:包括存储器、定时器、总线、I/O接口等
    • 嵌入式操作系统:具备实时性、可剪裁性和安全性特征
    • 支撑软件:以库形式提供开发公共服务
    • 应用软件:完成特定功能的专用软件
  • RTOS定义:
    • 全称:Real-Time Operating System(需记忆英文缩写)
    • 核心特征:
      • 确定性:给定初始状态下能在确定时间内给出确定结果
      • 可预测性:系统功能在运行前即可预测
    • 实时性要求:
      • 及时响应:必须在规定时间内完成反馈(如10秒内)
      • 正确性:反馈内容必须准确有效
  • 实时类型:
    • 硬实时:超时即系统失效(如航天控制系统)
    • 软实时:允许偶尔超时(如多媒体播放)
3. 实时操作系统特性 29:05
  • img
  • 三大核心机制:
    • 高精度计时系统:确保时间测量的精确性(毫秒/微秒级)
    • 多级中断嵌套:
      • 允许高优先级中断打断低优先级处理
      • 示例:处理事件A时被B中断,B执行中又被更高优先级的C中断
    • 实时调度机制:动态调整任务执行顺序保证及时性
  • 开发工具:
    • 编辑器:VS/eclipse/Keil等IDE,或UE/Source Insight等独立工具
    • 交叉编译:使用gcc等工具生成目标机可执行文件
    • 调试器:gdb通过串口/网络/JTAG等连接目标机调试
4. 应用案例
1)例题:RTOS叙述判断 31:11
  • img
  • 题目解析:
    • 关键考点:RTOS的可裁剪性和实时性特征
    • 选项分析:
      • A选项错误(嵌入式系统均支持软硬件裁剪)
      • D选项易混淆,实际正确(资源管理+实时响应是核心功能)
    • 答案:A
    • 记忆点:RTOS必须支持多任务和中断嵌套
2)例题:嵌入式操作系统特点 32:32
  • 题目解析:
    • 审题重点:题干要求选择"不是"的特点
    • 选项陷阱:
      • C选项"不支持多任务"是明显错误(现代系统均支持)
      • B/D选项容易误判,但实际符合嵌入式特性
    • 答案:C
    • 扩展理解:嵌入式系统必须满足小体积、高可靠性要求
二、嵌入式系统
  • img
  • 专用性强:面向特定应用需求,将通用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下的调试工具,嵌入式开发中常用。
  • 工具链:嵌入式软件开发包括编码、交叉编译和交叉调试,与普通开发(编码、编译、调试)的主要区别在于跨平台性。
三、应用案例

img

1. 例题:嵌入式系统开发叙述判断 44:53
  • 题目解析
    • 选项分析
      • A选项:宿主机和目标机之间只需要建立逻辑连接
        • 错误:需要建立真实的物理连接(如网口连网线、串口连串口线)
      • B选项:宿主机和目标机之间只能采用串口通信
        • 错误:可采用多种通信方式(串口/网口/并口等)
      • C选项:在宿主机上必须采用交叉编译器生成目标机可执行代码
        • 正确:因目标机架构不同必须使用交叉编译器
      • D选项:调试器和被调试程序必须安装在同一台机器上
        • 错误:通常调试器在宿主机,被调试程序在目标机
    • 关键概念
      • 宿主机:开发环境所在计算机
      • 目标机:实际运行嵌入式系统的设备
      • 交叉编译:在宿主机生成目标机可执行代码的过程
四、嵌入式系统核心知识
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的实时性差异 ⭐⭐⭐⭐
交叉开发环境 宿主机(开发/编译)与目标机(运行)分离,依赖交叉编译链和仿真调试工具 重点:交叉编译的必要性(硬件异构),易混淆点:宿主机调试器与目标机程序的通信方式 ⭐⭐⭐
Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐