ATmega32U4

ATmega32U4是一個低功耗Microchip 8位AVR RISC微控制器,具有32KB自編程閃存、2.5KB SRAM、1KB EEPROM、USB 2.0全速/低速設備、12通道10位A/D轉換器和JTAG接口,用于芯片調試。該設備在16 MHz下實現了高達16 MIPS的吞吐量。可在2.7-5.5v的條件下工作。Arduino Leonardo開發板用到正是ATmega32U4這款MCU。
bootloader引導程序是什么
類似電腦主板的BIOS,開機或重啟時先自動進行BIOS設置。有些單片機出廠時芯片廠商已經燒錄好了引導程序,例如串口方式下載的引導程序。單片機復位或重新上電時先從引導程序執行代碼檢測是否有其他命令需要執行,再跳轉到用戶程序代碼執行。
Arduino開發板預先寫入了bootloader,通過USB轉串口芯片下發下載命令給Arduino開發板使其復位進入bootloader,bootloader識別到下載命令后接著引導新的用戶程序下載到單片機內部flash,若沒有識別到下載命令則跳轉到原來的用戶應用程序繼續執行。
對于新出廠的ATmega32U4芯片內部是沒有arduino引導程序的,需要用戶預先下載bootloader后才能用串口下載自己的應用程序.在某些罕見情況下舊的bootloader會導致一些bug,這個時候寫入新版本bootloader可能會解決問題。本文將會講解ATmega32U4燒錄Arduino Leonardo的bootloader。
引導程序下載接口與連接
本次bootloader燒錄為了方便會用到ATmega32U4的一個簡單的外圍電路板。

它已經把ATmega32U4的ICSP(in-circuit serial programmming)接口引出,如上圖圈起來的幾個SPI引腳。
有了ATmega32U4的工作電路和找出了ICSP接口后,我們還需要一個下載器(USBASP下載器)

下載器引腳定義:
| 引腳序號 | 定義 |
|---|---|
| 1 | MOSI |
| 2 | VCC |
| 3 | NC |
| 4 | GND |
| 5 | RST |
| 6 | GND |
| 7 | SCK |
| 8 | GND |
| 9 | MISO |
| 10 | GND |
開發板與下載器接線:
| 下載器 | ATmega32U4開發板 |
|---|---|
| MOSI | MOSI |
| MISO | MISO |
| VCC | 5V |
| GND | GND |
| RST | RES |
| SCK | SCK |

安裝好下載器的驅動后,下載器連接電腦
配置熔絲位與bootloader燒寫
連接好下載器和ATmega32U4開發板,檢查好設備管理器有正確識別到下載器后,打開ProgISP下載軟件
熔絲位配置如下:
熔絲位配置非常重要,如果設置錯誤,就會鎖死單片機,而且USBASP無法連接單片機,按照上圖配置好熔絲位,注意熔絲位一定要配置正確。
配置好熔絲后點配置熔絲位窗口的叉叉關閉這個串口,進行第4、5步調入FLASH然后燒錄。
點擊調入FLASH
然后找到Arduino IDE 的安裝目錄(X:XXarduinohardwarearduinoavrbootloaderscaterina)前面的“X”是根據您的電腦實際安裝目錄而定。選擇下圖框著的文件打開

選擇好文件后點擊自動,開始燒錄。
燒錄成功后界面與提示
檢驗bootloader是否燒錄成功:
把開發板插到電腦的usb口上打開設備管理器,查看端口是否出現了Arduino Leonardo(XX)

ATmega32U4的bootloader燒錄完成。
注意
特別需要注意的是熔絲位的設置,熔絲位設置錯了,很有可能會把單片機鎖死導致USBASP無法連接單片機 。
審核編輯 黃宇
-
編程器
+關注
關注
9文章
414瀏覽量
44706 -
Arduino
+關注
關注
190文章
6526瀏覽量
196898
發布評論請先 登錄
U-Boot 引導加載程序中 TFTP 超時的奇怪解決方法
51 AVR 編程器USBASP下載器驅動安裝及程序下載
CH341編程器軟件NeoProgrammer_2.2.0.10
探索Broadcom HEDS - 9940PRGEVB評估板和編程套件
芯片編程器使用指南:如何避免芯片燒錄過程中的常見錯誤
如何用Arduino Nano/UNO R3開發板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發板重新燒錄引導程序bootlaoder
USBISP/USBasp編程器給Atmega32U4下載Arduino bootloader引導程序
評論