我修改了scatter文件,如下,直接通过AXD下载后可以跑起来(调试板没有外部RAM和Nor Flash),但是很容易就出现取指异常或取数据异常,程序中使用了链表,并且在任务和中断服务中都使用了该链表,但是我使用的时候都会先关中断,检查了N遍了都没有发现什么问题;<br /><br />现在怀疑另外一个问题,我在中断服务中递减一个变量,在任务中轮询访问该变量(该变量定义成volatile,但是访问的时候没有关中断),直到该变量为0,不知这样操作会不会引起问题?谢谢!<br /><br />ROM_LOAD 0x40000000<br />{<br /> ROM_EXEC 0x40000000<br /> {<br /> Startup.o (vectors, +First)<br /> * (+RO)<br /> }<br /><br />; RW code Offset 32K<br /> IRAM 0x40008000<br /> {<br /> Startup.o (+RW,+ZI)<br /> os_cpu_a.o (+RW,+ZI)<br /> }<br /><br /> IRAM1 0x4000A000<br /> {<br /> * (+RW,+ZI)<br /> }<br /> <br />; HEAP <br /> HEAP +0 UNINIT<br /> {<br /> heap.o (+ZI)<br /> }<br /> <br />; No ERAM<br /><br />; STACKS <br /> STACKS +0 UNINIT<br /> {<br /> stack.o (+ZI)<br /> }<br /> }<br />
|