test.axf: Error: L6238E: cpu_asm.o(test) contains invalid call from '~PRES8

来源:互联网 发布:降龙990数据恢复 编辑:程序博客网 时间:2024/05/25 23:57

从周立功网站下载的“Keil uVision3在EasyARM系列开发板上的工程模板”包含两个文件夹,分别是EasyARM2100和EasyARM2200。该两个模板对应的开发板分别是EasyARM2100和EasyARM2200。

将EasyARM2100模板复制到相应目录后,根据模板内的使用说明设置好编译器环境,编译提示出现以下错误:

1、 .\debug_in_RAM\Project.axf: Error: L6238E: startup.o(vectors) contains invalid call from '~PRES8' function to 'REQ8' function FIQ_Exception.

2、 .\debug_in_RAM\Project.axf: Error: L6238E: startup.o(vectors) contains invalid call from '~PRES8' function to 'REQ8' function TargetResetInit.

不知道使用了周立功模板的朋友是否碰到了这个问题,如果碰到,可以和我一起探讨!目前该问题已经被我解决,但不知道大家是怎么解决的,欢迎大家各抒己见!

解决方法:

建议1、

在startup.s中顶部加个

PRESERVE8

就行了.

没有什么要修改了.

建议2、

从ads到rv,基本上要修改下列参数

1>.汇编模块前面加 PORESERVE8

2>.连接器选项中的 -first 改为 --first

3>.fromelf 的参数都要变成 -- ,

比如fromelf --bin --outoput a.bin a.axf 即可从axf文件生成bin文件,用于下载




具体点,就是在

;    PRESERVE8//添加的一个标号

CODE32

AREA    Init,CODE,READONLY

        ENTRY

注释处将“;”去掉,就可在MDK中编译通过,不拿掉就会出现

.\Debug_in_ChipFlash\Project.axf: Error: L6238E: startup.o(vectors) contains invalid call from '~PRES8' function to 'REQ8' function FIQ_Exception.

.\Debug_in_ChipFlash\Project.axf: Error: L6238E: startup.o(vectors) contains invalid call from '~PRES8' function to 'REQ8' function TargetResetInit.

 

 

我验证的加在此处:

   CODE32

    AREA    Init,CODE,READONLY
        ENTRY

 PRESERVE8
;interrupt vectors
;中断向量表
Reset


原创粉丝点击