| 
 
| 我将外部ram去掉了,(因为做产品要节约成本), 我用开发板光盘里面的程序调试,设置成 DebugInChipFlash<br />然后将mem_c.scf 的<br />ROM_LOAD 0x0<br />{<br />    ROM_EXEC 0x00000000<br />    {<br />        Startup.o (vectors, +First)<br />        * (+RO)<br />    }<br /><br />    IRAM 0x40000000<br />    {<br />        Startup.o (MyStacks)<br />    }<br /><br />    STACKS_BOTTOM +0 UNINIT<br />    {<br />        Startup.o (StackBottom)<br />    }<br /><br />    STACKS 0x40004000 UNINIT<br />    {<br />        Startup.o (Stacks)<br />    }<br /><br />    ERAM 0x80000000<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 />修改了一下,(我想如果要上面这段,程序如果用到0x80000000,就可能跑飞,所以删除),(另外,我看到一些例子程序的mem_c.scf 也是跟下面一样的):<br />ROM_LOAD 0x0<br />{<br />    ROM_EXEC 0x00000000<br />    {<br />        Startup.o (vectors, +First)<br />        * (+RO)<br />    }<br /><br />    IRAM 0x40000000<br />    {<br />        Startup.o (MyStacks)<br />    }<br /><br />    STACKS 0x40004000 UNINIT<br />    {<br />        Startup.o (Stacks)<br />    }<br /><br />    HEAP +0 UNINIT<br />    {<br />        Startup.o (Heap)<br />    }<br />}<br /><br />结果ads编译报警了<br />Could not place Os_cpu_c.o(.bss) in any Execution region<br />......<br /><br />请问怎么改呢?为什么有些简单的例子程序用上面这个mem_c.scf 就可以,没有报警呢?<br /><br />另外没有改之前,设置成DebugInExRam编译可以通过,但仿真的时候一进 main()就跑飞了。 | 
 |