用LPC2134做的程序,需要分散加载,以下两种方式都是参考书上写的,但都有问题,请周工祥解,多谢!<br /><br />ROM_LOAD 0x00000000<br />{<br /> ROM_EXEC 0x00000000 <br /> {<br /> Startup.o (vectors, +First)<br /> *.o (+RO)<br /> }<br /><br /> <br /><br /><br /> IRAM 0x40000000<br /> {<br /> Startup.o (MyStacks)<br /> * (+RW,+ZI)<br /> }<br /><br /> HEAP +0 UNINIT<br /> {<br /> Startup.o (Heap)<br /> }<br /><br /> STACKS 0x40004000 UNINIT<br /> {<br /> Startup.o (Stacks)<br /> }<br /><br /> ROM_DATA1 0x00008000<br /> {<br /> flash.o (+RO)<br /><br /> }<br /><br /><br /> ROM_DATA2 0x00010000<br /> {<br /> maincheck.o(+RO)<br /> ourCommand.o(+RO)<br /> command.o(+RO)<br /> }<br /><br /><br /><br />}<br />这个加载文件可以编译通过,但执行时出现,取数据终止;<br /><br /><br />另外的方式写的加载文件编译时出错<br />ROM_LOAD1 0x00008000<br />{<br /> ROM_DATA1 0x00008000<br /> {<br /> flash.o (+RO)<br /><br /> }<br /><br />}<br /><br />ROM_LOAD2 0x00010000<br />{<br /> ROM_DATA2 0x00010000<br /> {<br /> maincheck.o(+RO)<br /> ourCommand.o(+RO)<br /> command.o(+RO)<br /> }<br /><br />}<br /><br /><br />ROM_LOAD 0x00000000<br />{<br /> ROM_EXEC 0x00000000 <br /> {<br /> Startup.o (vectors, +First)<br /> *.o (+RO)<br /> }<br /><br /> <br /><br /><br /> IRAM 0x40000000<br /> {<br /> Startup.o (MyStacks)<br /> * (+RW,+ZI)<br /> }<br /><br /> HEAP +0 UNINIT<br /> {<br /> Startup.o (Heap)<br /> }<br /><br /> STACKS 0x40004000 UNINIT<br /> {<br /> Startup.o (Stacks)<br /> }<br /><br /><br /><br />}<br /><br /> |
|