當(dāng)前位置:首頁 > 公眾號精選 > 嵌入式大雜燴
[導(dǎo)讀]點擊上方「嵌入式大雜燴」,選擇「置頂公眾號」第一時間查看嵌入式筆記!在STM32開發(fā)中,經(jīng)常會碰到hex文件、bin文件與axf文件,這些都是可以燒寫到板子里運(yùn)行的文件。這三個文件有什么區(qū)別呢?在這之前,先來一起回顧一下C語言編譯的過程:編譯的過程在之前的C語言筆記《C程序的編譯...

點擊上方「嵌入式大雜燴」,選擇「置頂公眾號」第一時間查看嵌入式筆記!

在STM32開發(fā)中,經(jīng)常會碰到hex文件、bin文件與axf文件,這些都是可以燒寫到板子里運(yùn)行的文件。這三個文件有什么區(qū)別呢?在這之前,先來一起回顧一下C語言編譯的過程:

編譯的過程

在之前的C語言筆記《C程序的編譯過程》中,有簡單的分析了C程序編譯的幾個過程:


STM32也是用C語言來開發(fā),也會經(jīng)過類似的編譯過程,只不過我們常常用MDK或者其它IDE來編譯,其編譯過程如下:


例如,我們的LED程序編譯過程如下:

在IDE中進(jìn)行編譯時,我們只需點擊編譯按鈕即可完成這些過程,編譯過程用到的工具(.exe文件)在IDE的安裝目錄下的某個文件夾下,比如我們這里用的MDK的編譯工具路徑:


一般這些IDE或者工具集的一些編譯工具都放在bin文件夾。再比如我們MinGW工具集(里面包含gcc/g 編譯器,可以編譯在電腦上運(yùn)行的程序)的編譯工具所在路徑為:

回歸正題,我們的MDK編譯時就是使用安裝路徑下的這些編譯工具來完成我們的編譯過程。

究其本質(zhì),我們在cmd命令窗口也是可以通過命令來編譯我們的STM32程序的(前提是配好環(huán)境變量,否則得到編譯工具所在的路徑下進(jìn)行編譯)。

但是我們不會這樣干,因為IDE已經(jīng)給我們提供了很大的便利。比如:


下面看一下我們在cmd窗口下運(yùn)行armcc命令看會發(fā)生什么:


我們看到了很多關(guān)于armcc命令的提示說明,有些常用的編譯選項已經(jīng)集成在MDK里供我們選擇,比如:

可燒錄的文件

axf文件、hex文件與bin文件都是可以運(yùn)行在我們的stm32上的,它們都存儲了編譯器根據(jù)源代碼生成的機(jī)器碼,根據(jù)應(yīng)用場合的不同,它們又有所區(qū)別。

  • axf文件:包含調(diào)試信息。
  • hex文件:包含地址信息。
  • bin文件:最直接的代碼映像。
axf文件是編譯默認(rèn)生成的文件,不僅包含代碼數(shù)據(jù),而且還包含著調(diào)試信息,在MDK里進(jìn)行debug調(diào)試用的就是這個文件。

hex文件在MDK里要勾選如下選項才可以生成:


hex 文件是一種使用十六進(jìn)制符號表示的代碼記錄, 記錄了代碼應(yīng)該存儲到FLASH 的哪個地址,下載器可以根據(jù)這些信息輔助下載。

bin文件是根據(jù)axf文件生成的,需要在MDK下添加類似如下格式命令來生成對應(yīng)的bin文件:


bin文件就是最小的可以運(yùn)行的文件了,其包含最直接的代碼映像。這三個文件中axf文件最大,hex文件次之,bin文件最小,如:


關(guān)于它們的區(qū)別這里只是簡單的闡述說明,有時間、有精力、有興趣的朋友可以去分析它們里面的內(nèi)容。

離線文件的燒錄方法

hex文件的燒錄,我們可以使用FlyMcu工具通過串口來下載:


FlyMcu不可以燒bin文件,因為上面說過了bin文件只包含最直接的代碼映像,不包含地址信息,會出現(xiàn)如下錯誤:


bin文件可以使用STM32CubeProgrammer軟件通過STLINK進(jìn)行下載:


以上就是本次的分享,如有錯誤歡迎指出,謝謝!

最后

如果覺得文章不錯,轉(zhuǎn)發(fā)、在看,也是我們繼續(xù)更新得動力。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