这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » lpc2210,mem lpc2210分散加载文件mem_a

共2条 1/1 1 跳转至

lpc2210,mem lpc2210分散加载文件mem_a

院士
2006-09-17 18:14:16     打赏
lpc2210,mem lpc2210分散加载文件mem_a



关键词: lpc2210     分散     加载     文件    

院士
2006-12-22 22:43:00     打赏
2楼
问 1.我有一个test.c文件,定义了一个变量const int pp2=14;
2.然后修改mem_a文件.如下
ROM_LOAD 0x80000000
{
    ROM_EXEC 0x80000000
    {
        Startup.o (vectors, +First)
        * (+RO)
    }
    ROM_LOAD 0x81000000
    {
        test.o(+RW)
    }
    IRAM 0x40000000
    {
        Startup.o (+RW,+ZI)
    }

    STACKS 0x40004000 UNINIT
    {
        stack.o (+ZI)
    }

    ERAM 0x81000000
    {
        * (+RW,+ZI)
    }

    HEAP +0 UNINIT
    {
        heap.o (+ZI)
    }
}
编译可以通过.但为什么老是出现"No section matches pattern test.*o",写入外部ram的值也不对 1: 我修改为test.o(+ZI)或test.o(+RO)也不行,烦了几天了我修改为test.o(+ZI)或test.o(+RO)也不行,烦了几天了 2: 分散加载文件对楼上同志的几点建议:
1、分散文件一般指定,向量表、系统栈、用户栈、堆的分配位置,其他代码集中指定即可,如有特殊要求可指定代码的具体位置。因此认为 ROM_LOAD 0x81000000
    {
        test.o(+RW)
    }
IRAM 0x40000000
    {
        Startup.o (+RW,+ZI)
    }

没有必要存在。

2、我没有lpc2210工程模板,不知道是否存在heap.* 和stack.*文件。ZLG通常提供的工程模板不带该2文件,堆和栈的描述为Startup.o (Stacks)、Startup.o (Heap)。 3: 我指定一个变量到片外ram中只是作个测试.我指定一个变量到片外ram中只是作个测试.真正目的是把一段程序copy到片外ram里执行(0x81000000).好象论坛以前有人作过这样的测试,但没贴出是如何解决的.请高手回答.

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]