ROM_LOAD 0x80000000<br />{<br /> ROM_EXEC 0x80000000<br /> {<br /> Startup.o (vectors, +First)<br /> * (+RO)<br /> }<br /><br /> ERAM1 0x80002000<br /> {<br /> Startup.o (MyStacks)<br /> }<br /><br /> STACKS_BOTTOM +0 UNINIT<br /> {<br /> Startup.o (StackBottom)<br /> }<br /><br /> STACKS 0x80004000 UNINIT<br /> {<br /> Startup.o (Stacks)<br /> }<br /><br /> ERAM 0x80030000<br /> {<br /> * (+RW,+ZI)<br /> }<br /><br /> HEAP +0 UNINIT<br /> {<br /> Startup.o (Heap)<br /> }<br /><br /> HEAP_BOTTOM 0x80080000 UNINIT<br /> {<br /> Startup.o (HeapTop)<br /> }<br /><br />}<br />分散加载函数的目的是把使用的资源全部移到外部,然后在内部的SRAM中开辟一块空间,目的是使用IAP的时候做缓存。<br /><br />如下是函数一部分是使用指针开辟内部缓存的.<br /> volatile UINT32 * WriteData ;<br /> <br /> WriteData= (UINT32*)0x40004000; <br /> <br /> for(i = 0; i < 128; i++){ //清除内存<br /> WriteData=0;<br /> }<br />函数执行完此段代码后函数返回时 跳到取指令终止!<br /> |
|