在调试板子内部NOR FLASH以及外扩SRAM的时候发现一个很诡异的问题,我用的是STM3210E-EVAL原厂的板子,加上ST的固件库3.3版本。
在JTAG单步跟踪的情况下,执行外扩的RAM初始化没有问题,读写也没有问题,都是正确的,但是一旦让板子拔掉JTAG,重新上电运行,发现读或者写外扩SRAM或者NOR FLASH就死掉了,到了中断HardFaultException()里面去了。
这个没有道理啊,单步调试都没有问题,程序很简单。
1. 初始化时钟
2. 初始化SRAM
3. 初始化NORFLASH
4. 读写测试。写个值进去,然后读出来,用LED灯看读的东西正确不。
关键它在JTAG单步跟踪情况下没有问题,在正常情况下就出这个问题了。很糊涂,请教大家各位高手了。 |