Keil µVision 5 是嵌入式开发中常用的集成开发环境(IDE),以下是一些调试技巧,帮助提高效率:
1. 断点设置
1.软件断点:在代码行左侧点击或按 F9 设置断点,程序执行到该行时会暂停。
2.硬件断点:适用于资源受限的微控制器,数量有限但不会影响代码执行速度。
2. 单步调试
1.Step Over (F10):执行当前行,跳过函数调用。
2.Step Into (F11):进入函数内部逐行调试。
3.Step Out (Ctrl+F11):从当前函数跳出,返回到调用处。
3. 查看变量和内存
1.Watch Window:实时监控变量值,右键变量选择“Add to Watch”即可。
2.Memory Window:查看特定内存地址的内容,输入地址即可显示。
3.Call Stack:查看函数调用链,帮助理解程序执行流程。
4. 外设寄存器查看
5.Peripheral Viewer:查看和修改外设寄存器状态,调试外设配置时非常有用。
5. 逻辑分析仪
1.Logic Analyzer:通过软件逻辑分析仪监控信号,帮助调试时序问题。
6. 实时跟踪
1.Trace:使用硬件跟踪功能捕获程序执行路径,适合调试复杂实时系统。
7. 调试宏
1.Debug Macros:在调试时执行特定任务,如打印信息或修改变量。
8. 性能分析
1.Performance Analyzer:分析代码执行时间,找出性能瓶颈。
9. 调试脚本
1.Debug Scripts:使用脚本自动化调试任务,如设置断点或修改变量。
10. 多核调试
1.Multi-core Debugging:支持多核处理器调试,可同时调试多个内核。
11. 调试优化代码
1.Optimized Code Debugging:调试优化代码时,变量可能被优化掉,使用 volatile 关键字防止优化。
12. 使用仿真器
1.Simulator:无硬件时使用仿真器调试,适合初步验证代码逻辑。
13. 调试信息输出
1.ITM (Instrumentation Trace Macrocell):通过 ITM 输出调试信息到控制台,适合调试实时系统。
14. 调试配置
1.Debug Configuration:根据需求配置调试选项,如复位类型、时钟频率等。
15. 调试日志
1.Debug Logging:在代码中添加日志输出,帮助理解程序执行流程。
16. 调试时修改变量
1.Modify Variable:在调试过程中修改变量值,测试不同条件下的程序行为。
17. 调试时查看汇编代码
1.Disassembly Window:查看当前执行的汇编代码,适合深入调试或优化。
18. 调试时查看外设状态
1.Peripheral State:查看外设的实时状态,如 GPIO、UART 等。
19. 调试时查看堆栈使用
1.Stack Usage:查看堆栈使用情况,防止堆栈溢出。
20. 调试时查看中断
1.Interrupt Debugging:调试中断服务程序,查看中断触发和执行情况。