燒錄(Programming)就是把 .hex/.bin 文件里的機(jī)器碼搬運(yùn)進(jìn)單片機(jī)片內(nèi) Flash
的過程。輝芒微(FMD)單片機(jī)內(nèi)部有一塊 自舉 BootROM,上電時(shí)會先跑這段程序;如果檢測到上位機(jī)發(fā)來的“握手”指令,就進(jìn)入 ISP
模式,把后續(xù)數(shù)據(jù)寫入 Flash,否則直接跳轉(zhuǎn)到用戶程序。
方式 | 接口 | 場景 | 特點(diǎn) |
---|---|---|---|
ICP | SWDIO/SWCLK | 研發(fā)、量產(chǎn) | 速度快,需專用燒錄座 |
ISP | UART | 在板升級 | 無需拆板,BootROM 完成 |
IAP | 任意接口 | 現(xiàn)場 OTA | 用戶程序自更新 |
本文以**ISP(串口)**為例,因?yàn)樗钔ㄓ茫阂粭l USB-TTL 線即可搞定。
PC(Windows 10/11)
FMD-Writer 或 USB-TTL(CH340/CP2102)
目標(biāo)板(帶 FT61F135 演示板)
杜邦線 3 根:
TX → MCU RX
RX → MCU TX
GND → GND
供電:USB-TTL 的 3.3 V/5 V(根據(jù)芯片電壓)
工具 | 作用 | 下載地址 |
---|---|---|
FMD ISP Tool | 上位機(jī)燒錄軟件 | 輝芒微官網(wǎng) |
Keil C51 | 代碼編譯 | Keil 官網(wǎng) |
串口驅(qū)動 | CH340/CP2102 | 隨板附帶 |
① 生成 .hex
在 Keil 里:
Target → Output → 勾選 Create HEX File
編譯后得到 project.hex
② 接線
USB-TTL | 目標(biāo)板 |
---|---|
TX | P1.0/RX |
RX | P1.1/TX |
GND | GND |
3.3 V | VDD |
③ 進(jìn)入 ISP 模式
冷啟動法:
按住 BOOT(或 RST)鍵 → 上電 → 松開按鍵
BootROM 檢測到 0x7F 握手碼,進(jìn)入 ISP
熱啟動法:
上位機(jī)發(fā)送 0x7F,MCU 在運(yùn)行態(tài)直接切換(部分型號支持)。
④ 打開 FMD ISP Tool
選擇芯片型號:FT61F135
選擇串口號與波特率:默認(rèn) 57600
載入 project.hex
⑤ 一鍵下載
點(diǎn)擊 “下載/編程”
進(jìn)度條 100 %,提示 “校驗(yàn)正確” 即完成
⑥ 運(yùn)行
重新上電或拉低 RST → 程序立即執(zhí)行
BootROM 上電接管 CPU
收到 0x7F → 解鎖 Flash
上位機(jī)發(fā)送 擦除、編程、校驗(yàn) 指令
數(shù)據(jù)按 64 B/頁 寫入 Flash 地址 0x0000 起始
寫入 Option Byte(看門狗、復(fù)位向量等)
重新映射向量表 → 跳轉(zhuǎn)到 0x0000 運(yùn)行用戶程序
現(xiàn)象 | 原因 | 解決 |
---|---|---|
無法識別芯片 | 接線/供電/驅(qū)動 | 檢查 TX/RX 交叉、電壓、冷啟動 |
校驗(yàn)失敗 | Flash 未擦除 | 勾選“全片擦除”后再燒錄 |
下載中途掉線 | 線太長/干擾 | 縮短杜邦線 < 15 cm,加 22 Ω 串阻 |
程序不跑 | 復(fù)位向量錯 | 檢查 hex 起始地址 0x0000 |
一拖八離線燒錄座:FMD-Writer-SF600,1 k 片/小時(shí)
在線升級:把 ISP 入口留到用戶菜單,實(shí)現(xiàn) IAP OTA
加密:ISP Tool 勾選“讀保護(hù)”,F(xiàn)lash 不可回讀
.hex → FMD ISP Tool → USB-TTL → MCU BootROM → Flash → 運(yùn)行
只要三根線、一個(gè)軟件、一次冷啟動,就能把程序?qū)戇M(jìn)輝芒微單片機(jī)。
下次再有人問你“輝芒微怎么燒錄”,把這篇文章轉(zhuǎn)給他,五分鐘搞定