在DFU模式刷新USB-to-serial韌體 (以Arduino UNO R3為範例)|奧斯丁國際有限公司 OURSTEAM Internationl
icon教學資源
2024/01/09

在DFU模式刷新USB-to-serial韌體 (以Arduino UNO R3為範例)

以下型號的Arduino主板,使用Atmega16U2 或 Atmega8U2 晶片作為 USB-to-serial轉換器:
  • Arduino UNO
  • Arduino UNO Rev3
  • Arduino Mega
  • Arduino Mega2560 Rev3
  • Arduino MegaADK Rev3

將主板設定為DFU 模式(裝置韌體更新)時,即可使用電腦刷新轉換器晶片韌體。

請注意,本文不適用於Uno WiFi Rev2,因為此板使用的是closed source韌體晶片。

1.取得韌體
此韌體包含在Arduino AVR board平台中。
此平台預設安裝了Arduino IDE,可以在Arduino15目錄中找到:Arduino15/packages/arduino/hardware/avr/
或者,您可以從GitHub 頁面(程式碼 > 下載 ZIP)下載並解壓縮資源庫。

在平台目錄中,USB-to-serial韌體位於firmwares/atmegaxxu2/arduino-usbserial
選擇適合您的主機板的固件如下:
Board
Firmware
Arduino Mega2560 Rev3
Arduino-usbserial-atmega16u2-Mega2560-Rev3.hex
Arduino MegaADK Rev3
Arduino-usbserial-atmega16u2-MegaADK-Rev3.hex
Arduino UNO Rev3
Arduino-usbserial-atmega16u2-Uno-Rev3.hex
Arduino UNO
Arduino-usbserial-uno.hex
Arduino Mega
Arduino-usbserial-mega.hex
 


2.使用韌體對晶片進行編程

使用 dfu-programmer (macOS/Linux 系統)
  1. 從GitHub 儲存庫下載dfu-programmer或使用homebrew (macOS) 或apt-get (Ubuntu)等套件管理器安裝套件。dfu-programmer
  2. 將開發板連接到您的電腦。
  3. 將開發板設定為 DFU 模式。
  4. 打開終端機。
  5. 透過嘗試以下命令來識別晶片型號:
dfu-programmer atmega16u2 read
dfu-programmer atmega8u2 read

注意:對於舊版的 dfu-programmer,請將上述指令read替換為dump
  1. 清除記憶  dfu-programmer erase
  2. 刷新韌體  dfu-programmer flash
  3. 中斷開發板與電腦的連接,再重新連接。
使用 FLIP (windows 系統)
  1. 將開發板連接到您的電腦
  2. 將開發板設定為 DFU 模式
找到ATmega USB-Serial 處理器的Reset和GND 引腳,可用公對公杜邦線, 同時觸碰Reset + GND 引腳後放開,開發板將重設為 DFU 模式
  1. 開啟裝置管理員
  2. 展開libusb-win32-devices類別,如果沒有看到的話,請依照以下步驟操作後再繼續
在裝置管理員中安裝 libusb-win32 驅動程式 (Windows)
  1. 記下設備名稱,應該是ATmega16U2或ATmega8U2
接下來我們將使用 FLIP 刷新驅動程式
  1. 下載並安裝FLIP
  2. 打開翻轉FLIP
開啟應用程式可能會提示「找不到 Java 虛擬機器」錯誤。在這種情況下,請使用Windows Online選項安裝 Java 執行環境。
  1. 選擇裝置名稱(ATmega16U2 或 ATmega8U2)
  1. 按一下“cable”按鈕,選擇“USB”,然後按“open”
  2. 點選File > > Load HEX File
  3. 選擇驅動程式.hex檔案並按一下“OK”
  4. 操作流程,預設選取Erase、Program和Verify
  1. 點擊Program Target Device Memory
  1. 點擊後韌體很快就會被刷新。可查看左下角,會顯示「已編程完成」訊息。
  1. 中斷開發板與電腦的連接並重新連接。
 


在裝置管理員中安裝 libusb-win32 驅動程式 (Windows)
  1. 在“其他裝置”下尋找未知裝置。如果有多個未知裝置可用,請先斷開除了Arduino開發板外的設備。
  2. 右鍵點擊並選擇更新驅動程式。
  1. 瀏覽檔案: C:\Program Files (x86)\Atmel\Flip 3.4.7
  2. 點擊“安裝”並等待安裝完成。
  1. 安裝完成後,系統就能辨識到「libusb-win32-devices」下的裝置

 
logo
iconiconiconiconicon
icon  電話:04-2375-3535
icon  傳真:04-2256-9949
icon  統編:90386785
icon  E-mail:service@oursteam.com.tw
icon  LINE ID:@oursteam
Inspire every child to create