打印
[ARM9、LPC]

IAR如图的错误是怎么回事

[复制链接]
2772|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lester1101|  楼主 | 2016-2-19 11:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前公司的的一个成熟产品的工程at91sam9261的,现在用新的版本IAR打开,编译出现了同样的错误14处,是怎么回事

Building configuration: at91sam9261-ek - at91sam9261_sdram
Updating build tree...

Linking
ilinkarm.exe E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\EccNandFlash.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\
MEDDdram.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\MEDFlash.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\
MEDSdcard.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\MEDSdram.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\Media.o  
E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\NandFlashModel.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\
NandFlashModelList.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\NandSpareScheme.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\RawNandFlash.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\SkipBlockNandFlash.o E:\AT91SAM9261\
ewp\at91sam9261_sdram\Obj\ads7843.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\aic.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\app.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\board_cstartup_iar.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\board_lowlevel.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\board_memories.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\cp15.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\cp15_asm_iar.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\crc-ccitt.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\crc-itu-t.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\crc16.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\crc7.o E:\AT91SAM9261\ewp\at91sam9261_sdram\
Obj\dbgu.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\disp.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\draw.o E:\
AT91SAM9261\ewp\at91sam9261_sdram\Obj\flash.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\font.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\hamming.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\hum20.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\lcd_arm.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\lcdd.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\main.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\math.o E:\AT91SAM9261\ewp\at91sam9261_sdram\
Obj\os_core.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\
os_cpu_c.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_dbg.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_flag.o E:\
AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_mbox.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_mem.o E:\
AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_mutex.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_q.o E:\AT91SAM9261\
ewp\at91sam9261_sdram\Obj\os_sem.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_task.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\os_time.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_tmr.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\pio.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\pio_it.o E:\AT91SAM9261\ewp\at91sam9261_sdram\
Obj\pit.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\pmc.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\sdmmc_mci.o E:\
AT91SAM9261\ewp\at91sam9261_sdram\Obj\smbus.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\spi.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\tc.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\time.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\
trace.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\ts.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\tsadcc.o E:\
AT91SAM9261\ewp\at91sam9261_sdram\Obj\tsd_ads7843.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\tsd_com.o E:\
AT91SAM9261\ewp\at91sam9261_sdram\Obj\tsd_tsadc.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\twi.o E:\AT91SAM9261\ewp\
at91sam9261_sdram\Obj\twid.o E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\usart.o --redirect _Printf=_PrintfSmall --redirect  
_Scanf=_ScanfSmall -o E:\AT91SAM9261\ewp\at91sam9261_sdram\Exe\at91sam9261_sdram.out --map E:\AT91SAM9261\ewp\
at91sam9261_sdram\List\at91sam9261_sdram.map --config E:\AT91SAM9261\at91lib\boards\at91sam9261-ek\at91sam9261\sdram.icf  
--diag_suppress Lp005,Lp006 --semihosting --entry resetHandler

   IAR ELF Linker V6.10.1.52143/W32 for ARM
   Copyright 2007-2010 IAR Systems AB.
Error[Lp002]: relocation failed: value out of range or illegal: 0xad48
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x200048c0
               "OS_CPU_SR_Restore" + 0x8
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0x28
     Target  : 0x2000f610
               "??OS_TaskSwHook"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x168
Error[Lp002]: relocation failed: value out of range or illegal: 0xad54
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x200048d0
               "OSStartHighRdy" + 0x10
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0x38
     Target  : 0x2000f62c
               "??OS_Running"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x184
Error[Lp002]: relocation failed: value out of range or illegal: 0xad50
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x200048dc
               "OSStartHighRdy" + 0x1c
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0x44
     Target  : 0x2000f634
               "??OS_TCBHighRdy"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x18c
Error[Lp002]: relocation failed: value out of range or illegal: 0xad18
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x20004910
               "OSCtxSw" + 0x1c
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0x78
     Target  : 0x2000f630
               "??OS_TCBCur"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x188
Error[Lp002]: relocation failed: value out of range or illegal: 0xacec
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x2000491c
               "OSCtxSw" + 0x28
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0x84
     Target  : 0x2000f610
               "??OS_TaskSwHook"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x168
Error[Lp002]: relocation failed: value out of range or illegal: 0xacf4
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x20004928
               "OSCtxSw" + 0x34
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0x90
     Target  : 0x2000f624
               "??OS_PrioCur"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x17c
