STM32、51等單片機(jī)程序經(jīng)過(guò)編譯后,生成的hex文件、bin文件,它們都是單片機(jī)燒寫(xiě)文件,本文介紹它們的區(qū)別與應(yīng)用。
Hex文件
Keil5中生成hex文件的配置
如上圖,分別點(diǎn)擊“魔術(shù)棒”-“Output選項(xiàng)卡”,勾選“Create HEX File”選項(xiàng),確認(rèn)即可。
STM32CubeIDE中生成hex文件的配置
如上圖,先用鼠標(biāo)點(diǎn)擊選中項(xiàng)目名,之后點(diǎn)擊菜單欄“File”-“Properties”。
如上圖紅框處,依次點(diǎn)擊“C/C++ Build”-“MCU Post build outputs”,勾選“Convert to Intel Hex file”,應(yīng)用并關(guān)閉窗口。
hex燒寫(xiě)
用ISP方式燒寫(xiě)程序,首先找來(lái)ISP燒寫(xiě)軟件,之后進(jìn)行如下步驟:
選擇芯片型號(hào)
選擇串口號(hào)
設(shè)置波特率,可以默認(rèn)為115200
“打開(kāi)文件”,選擇要下載的hex文件
點(diǎn)擊“程序下載”,開(kāi)始燒寫(xiě)程序
帶ISP下載功能的串口工具如下圖所示。
調(diào)試單片機(jī)程序時(shí),通常下載的是Hex文件。由于在Hex文件中已經(jīng)包含了地址信息,在上述下載步驟中不需要設(shè)置內(nèi)存地址。
BIN文件
Keil5中生成Bin文件配置
如上圖,點(diǎn)擊魔術(shù)棒,在“User”選項(xiàng)卡中勾選“After Build/Rebuild”下的“Run #1”。
在后面“User Command”一欄中填寫(xiě)如下用戶自定義命令: fromelf.exe--bin-o.lcd1602alcd1602a.bin.lcd1602alcd1602a.axf
這個(gè)自定義命令在編譯生成Hex文件之后執(zhí)行,通過(guò)“formelf.exe”工具生成基于.axf文件的.bin文件。
如下圖,按修改時(shí)間排序也可以知道.bin文件是在.axf文件之后生成的。
Hex文件是用ASCII來(lái)表示數(shù)據(jù),而且附加了地址信息,相對(duì)Bin文件要大一些。
STM32CubeIDE中生成Bin的配置
如上圖,只需要勾選“Convert to binary file”即可。
平時(shí)調(diào)試STM32單片機(jī)程序用的是Hex文件,而在IAP升級(jí)固件時(shí)要用到Bin文件,IAP升級(jí)固件相關(guān)文章請(qǐng)移步此處:詳解STM32在線IAP升級(jí)。
審核編輯:劉清
-
單片機(jī)
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634634 -
STM32
+關(guān)注
關(guān)注
2270文章
10895瀏覽量
355729 -
HEX文件
+關(guān)注
關(guān)注
0文章
26瀏覽量
12747 -
STM32單片機(jī)
+關(guān)注
關(guān)注
59文章
549瀏覽量
58701 -
BIN文件
+關(guān)注
關(guān)注
0文章
26瀏覽量
8282
原文標(biāo)題:STM32單片機(jī)中Hex、Bin文件的區(qū)別與應(yīng)用
文章出處:【微信號(hào):EE時(shí)間,微信公眾號(hào):EE時(shí)間】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論