打印
[ZLG-ARM]

在问分散加裁问题

[复制链接]
1388|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yanghuyue|  楼主 | 2007-6-18 14:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
pi, ST, IO, gp, GPIO



我的分散加载文件如下(见后):
ROM_LOAD 0x0
{
    ROM_EXEC 0x00000000 0x0000c000
    {
        Startup.o (vectors, +First)
        CGPIOINOUT_Fix.o (+RO)
        CIap.o(+RO)  
        main.o(+RO) 
        CGPIOOUT_Fix.o (+RO)
        CGPIOIN_Fix.o (+RO)
        CSMISPI_Fix.o (+RO)
        CFlash_Fix.o (+RO) 
    }
}

ROM_LOAD1 0x0000c000
{
    ROM_EXEC1 +0
    {
     main_user.o(+RO) 
        * (+RO)
    }
    IRAM 0x40000000
    {
        Startup.o (MyStacks)
        * (+RW,+ZI)
    }

    HEAP +0 UNINIT
    {
        Startup.o (Heap)
    }

    STACKS 0x40008000 UNINIT
    {
        Startup.o (Stacks)
    }
}


但     CGPIOINOUT_Fix.o (+RO)
        CIap.o(+RO)  
        CGPIOOUT_Fix.o (+RO)
        CGPIOIN_Fix.o (+RO)
        CSMISPI_Fix.o (+RO)
        CFlash_Fix.o (+RO)
这几个类只要定义全局变量就如有如下错误
则编译出错:
   cannt use baseed/limit symbols for no_contiguous section C&&pi_ctorvec
  把们定义是局部就会运行正确。
我的目的是,把Startup.o (vectors, +First)
        CGPIOINOUT_Fix.o (+RO)
        CIap.o(+RO)  
        main.o(+RO) 
        CGPIOOUT_Fix.o (+RO)
        CGPIOIN_Fix.o (+RO)
        CSMISPI_Fix.o (+RO)
        CFlash_Fix.o (+RO
这几个文件放在0-0000c000这个地址,这几个文件只有3K大。
其他的在c000地址后。
 为什么有这种错误?
 

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

23

帖子

0

粉丝