error: relocation value truncated at 0xa44 in section .text, file

转载自:http://jjf19850615.blog.163.com/blog/static/35688147201210312544551/

error message提示我的.text空间有问题(error: relocation value truncated at 0xa44 in section .text, file)

看到这个错误主要是我们在代码中定义的数组太大了,导致这个原因。解决办法:
1.在cmd中在SDRAM分配了一块空间,用来专门存放这几个数组,如下面红色字体:
/* Memory Map 0 - the default */
-heap  0x120000/*0x9100;0xEF7B000;0xFFFFFF*/
-stack 0x2000/*0x83000xC00;0x1330;0x97B00;0x15E00This Stack Is So Long We Will Make It short !*/
MEMORY
{
PMEM: o = 00000000h l = 00010000h
BMEM: o = 00010000h l = 00030000h 
DATA: o = 80000000h l = 0001E000h
SDRAM: o = 8001E000h l = 03FE2000h
}

SECTIONS
{    
    .text       >   SDRAM
    .csldata PMEM
    .stack >   BMEM
    .far >   SDRAM
    .switch >   SDRAM 
    .tables  >   SDRAM
    .data    >   SDRAM
    .bss >   SDRAM
    .sysmem >   SDRAM
    .cinit >   SDRAM
    .const >   SDRAM
    .cio     >   SDRAM
    my_data     >   DATA
}

然后以下面的格式将我们定义的数组放到这个 my_data数据段中
#pragma DATA_SECTION(U, "my_data")
double U[PERM_LEN]={0};

2.如果上面这步还是不行,则需要调整修改Build option-advance选项,把memory mode,我改成第二个就可以运行了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值