首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

程序放在片外FLASH,想运行在RAM中,需要如何做? ADS1.2

2012-04-06 
程序放在片外FLASH,想运行在RAM中,需要怎么做? ADS1.2在网上看到可通过分散加载文件重定向:C/C++ code ROM

程序放在片外FLASH,想运行在RAM中,需要怎么做? ADS1.2
在网上看到可通过分散加载文件重定向:

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来实现的啦。。。
[解决办法]
学习中
[解决办法]
学习中

热点排行