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