国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[brew]brew app 開發常見問題匯總 -- 持續更新

2019-11-09 17:25:45
字體:
來源:轉載
供稿:網友
q1.在make brew 應用的時候提示

Error: L6265E: Non-RWPI Section libspace.o(.bss) cannot be assigned to PI Exec r

egion ER_ZI.

Error: L6248E: libspace.o(.text) in PI region 'ER_RO' cannot have address type r

elocation to __libspace_start in PI region 'ER_ZI'.

Finished: 0 information, 0 warning and 2 error messages.

NMAKE : fatal error U1077: 'C:/ARM/ADSv1_2/bin/armlink' : return code '0x1'

Stop.

a1:在網絡上搜索到的回答一般是:檢查所有的C++類,是否都重載了new,delete運算符,在模擬器上不會出錯,但ARM編譯會報如上錯誤。檢查是否有double類型的算術或比較運算,目前BREW是不支持浮點運算的,所有運算必須使用有關助手函數,比如FMUL,FDIV等。但我這里實際遇到的情況是,我給app的主結構體分配了一個指針,然后在函數中對這個指針進行malloc,導致了上面的提示,將該指針換成非指針類型,則該錯誤提示消失。

--今天又進一步debug,發現在代碼里,malloc,free,atoi,這幾個函數要用大寫的命名才行,不然也會出現上面的錯誤,也就是要用MALLOC,FREE,ATOI,置換了函數后,便暫時沒出現那些問題了

q2.在make brew 應用的時候提示

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

a2:這主要是由于在app中使用了全局變量導致的提示,將app中的全局變量移除后,錯誤提示消失,但是這是一種很不方便的處理方式,網絡上有一種處理方式,似乎可以不用移除變量也可以編譯通過,但我還未進行過試驗,這里先做一個紀錄。

解決方案:

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     (2).將 CPU = -cpu ARM7TDMI         # ARM7TDMI target PRocessor      替換成:CPU = -cpu ARM926EJ-S   # ARM9TDMI target processor  

(3).將 LFLAGS = $(ROPILINK) -rwpi -entry 0x8000#      替換成:LFLAGS = -split -reloc -entry AEEMod_Load

q3.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 包头市| 资阳市| 神农架林区| 泰顺县| 宝应县| 香河县| 合山市| 高雄市| 涿鹿县| 江永县| 宁陕县| 马关县| 北海市| 宜阳县| 如皋市| 高邑县| 托克逊县| 泽库县| 江油市| 抚州市| 黔南| 凌云县| 延边| 茂名市| 天祝| 大港区| 泰兴市| 海阳市| 南木林县| 文水县| 青浦区| 桐城市| 望都县| 澜沧| 瓮安县| 盐边县| 桑植县| 新巴尔虎右旗| 山东省| 手机| 尉氏县|