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

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

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

2019-11-09 16:21:27
字體:
來源:轉載
供稿:網友
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.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呈贡县| 肥东县| 吉木萨尔县| 晋江市| 卫辉市| 嘉荫县| 江北区| 澄江县| 大洼县| 赤壁市| 台中市| 聊城市| 金昌市| 舟曲县| 临洮县| 镇远县| 皋兰县| 宁陕县| 永兴县| 玉龙| 两当县| 龙门县| 建瓯市| 修水县| 花莲县| 鱼台县| 太保市| 修武县| 响水县| 泾川县| 兴城市| 南平市| 海南省| 道真| 花莲市| 太原市| 郓城县| 甘孜县| 三门县| 格尔木市| 凌云县|