禁用看门狗:嵌入式开发中的shell脚本空格处理
需积分: 50 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平台的开发者来说,是一本极具价值的参考资料。
2017-12-15 上传
2021-02-26 上传
2020-09-14 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-10-19 上传
黎小葱
- 粉丝: 24
- 资源: 3961
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章