ATmega8U2 晶片簡介
Arduino Uno 跟先前的板子最大的不同,是不再使用 FTDI 的 USB-to-serial 晶片,取而代之的,是改用 Atmega8U2 這顆晶片當作 USB-to-serial 的轉換器,它的角色是扮演電腦 USB port 跟 Arduino 主控制器 Atmega328p serial port 之間的橋梁。。
Atmega8U2 上面有韌體,出廠預設燒錄的是 Arduino-usbserial,功能就是做 USB-to-serial 的轉接,然而我們可以透過一個 叫作 DFU (Device Firmware Upgrade) 的 USB 協定來更新 Atmega8U2 的韌體。
所以,如果你要更新 Atmega8U2 的韌體,就得先讓 Atmega8U2 進入 DFU mode,然後再利用專屬的軟體來燒錄韌體,一般而言,在 Windows 上會用 FLIP,而在 MAC & Linux 則是使用 dfu-programmer。這篇我們先說明如何讓 Arduino 進入 DFU mode,下一篇接著介紹如何用 FLIP 更新 Atmega8U2 的韌體。
什麼情況下會需要更新 Atmega8U2 的韌體? 嗯,因為 Atmega8U2 很有彈性,它可以讓你更換成其它韌體,所以你的 Arduino 板子就可以搖身一變變成不同的 USB 裝置,例如 MIDI controller, HID 裝置 (Keyboard, Mouse, Joystick 等等)。