一、嵌入式程序在运行过程中发现BUG,很多时候嵌入程序都处于黑盒运行状态,如要查找故障点将会花费大量时间翻查程序,如果这时候能把调试器插在目标板上,不中断目标板程序运行,利用在线调试方式可以快速定位程序BUG位置
二、这种方式首先保证芯片的SWD口或JTAG口没有被禁用,烧录在MCU的BIN文件与现有的AXF文件保持一致
三、实施步骤
1、去掉启动时加载程序,加载ini文件
ini文件文件内容如下:
LOAD %L INCREMENTAL
2、取消连接后复位项
3、取消Update Target Before Debugging
4、下载更新Flash程序使用DownLoad按键
四、测试
while( 1 ){
static uint16_t index=0;
index++;
rt_thread_delay(500);
LOG_D("the index %d",index);
}
如果打印index数值没有被中断,则MCU程序内存,寄存器没有被重置,即现场不会被破坏
五、测试结果
载入运行中的程序打印中断,
在需要调试位置打入断点,程序变量自增1
全速运行,index数值可以连续,测试成功