数据处理脚本:
z@z-ThinkPad-T400:~/zworkT400/EDA_heiche/zREPOgit/simple-gcc-stm32-project$ cat zEDA_postProcessing.cmd
cat Project.map | grep "\" | grep -o 2000.... | sed 's/^/0x/g' \
| xargs -i echo mdh {} 100 | nc localhost 4444 | sed 's/.*://g' | grep "\<0[0-9a-f]*\>" -o | grep -v 0000 | tr '[a-z]' '[A-Z]' \
| sed '1i obase=10;ibase=16' | bc | xargs -i sed -n '{}p' USER/MiniBalance.c
先从map文件中,找到zpc数组,然后取出它的地址,加上0x,再修改成mdh 命令,由nc交给openocd,
zpc中存的是PC位置,调试用的,
回来的数据,转成10进制,再到源码中找到对应的行,显示出来。
MiniBalance.c文件中,安插了多处压栈pc值的C语句,运行完成后,统一从zpc数组中取出来。
网友评论