禁用看门狗:嵌入式开发中的shell脚本空格处理

需积分: 50 38 下载量 10 浏览量 更新于2024-08-08 收藏 6.48MB PDF 举报
"该资源是一本关于嵌入式软件设计的书籍,主要针对基于Kinetis K60/K64微控制器的开发,由清华大学出版社出版。书中详细讨论了从搭建开发环境到解决实际开发中遇到的问题,如看门狗的关闭、软件框架的选择、低功耗与DMA的优化、命令行工具、CMSIS-DSP运算库以及版本控制工具Git的使用。本书适合有一定C语言和嵌入式基础的大学生、研究生和从事嵌入式技术的工程师阅读,旨在提供实践经验和技术探讨的参考。" 在嵌入式系统开发中,"看门狗"是一种重要的功能,用于监控程序的执行状态。当程序由于某种原因陷入死循环或者异常时,看门狗定时器会在预设的时间间隔后触发系统复位,从而恢复正常的运行状态。在开发阶段,为了便于调试和避免不必要的复位,开发者可能希望暂时关闭看门狗。在Kinetis K60微控制器中,关闭看门狗的代码如下: ```c #if (DISABLE_WDOG) /* 关闭看门狗模块 */ WDOG->UNLOCK = WDOG_UNLOCK_WDOGUNLOCK(0xC520); WDOG->UNLOCK = WDOG_UNLOCK_WDOGUNLOCK(0xD928); WDOG->STCTRLH = WDOG_STCTRLH_BYTESEL(0x00) | WDOG_STCTRLH_WAITEN_MASK | WDOG_STCTRLH_STOPEN_MASK | WDOG_STCTRLH_ALLOWUPDATE_MASK | WDOG_STCTRLH_CLKSRC_MASK | 0x0100U; #endif ``` 这段代码通过宏`DISABLE_WDOG`的值来决定是否执行关闭看门狗的序列。这里,如果`DISABLE_WDOG`为非零,则执行相应的解锁和配置步骤来禁用看门狗。解锁操作是必要的,因为通常看门狗寄存器在出厂时被锁定,防止意外修改。配置`STCTRLH`寄存器的各个位可以控制看门狗的工作模式。 此外,书中还强调了从零开始搭建软件开发平台的重要性,包括理解芯片的启动过程、链接过程以及固件库的使用。书中介绍了几种常见的嵌入式系统开发框架,帮助读者根据具体的应用场景选择合适的程序组织方式。低功耗和DMA章节则提供了优化产品功耗和性能的策略,这对于电池供电或能源受限的设备至关重要。 命令行工具、CMSIS-DSP运算库以及Git的使用也是书中关注的点。命令行工具在单片机调试和自动化测试中扮演重要角色,CMSIS-DSP库提供了丰富的数字信号处理函数,可以加速算法的实现,而Git则用于版本控制,确保代码的安全性和可追溯性。 总而言之,这本书提供了一套全面的嵌入式软件开发实践指南,涵盖了从基础知识到高级技巧的多个层面,对于希望深入理解和掌握Kinetis K60/K64平台的开发者来说,是一本极具价值的参考资料。