燒錄(Programming)就是把 .hex/.bin 文件里的機(jī)器碼搬運(yùn)進(jìn)單片機(jī)片內(nèi) Flash
的過(guò)程。輝芒微(FMD)單片機(jī)內(nèi)部有一塊 自舉 BootROM,上電時(shí)會(huì)先跑這段程序;如果檢測(cè)到上位機(jī)發(fā)來(lái)的“握手”指令,就進(jìn)入 ISP
模式,把后續(xù)數(shù)據(jù)寫入 Flash,否則直接跳轉(zhuǎn)到用戶程序。
方式 | 接口 | 場(chǎng)景 | 特點(diǎn) |
---|---|---|---|
ICP | SWDIO/SWCLK | 研發(fā)、量產(chǎn) | 速度快,需專用燒錄座 |
ISP | UART | 在板升級(jí) | 無(wú)需拆板,BootROM 完成 |
IAP | 任意接口 | 現(xiàn)場(chǎng) 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ū)動(dòng) | 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 模式
冷啟動(dòng)法:
按住 BOOT(或 RST)鍵 → 上電 → 松開按鍵
BootROM 檢測(cè)到 0x7F 握手碼,進(jìn)入 ISP
熱啟動(dòng)法:
上位機(jī)發(fā)送 0x7F,MCU 在運(yùn)行態(tài)直接切換(部分型號(hào)支持)。
④ 打開 FMD ISP Tool
選擇芯片型號(hào):FT61F135
選擇串口號(hào)與波特率:默認(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/頁(yè) 寫入 Flash 地址 0x0000 起始
寫入 Option Byte(看門狗、復(fù)位向量等)
重新映射向量表 → 跳轉(zhuǎn)到 0x0000 運(yùn)行用戶程序
現(xiàn)象 | 原因 | 解決 |
---|---|---|
無(wú)法識(shí)別芯片 | 接線/供電/驅(qū)動(dòng) | 檢查 TX/RX 交叉、電壓、冷啟動(dòng) |
校驗(yàn)失敗 | Flash 未擦除 | 勾選“全片擦除”后再燒錄 |
下載中途掉線 | 線太長(zhǎng)/干擾 | 縮短杜邦線 < 15 cm,加 22 Ω 串阻 |
程序不跑 | 復(fù)位向量錯(cuò) | 檢查 hex 起始地址 0x0000 |
一拖八離線燒錄座:FMD-Writer-SF600,1 k 片/小時(shí)
在線升級(jí):把 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è)軟件、一次冷啟動(dòng),就能把程序?qū)戇M(jìn)輝芒微單片機(jī)。
下次再有人問(wèn)你“輝芒微怎么燒錄”,把這篇文章轉(zhuǎn)給他,五分鐘搞定