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