Brew-- 在Brew 中 使用全局变量、静态变量 报错 的解决方案

在Brew环境中,当CCommon.cpp使用全局或静态变量时,会出现L6265E和L6248E错误。解决方法包括:1.下载并安装elf2mod.exe;2.将ADS的mak文件中HEXTOOL和CPU选项替换为elf2mod和对应CPU型号;3.修改LFLAGS选项为-split -reloc -entry AEEMod_Load。
摘要由CSDN通过智能技术生成

如果使用了 全局变量 或 静态变量(注意如果只是定义,而没有使用是不会报错的),

报下面的错误(本人是在CCommon.cpp里使用了静态变量)

 

Error: L6265E: Non-RWPI Section CCommon.o(.bss) cannot be assigned to PI Exec region ER_ZI.

Error: L6248E: CCommon.o(i.__ct__7CCommonFv) in PI region 'ER_RO' cannot have address type relocation to .bss$2 in PI region 'ER_ZI'.
NMAKE : fatal error U1077: “C:/ARM/ADSv12/bin/armlink” : 返回代码“0x1”

 

解决方案:

1、下载elf2mod.exe (本人的资源里有免费下载,http://d.download.csdn.net/down/2244832/miyunhong)

2、将elf2mod 安装到了 /ARM/ADSv1_2 目录下,本人的安装目录是 C:/ARM/ADSv1_2

3、一般需要将mak文件做 以下内容修改:
(1).将 HEXTOOL = $(ARMBIN)/fromelf # ARM ADS utility to create hex file from image
      替换成:HEXTOOL = $(ARMBIN)/elf2mod # ARM ADS utility to create hex file from image  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值