stm32f4 ram调试 IAR环境

2019-07-21 00:36发布

大家好,最近在弄stm32f4 Discovery开发板,看到很多人在讨论ram调试,我这里有几个问题想请教一下:
1.ram调试是不是必须得从ram启动?

2.我试了试从Flash启动,修改icf文件把intvec设置在0x80000000,其他只读或RW数据都放在RAM,RAM空出0x200给向量表,进入main函数再调用Nvic_setvectortable函数把向量表拷贝到ram首地址,好像不行。是不是因为单片机如果从Flash启动就会到Flash去找向量表,取到resethanderler后由于代码都在ram中,因此程序无法跳转?

3.如果从ram启动,把intvec设置为0x20000000,所有数据都放在ram,这样应该就没问题吧?最后是不是还得在main函数调用一下Nvic_setvectortable函数把向量表拷贝到ram首地址,目的是在使用中断的时候,让程序去ram中找向量表。因为单片机遇到中断一般都是去flash去找向量表的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-21 02:15
帮顶。。。。
美猴王
2楼-- · 2019-07-21 05:49
 精彩回答 2  元偷偷看……
zzu65
3楼-- · 2019-07-21 11:15
我在RAM中调试是可以的,修改BOOT从flash启动,不行
但是我碰到另外一个问题,在RAM中调试不能复位,一复位PC就跑到很大的地址,不知道怎么回事

一周热门 更多>