0%

嵌入式基础

嵌入式系统总结

嵌入式导论

1712482459340.png

嵌入式定义:

嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。是包含有计算机,但又不是通用计算机的计算机应用系统

嵌入式计算机和通用计算机的对比:

特征 通用计算机 嵌入式系统
形式 看得见 看不见
类型 可以按照体系结构、运算速度、结构规模等划分 形式多样,按照应用来区分
组成 通用处理器、标准总线、外设 面向应用的嵌入式微处理器、总线和外部接口多集成在处理器内部
软硬件关系 软硬件相对 软硬件紧密集成
开发方式 开发、运行平台都是通用计算机 采用较差开发方式,开发平台一般是通用计算机、运行平台是嵌入式系统。
二次开发 程序可重新编制 一般不能再次编程
应用 走向功能性计算机 走向专用计算机

嵌入式系统的特点:

  1. 形式多样、面向特定应用的
  2. 得到多种类型的处理器和处理器体系结构的支持
  3. 极其关注成本
  4. 有实时性和可靠性的要求
  5. 使用的操作系统一般是适应多种处理器、可剪裁、轻量型、实时可靠、可固化的嵌入式操作系统
  6. 开发需要专门工具和特殊方法

嵌入式系统分类

  • 处理器位数分:
    • 4位
    • 8位
    • 16位
    • 32位(主流发展趋势)
    • 64位
  • 应用分类
  • 速度分类
    • 强实时系统(响应时间在毫秒或微妙级)
    • 一般实时系统(几秒的数量级)
    • 弱实时系统(数十秒或更长、且响应时间会随系统负载变化)
  • 确定性
    • 硬实时(系统对系统响应时间有严格的要求,如果系统响应时间不能满足,就要引起系统崩溃或致命的错误。)
    • 软实时(系统对系统响应时间有要求,但是如果系统响应时间不能满足,不会导致系统出现致命的错误或崩溃。)
  • 嵌入式系统软件结构分类
    • 循环轮询系统
    • 有限状态机系统
    • 前后台系统
    • 单处理器多任务系统
    • 多处理器多任务系统

循环轮询系统

1712498171847.png
initialize()
while(true)
{
if (condition_1) action_1();
if (condition_2) action_2();
......
if (condition_n) acition_n();
}

优点:

  • 对于简单的系统,便于编程和理解
  • 无中断机制,程序运行良好,不会出现随机的问题。

缺点:

  • 应用领域有限
  • 对与存在大量IO服务的应用,不易实现
  • 大程序不便于调试

循环轮询系统适合于慢速和非常快速的简单系统

前后台系统

前后台系统是中断驱动系统的一种,后台是一个循环轮询系统一直在运行,前台是由一些中断处理过程组成的。当有一个前台事件发生时,引起中断,进行前台处理,处理完成后又回到后台。

1712498544389.png

需要考虑的问题:

  1. 中断现场的保护和恢复
  2. 中断嵌套
  3. 中断处理过程与主程序的协调(共享资源)

系统性能指标:

  1. 中断延迟时间
  2. 响应时间
  3. 恢复时间
image-20240407220830332

单处理器多任务系统

当采用中断处理程序加一个后台主程序这种软件结构难以实时的、准确的、可靠的完成,并且存在一些互不相关的过程需要在一个计算机中同时处理。这种情况下就需要采用实时多任务系统。

结构:由多个任务,多个中断处理过程,实时操作系统组成的有机的整体。

每个任务是顺序执行的,并行性通过操作系统来完成,任务间的相互通信和同步也需要操作系统的支持。

1712499472007.png