麻豆一区二区三区蜜桃免费_中文字幕Va一区二区三区 _国产成人综合久久二区_丰满多毛的大隂户毛茸茸_国产麻豆剧果冻传媒免费老狼_无码人妻精品一区二区三区久久久 _亚洲中文无码精品卡通_蜜臀亚洲AV永久无码精品老司机

【ARM】MDK-編譯時Linker Error:Internal fault

1、 文檔目標(biāo)


記錄問題ARMCLANG: Linker Error: Internal fault: [0xb3b91b:6120001]的解決方案,以及添加原廠對于該問題的說明鏈接,為同事解決該問題提供參考。

2、 問題場景


客戶在編譯時linking中出現(xiàn)報錯信息.SPIN32G0601-JXPR-VSH SPIN32G0601-JXPR-VSHaxf: Internal fault: [0xb3b9b:6120001]


圖2-1


此問題在Arm Compiler version 6.11中引入。到目前為止,我們只在鏈接器分散文件包含. any選擇器和區(qū)段具有隨機(jī)大小時看到過它。當(dāng)從目標(biāo)對話框中選擇使用內(nèi)存布局選項(xiàng)時,μVision創(chuàng)建包含. any選擇器的分散文件。


:在極少數(shù)情況下,使用 Arm 編譯器版本6.11或 Arm 編譯器版本 6.12生成應(yīng)用程序時,會出現(xiàn)該報錯。


3、軟硬件環(huán)境

1)、軟件版本:MDK 5.27 Arm 編譯器版本 6.12

2)、電腦環(huán)境:Windows 10

3)、外設(shè)硬件:無



4、解決方法

方法1)、更改編譯器優(yōu)化級別。

首先點(diǎn)擊圖4-1-1標(biāo)記1處快捷方式,進(jìn)入 Options for Target 目標(biāo)窗口- ,并選擇C/C++(AC6)。uVision中,可以根據(jù)如圖4-1-1的標(biāo)記 3 選擇優(yōu)化的級別。


當(dāng)需要調(diào)試時,將優(yōu)化級別從0(-0)更改為1(-01)(建議),反之亦然。對應(yīng)用程序版本使用不同的優(yōu)化級別(1或更高)。


圖4-1-1

方法2)、更改設(shè)置One ELF Section per Function


首先點(diǎn)擊圖4-2-1標(biāo)記1處快捷方式,進(jìn)入 Options for Target 目標(biāo)窗口- ,并選擇C/C++(AC6)。uVision中,可以根據(jù)如圖4-2-1的標(biāo)記 3 取消One ELF Section per Function的選擇,編譯后無報錯。

圖4-2-1

注意:如果不能使用Arm編譯器版本6.13,有不同的方法來解決這個問題。前兩種解決方法很簡單,并嘗試改變部分大小,但它們可能起作用,也可能不起作用。唯一安全的解決方法是不要在鏈接器分散文件中使用ANY選擇器。

方法3)、最安全的解決方法是將鏈接器分散文件中的.ANY選擇器替換為*(如果可能的話)。如果你使用的是自定義散射文件,你可以這樣修改它:


修改前

圖4-3-1

修改后

圖4-3-2

注:如果您在uVision的目標(biāo)鏈接器對話框選項(xiàng)中選擇了目標(biāo)對話框中的“ Use Memory Layout from Target Dialog ”選項(xiàng),μVision將為您生成分散文件。在這種情況下,您需要禁用此選項(xiàng)并手動編輯已經(jīng)創(chuàng)建的散射文件。

圖4-3-3

方法4)、將Arm Compiler version 更新至6.13及以上版本,該編譯器版本為Keil MDK 5.29版本的一部分,更加直接的方法更新軟件版本至Keil MDK 5.29及以上版本。



【更多軟件使用問題請站內(nèi)搜索

官網(wǎng)參考鏈接:ARMCLANG: Linker Error: Internal fault: [0xb3b91b:6120001]