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

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

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

編譯的過程

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


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


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

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


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

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

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

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


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


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

可燒錄的文件

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

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

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


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

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


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


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

離線文件的燒錄方法

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


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


bin文件可以使用STM32CubeProgrammer軟件通過STLINK進行下載:


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

最后

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

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

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

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

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

關鍵字: 汽車 人工智能 智能驅動 BSP

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

關鍵字: 亞馬遜 解密 控制平面 BSP

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

關鍵字: 騰訊 編碼器 CPU

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

關鍵字: 華為 12nm EDA 半導體

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

關鍵字: 華為 12nm 手機 衛(wèi)星通信

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

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

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

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

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

關鍵字: BSP 信息技術
關閉
關閉