2025年6月9日 星期一

Arduino Nano program flash the hex, bin file

 這篇說明

1. 如何用 avrdude 燒錄 Arduino

2. 如何從 Arduino IDE 取得 hex , bin file


AVRDUDE is a utility to program AVR microcontrollers
https://github.com/avrdudes/avrdude/releases



✅ 前提條件(請確認)

  • 目標板子:Arduino Nano(ATmega328P)

  • 使用哪種方式上傳:

    1. 使用 USB 直接接 Nano(內建 CH340 或 FTDI)

    2. 使用 外部 ISP 燒錄器(如 USBasp、Arduino as ISP)


🔌 方式一:直接用 USB 線連接 Arduino Nano

Nano 自帶 bootloader,可以直接用 USB 上傳。

📌 指令範例(CH340 或 FTDI 晶片):

bash
avrdude -c arduino -p m328p -P COM3 -b 57600 -U flash:w:your_program.hex:i

📌 參數說明:

參數說明
-c arduino使用 Arduino bootloader protocol
-p m328pNano 的晶片 ATmega328P
-P COM3替換成你實際的 COM port
-b 57600舊版 bootloader(通常 Nano 這個 baudrate 就對)
-U flash:w:xxx.hex:i燒錄 hex 檔進 flash

💡 若你的 Nano 是新版(或 DIY 自燒 bootloader),也可能要改為 -b 115200


🧰 方式二:使用外部 ISP(如 USBasp 或 Arduino as ISP)

這會跳過 bootloader,直接燒錄程式進 flash。

【1】USBasp 方式:

bash
avrdude -c usbasp -p m328p -U flash:w:your_program.hex:i

【2】Arduino as ISP(使用 Arduino UNO 當 ISP):

bash
avrdude -c arduino -p m328p -P COM3 -b 19200 -U flash:w:your_program.hex:i

✅ 請確保 Arduino UNO 上有燒錄「ArduinoISP」範例程式


💡 從 Arduino IDE 取得 HEX 重點回顧

  • 點選:檔案 > 導出已編譯的二進位檔

  • 在專案資料夾會出現 .ino.hex.ino.with_bootloader.hex

    • 一般使用 .ino.hex(純程式)

    • .with_bootloader.hex 是要燒錄整個 bootloader 的


沒有留言: