jlink调试stm32,debug时读取内存值

来源:互联网 发布:求数组最大值 编辑:程序博客网 时间:2024/06/05 03:13

程序中为AD采样开启了一个很大的buffer。由于在从串口输出采样值时无法正常保存采样值(丢数据),因此在buffer满以后用keil自带的指令从内存中提取AD值,然后再做分析。

步骤:

1.采样完成以后,打断点,停止程序运行。

2.打开command窗口,执行命令保存数据。

    比如:数组为 unsigned short ad_buffer[5000],起始地址为0x200062A8,ad_buffer[4999]的地址为0x200089B8。在command窗口中输入“SAVE D:\1.TXT 0x200062a8,0x200089ba”。这样在D盘下就会产生一个1.txt的文件,其中就包含了ad_buffer中的数据。这里要注意第二个地址,它指的是ad_buffer[5000]的地址,如果输入的是0x200089b8,那么生成的数据就会缺少ad_buffer[4999].

生成的数据类似于下图,内容是HEX386格式的

然后按照HEX386格式就可以解析该文件从而得到AD值。

下图为keil帮助文件中对于SAVE指令的说明。



0 0