嵌入式系统总结
嵌入式导论
嵌入式定义:
嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。是包含有计算机,但又不是通用计算机的计算机应用系统
嵌入式计算机和通用计算机的对比:
特征 | 通用计算机 | 嵌入式系统 |
---|---|---|
形式 | 看得见 | 看不见 |
类型 | 可以按照体系结构、运算速度、结构规模等划分 | 形式多样,按照应用来区分 |
组成 | 通用处理器、标准总线、外设 | 面向应用的嵌入式微处理器、总线和外部接口多集成在处理器内部 |
软硬件关系 | 软硬件相对 | 软硬件紧密集成 |
开发方式 | 开发、运行平台都是通用计算机 | 采用较差开发方式,开发平台一般是通用计算机、运行平台是嵌入式系统。 |
二次开发 | 程序可重新编制 | 一般不能再次编程 |
应用 | 走向功能性计算机 | 走向专用计算机 |
嵌入式系统的特点:
- 形式多样、面向特定应用的
- 得到多种类型的处理器和处理器体系结构的支持
- 极其关注成本
- 有实时性和可靠性的要求
- 使用的操作系统一般是适应多种处理器、可剪裁、轻量型、实时可靠、可固化的嵌入式操作系统
- 开发需要专门工具和特殊方法
嵌入式系统分类
- 处理器位数分:
- 4位
- 8位
- 16位
- 32位(主流发展趋势)
- 64位
- 应用分类
- 速度分类
- 强实时系统(响应时间在毫秒或微妙级)
- 一般实时系统(几秒的数量级)
- 弱实时系统(数十秒或更长、且响应时间会随系统负载变化)
- 确定性
- 硬实时(系统对系统响应时间有严格的要求,如果系统响应时间不能满足,就要引起系统崩溃或致命的错误。)
- 软实时(系统对系统响应时间有要求,但是如果系统响应时间不能满足,不会导致系统出现致命的错误或崩溃。)
- 嵌入式系统软件结构分类
- 循环轮询系统
- 有限状态机系统
- 前后台系统
- 单处理器多任务系统
- 多处理器多任务系统
循环轮询系统
initialize() |
优点:
- 对于简单的系统,便于编程和理解
- 无中断机制,程序运行良好,不会出现随机的问题。
缺点:
- 应用领域有限
- 对与存在大量IO服务的应用,不易实现
- 大程序不便于调试
循环轮询系统适合于慢速和非常快速的简单系统
前后台系统
前后台系统是中断驱动系统的一种,后台是一个循环轮询系统一直在运行,前台是由一些中断处理过程组成的。当有一个前台事件发生时,引起中断,进行前台处理,处理完成后又回到后台。
需要考虑的问题:
- 中断现场的保护和恢复
- 中断嵌套
- 中断处理过程与主程序的协调(共享资源)
系统性能指标:
- 中断延迟时间
- 响应时间
- 恢复时间
单处理器多任务系统
当采用中断处理程序加一个后台主程序这种软件结构难以实时的、准确的、可靠的完成,并且存在一些互不相关的过程需要在一个计算机中同时处理。这种情况下就需要采用实时多任务系统。
结构:由多个任务,多个中断处理过程,实时操作系统组成的有机的整体。
每个任务是顺序执行的,并行性通过操作系统来完成,任务间的相互通信和同步也需要操作系统的支持。