load域和EXEC的域必须一样吗,在lpc2214内部ram里单步运行的时候?<br />ROM_LOAD 0x40000000 <br />{<br /> ROM_EXEC 0x40000000 <br /> {<br /> init.o (Init, +First)<br /> * (+RO)<br /> }<br />}<br /><br />ROM_LOAD0 0x40002000<br />{<br /> ROM_EXEC0 0x40002000<br /> {<br /> start.o (+RO)<br /> }<br />}<br /><br />RAM_LOAD1 0x80005000<br />{<br /> RAM1 0x80005000 UNINIT<br /> {<br /> stack.o (+ZI)<br /> }<br /> RAM2 0x80006000<br /> {<br /> * (+RW,+ZI)<br /> }<br /><br /> HEAP +0 UNINIT<br /> {<br /> heap.o (+ZI)<br /> } <br />}<br /><br />如上所示的scf文件,将<br />ROM_LOAD0 0x40002000<br />{<br /> ROM_EXEC0 0x40002000<br /> {<br /> start.o (+RO)<br /> }<br />}<br />改为<br />ROM_LOAD0 0x40002000<br />{<br /> ROM_EXEC0 0x40003000<br /> {<br /> start.o (+RO)<br /> }<br />}<br />则单步运行结果不正确。<br />如果在flash中运行时,若exec和load域不一样,把load域的东西<br />写程序搬移到exec域,再b _main 语句时,则执行结果正确,为什么在内部ram里就不能单步执行阿?看到编译后的二进制文件都不对。谢谢,已经捣鼓了好几天了,郁闷!<br /> |
|