ATmega32U4

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

它已經(jīng)把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 |
開發(fā)板與下載器接線:
| 下載器 | ATmega32U4開發(fā)板 |
|---|---|
| MOSI | MOSI |
| MISO | MISO |
| VCC | 5V |
| GND | GND |
| RST | RES |
| SCK | SCK |

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

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

ATmega32U4的bootloader燒錄完成。
注意
特別需要注意的是熔絲位的設(shè)置,熔絲位設(shè)置錯了,很有可能會把單片機鎖死導(dǎo)致USBASP無法連接單片機 。
審核編輯 黃宇
-
編程器
+關(guān)注
關(guān)注
9文章
414瀏覽量
44863 -
Arduino
+關(guān)注
關(guān)注
190文章
6526瀏覽量
197140
發(fā)布評論請先 登錄
U-Boot 引導(dǎo)加載程序中 TFTP 超時的奇怪解決方法
51 AVR 編程器USBASP下載器驅(qū)動安裝及程序下載
CH341編程器軟件NeoProgrammer_2.2.0.10
探索Broadcom HEDS - 9940PRGEVB評估板和編程套件
芯片編程器使用指南:如何避免芯片燒錄過程中的常見錯誤
Bootloader固件升級的步驟
如何在沒有 NuLink 編程器的情況下執(zhí)行 SWD 解鎖序列?
如何用Arduino Nano/UNO R3開發(fā)板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄引導(dǎo)程序bootlaoder
USBISP/USBasp編程器給Atmega32U4下載Arduino bootloader引導(dǎo)程序
評論