在网上看到可通过分散加载文件重定向:
- C/C++ code
ROM_EXEC 0x80000000 0x40000 { Startup.o (vectors, +First); * (+RO) //这是在片外FLASH正常运行时的代码 __main.o (+RO) //这是想在RAM中运行的代码 *(Region$$table) //这是想在RAM中运行的代码 *(ZISection$$table) //这是想在RAM中运行的代码 } IRAM 0x40000000 0x4000 { Startup.o (MyStacks) } STACKS_BOTTOM +0 UNINIT { Startup.o (StackBottom);栈长度限制值 } STACKS 0x40004000 UNINIT { Startup.o (Stacks);栈基地址 } ERAM 0x81000000 0x100000 { * (+RO,+RW,+ZI) //这是想在RAM中运行的代码 ; * (+RW,+ZI) //这是在片外FLASH正常运行时的代码 } HEAP +0 UNINIT { Startup.o (Heap);heap基地址 } HEAP_BOTTOM 0x81100000 UNINIT { Startup.o (HeapTop);heap长度限制值 }
这样设置后,程序跑不起来. 网上又说需要增加COPY代码,我不知道应该在什么时候CP,怎么CP?有没有人帮帮啊.
程序在片外已经跑起来了.只是速度不理想.
------解决方案--------------------
start.s文件里改一下启动文件,里面有个存储器映射寄存器好像得改一下,你试试。
------解决方案--------------------
csdn里面搜下吧,以前有人问过
------解决方案--------------------
Startup.s来实现的啦。。。
------解决方案--------------------
学习中
------解决方案--------------------
学习中