我用的教程是这个附件。
其实我也不喜欢在RAM中调试。
可是我老板强烈要求。。说他以前用过一个号称可以刷写1k次得芯片。结果30次就当了。。还检查了好久才发现。
为了杜绝这个。。还是在ram中调试比较好。。。。。。。。。
顺他意思吧。。
我自己的设置跟教程不大一样,具体效果也能调试,不过还是对这些选项存疑的。
1.首先是对RAM.ini的修改
如图
加红线部分,必须在项目的根目录,之前试过好像./object/STM3210E-EVAL.axf是无法进入调试模式的。
这个教程也没有教要改。。貌似不改是不能进去调试的。看脚本就知道。就是自动进入main函数的脚本,载入axf错误会进入不了指定的main函数.
具体修改axf文件生成的目录可以通过optiion for target页面的output页面中的Select Folder For Object来设置
2.我不知道调试的时候代码写进stm32之前是不是一定要擦除,鉴于flash调试模式下是一定要擦除的,我在jtag设置这里选择了擦除。试验过一下,无论擦除与否,效果貌似都是一样的。不过我还是保险起见,选择了擦除,毕竟我只是骗keil把sram当做flash。(欢迎这里拍砖。。我不是很懂调试的机制)
,,还有个,这里我也选择了写进flash里面。。。不知道这几个动作是不是画蛇添足。。。反正没出什么问题
3.接着就是最要紧得地方了。在stm32的库里面有几个关于flash基地址和sram基地址的宏定义,我这个不知道该不该改。之前调试没问题。。可是要对内存和flash操作的时候这里会不会出错???。。。。。。。这个等待大虾来指点一下
4.有的时候因为芯片的sram内容丢失,调试的时候却不能发现sram已经清空,会调试不成功的。这时候可以选择download to flash选项就可以把内容下载到芯片上,重新调试就可以了。
5.如果平时调试操作途中出错,可以手动复位,然后download to flash就可以继续调试了。
|