STMStudio異常解決:Error: Dwarf Error: wrong version in complation unit header

STMStudio異常解決:Error: Dwarf Error: wrong version in complation unit header (is 5, should be 2, 3, or 4)

引言

STM Studio 是 STMicroelectronics 推出的一款非侵入式調(diào)試工具,適用于 STM32 和 STM8 系列微控制器,能夠?qū)崟r(shí)讀取變量并圖形化顯示,輔助調(diào)試過(guò)程。近期在使用 STMStudio 導(dǎo)入 STM32Cube IDE 生成的 elf 文件時(shí),遇到如下錯(cuò)誤:

Error: Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4)

本文將介紹該錯(cuò)誤的成因與解決方案。

軟件環(huán)境

  • STMStudio 版本:3.6.0
  • STM32Cube IDE 版本:1.19.0

問(wèn)題原因

STM32Cube IDE 默認(rèn)生成的調(diào)試信息使用了 DWARF 5 格式,而舊版本的 STMStudio 僅支持 DWARF 2/3/4 格式,導(dǎo)致版本不兼容,無(wú)法正確讀取 elf 文件。


報(bào)錯(cuò)信息

解決方案

通過(guò)修改 STM32Cube IDE 中的編譯設(shè)置,將調(diào)試信息格式降級(jí)為 DWARF 4,具體步驟如下:

1、在 STM32Cube IDE 中,右鍵點(diǎn)擊項(xiàng)目名稱,選擇 屬性

2、進(jìn)入C/C++ Build → Settings。

屬性頁(yè)

3、在 MCU GCC Assembler → Debugging 中,將 Debug level 設(shè)置為 None。

配置1.png

4、在 MCU GCC Assembler → Miscellaneous 中的 Other flags 中添加 -gdwarf-4。

配置2.png

5、在 MCU GCC Compiler → Debugging 中,將 Debug level 設(shè)置為 None。

配置3.png

6、在 MCU GCC Compiler → Miscellaneous 中的 Other flags 中添加 -gdwarf-4

配置4.png

7、點(diǎn)擊 應(yīng)用并保存 保存設(shè)置。

8、清理工程并重新編譯。

8、重新使用 STMStudio 導(dǎo)入新生成的 elf 文件,即可正常識(shí)別。


驗(yàn)證結(jié)果

成功導(dǎo)入 elf 文件后,可在 STMStudio 中添加變量并實(shí)時(shí)監(jiān)控,確認(rèn)功能恢復(fù)正常。


導(dǎo)入變量

顯示變量

變量曲線

日志內(nèi)容

總結(jié)

本文針對(duì) STMStudio 導(dǎo)入 elf 文件時(shí)出現(xiàn)的 DWARF 版本不兼容錯(cuò)誤,提供了詳細(xì)的解決方案。通過(guò)調(diào)整 STM32Cube IDE 的調(diào)試信息格式,可有效解決該問(wèn)題,確保調(diào)試工具鏈的兼容性。

歡迎在評(píng)論區(qū)留言交流,共同探討更多調(diào)試技巧與優(yōu)化建議。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容