嵌入式恒温器程序开发与调试全流程指南
1. 恒温器程序基础搭建
在进行实际编程时,首先要复制measure.c文件并将其命名为thermostat.c。由于thermostat.c已经是measure项目makefile中的依赖项,若要让其在 Eclipse 中可见,只需在项目资源管理器视图中右键点击measure并选择“刷新”即可。
在thermostat.c里实现状态机,需将setpoint、limit和deadband变量声明为全局整数。为了得到合理的温度值并便于调节电位器,建议将readAD()返回的值除以 10。同时,选择一个合适的设定点,并将限制值设定在设定点之上几度,正负一个计数的死区可能就足够了。
2. 使用主机工作站作为调试环境
尽管远程 GDB 能让我们很好地了解目标程序的行为,但在主机开发机器上进行初始调试也有诸多好处。项目一开始主机就可用,可能远早于任何实际目标硬件准备好或正常工作。而且在很多情况下,用模拟来精确测试极限条件比用实际硬件更容易。主机还有文件系统,可用于创建测试脚本和记录测试结果。
大多数嵌入式系统软件中,大约 5% 到 10% 的代码直接与硬件交互,其余代码与硬件无关。只要代码结构合理,将依赖硬件的元素隔离,就无需硬件来测试这些代