嵌入式程序设计与分析
1. 引言
嵌入式程序的创建是嵌入式系统设计的核心。与编写典型的工作站或 PC 程序相比,设计和实现嵌入式程序更具挑战性。嵌入式代码不仅要提供丰富的功能,还需以所需的速率运行以满足系统期限,适应允许的内存量,并满足功耗要求。
在讨论中,我们主要关注高级编程语言,特别是 C 语言。如今,高级语言程序在嵌入式系统中已很常见。不过,若编译器的结果不够理想,程序的某些部分可能仍需用汇编语言编写。本章研究的许多分析和优化技术同样适用于汇编语言编写的程序。
接下来将介绍嵌入式软件中常用的一些软件组件,引入控制/数据流图作为高级语言程序的模型,回顾汇编和链接过程,介绍编译技术、程序性能分析方法,以及针对嵌入式计算的优化技术,讨论确保程序正确性和安全性的技术,最后给出两个设计示例。
2. 嵌入式程序的组件
嵌入式软件中常用的三种结构或组件的代码,分别是状态机、循环缓冲区和队列。状态机适用于用户界面等反应式系统,循环缓冲区和队列在数字信号处理中很有用。
2.1 状态机
2.1.1 状态机风格
当输入间歇性出现而非周期性采样时,将系统视为对这些输入做出反应是很方便的。大多数系统的反应可以根据接收到的输入和系统的当前状态来描述,这自然引出了用有限状态机风格来描述反应式系统的行为。而且,以这种方式指定行为后,用状态机风格编写实现该行为的程序是很自然的,这种编程风格也是此类计算的高效实现方式。
2.1.2 编程示例:C 语言中的状态机
以简单的安全带控制器为例,该控制器的任务是,如果有人坐在座位上且在规定时间内未系好安全带,则打开
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



