1 摘要本篇应用笔记主要介绍华大半导体 MCU* 在低功耗模式下调试程序的方法。 本篇应用笔记主要包括:
工作模式介绍
低功耗模式下调试程序的方法
注意:- 本应用笔记为华大半导体 MCU* 的应用补充材料,不能代替用户手册,具体功能及寄存器的操作等相关事项请以用户手册为准。
2 工作模式介绍
本系列 MCU 的具有三种工作模式:
1) 运行模式(ActiveMode):CPU 运行,片内外设正常运行,SWD 接口正常运行。
2) 休眠模式(SleepMode):CPU 停止,片内外设正常运行,SWD 接口正常运行。
3) 深度休眠模式(DeepSleepMode):CPU 停止,大部分片内外设停止运行,SWD 接口停止运行。
3 低功耗模式下调试程序的方法
由于深度休眠模式下,SWD 接口停止工作,所以只能借用休眠模式调试工作于深度休眠模式下的代码。
3.1 休眠模式下调试程序的方法
1. 在__WFI()函数所在行设置断点。
2. 在__WFI()函数的下一行设置断点。
3. 当程序运行到__WFI()函数所在行时,在 IDE 中选择【全速执行】。
4. 当发生中断后,中断信号唤醒 MCU,程序自动执行到__WFI()函数的下一行。
注意:- 需要 SWD 接口使能(SYSCTRL1.SWD_USE_IO=0)。- 执行__WFI()函数时,必须是全速执行;不可以单步执行。
3.2 深度休眠模式下调试程序的方法
1. __WFI()函数的前一行写入 SCB_SCR = 0x00。
2. 按 3.1 休眠模式下调试程序的方法对程序的功能进行调试。
3. 功能调试完成后,将__WFI()函数的前一行程序修改为 SCB_SCR = 0x01<<2 。
注意:- 需要 SWD 接口使能(SYSCTRL1.SWD_USE_IO=0)。- 执行__WFI()函数时,必须是全速执行;不可以单步执行。
4 总结以上章节简要介绍了低功耗模式下调试程序的方法,用户在实际应用开发中可根据实际情况参考本例对程序进行调试。
|