Error[Lp002]: relocation failed: value out of range or illegal: 0xacf4
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x2000492c
               "OSCtxSw" + 0x38
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0x94
     Target  : 0x2000f628
               "??OS_PrioHighRdy"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x180
Error[Lp002]: relocation failed: value out of range or illegal: 0xacf0
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x20004938
               "OSCtxSw" + 0x44
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0xa0
     Target  : 0x2000f630
               "??OS_TCBCur"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x188
Error[Lp002]: relocation failed: value out of range or illegal: 0xacf0
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x2000493c
               "OSCtxSw" + 0x48
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0xa4
     Target  : 0x2000f634
               "??OS_TCBHighRdy"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x18c
Error[Lp002]: relocation failed: value out of range or illegal: 0xacb0
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x20004958
               "OSCtxSw" + 0x64
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0xc0
     Target  : 0x2000f610
               "??OS_TaskSwHook"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x168
Error[Lp002]: relocation failed: value out of range or illegal: 0xacb8
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x20004964
               "OSIntCtxSw" + 0xc
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0xcc
     Target  : 0x2000f624
               "??OS_PrioCur"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x17c
Error[Lp002]: relocation failed: value out of range or illegal: 0xacb8
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x20004968
               "OSIntCtxSw" + 0x10
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0xd0
     Target  : 0x2000f628
               "??OS_PrioHighRdy"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x180
Error[Lp002]: relocation failed: value out of range or illegal: 0xacb4
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x20004974
               "OSIntCtxSw" + 0x1c
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0xdc
     Target  : 0x2000f630
               "??OS_TCBCur"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x188
Error[Lp002]: relocation failed: value out of range or illegal: 0xacb4
     Kind    : R_ARM_LDR_PC_G0[0x4]
     Location: 0x20004978
               "OSIntCtxSw" + 0x20
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 6 (cstartup)
               Offset:  0xe0
     Target  : 0x2000f634
               "??OS_TCBHighRdy"
               Module:  E:\AT91SAM9261\ewp\at91sam9261_sdram\Obj\os_cpu_a.o
               Section: 7 (vectors)
               Offset:  0x18c

   62 614 bytes of readonly  code memory
      132 bytes of readwrite code memory
      278 bytes of readonly  data memory
  293 479 bytes of readwrite data memory

Errors: 14
Warnings: none

Link time:   0.25 (CPU)   0.32 (elapsed)
Error while running Linker

Total number of errors: 14
Total number of warnings: 0
           

相关帖子

沙发
阿南| | 2016-2-20 09:23 | 只看该作者
IAR不熟,楼主试试能否找到将原来的目标文件清除的方法,再重新编译

使用特权

评论回复
板凳
lester1101|  楼主 | 2016-2-20 11:05 | 只看该作者
阿南 发表于 2016-2-20 09:23
IAR不熟,楼主试试能否找到将原来的目标文件清除的方法,再重新编译

貌似没用,没搞懂这个错误什么意思

使用特权

评论回复
地板
阿南| | 2016-2-20 15:13 | 只看该作者
以前用ADS的时候在其它地方编译过的拿来第一次编译时也会出错,但ADS有一个命令直接清除后再重新编译就OK了

使用特权

评论回复
5
阿南| | 2016-2-20 15:13 | 只看该作者
以前用ADS的时候在其它地方编译过的拿来第一次编译时也会出错,但ADS有一个命令直接清除后再重新编译就OK了

使用特权

评论回复
6
lester1101|  楼主 | 2016-2-20 15:15 | 只看该作者
阿南 发表于 2016-2-20 15:13
以前用ADS的时候在其它地方编译过的拿来第一次编译时也会出错,但ADS有一个命令直接清除后再重新编译就OK了 ...

问题解决,认真研究了一下这个错误信息,这个错误的字面意思是数值超出了范围,KIND显示LDR_PC字眼,最终发现是LDR指令中的操作数超出了指令要求的范围,但是这个指令是UCOS的源代码中的,怎么会有错误,最终又发现,这个程序文件是几年前的xp系统下的代码,现在换到WIN8系统,字符集不兼容,有些字符识别不了,例如本例中的LDR     R4, =OS_Running中的=号识别不了,手动改一下解决问题,不过改的地方很多,不兼容的字符可能不止=号,最好査看一下源码

使用特权

评论回复
7
阿南| | 2016-2-22 09:18 | 只看该作者
不错,很好

使用特权

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

本版积分规则

7

主题

30

帖子

1

粉丝