ATmega32U4

ATmega32U4是一個(gè)低功耗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下實(shí)現(xiàn)了高達(dá)16 MIPS的吞吐量??稍?.7-5.5v的條件下工作。Arduino Leonardo開發(fā)板用到正是ATmega32U4這款MCU。
bootloader引導(dǎo)程序是什么
類似電腦主板的BIOS,開機(jī)或重啟時(shí)先自動(dòng)進(jìn)行BIOS設(shè)置。有些單片機(jī)出廠時(shí)芯片廠商已經(jīng)燒錄好了引導(dǎo)程序,例如串口方式下載的引導(dǎo)程序。單片機(jī)復(fù)位或重新上電時(shí)先從引導(dǎo)程序執(zhí)行代碼檢測(cè)是否有其他命令需要執(zhí)行,再跳轉(zhuǎn)到用戶程序代碼執(zhí)行。
Arduino開發(fā)板預(yù)先寫入了bootloader,通過(guò)USB轉(zhuǎn)串口芯片下發(fā)下載命令給Arduino開發(fā)板使其復(fù)位進(jìn)入bootloader,bootloader識(shí)別到下載命令后接著引導(dǎo)新的用戶程序下載到單片機(jī)內(nèi)部flash,若沒(méi)有識(shí)別到下載命令則跳轉(zhuǎn)到原來(lái)的用戶應(yīng)用程序繼續(xù)執(zhí)行。
對(duì)于新出廠的ATmega32U4芯片內(nèi)部是沒(méi)有arduino引導(dǎo)程序的,需要用戶預(yù)先下載bootloader后才能用串口下載自己的應(yīng)用程序.在某些罕見情況下舊的bootloader會(huì)導(dǎo)致一些bug,這個(gè)時(shí)候?qū)懭胄掳姹綽ootloader可能會(huì)解決問(wèn)題。本文將會(huì)講解ATmega32U4燒錄Arduino Leonardo的bootloader。
引導(dǎo)程序下載接口與連接
本次bootloader燒錄為了方便會(huì)用到ATmega32U4的一個(gè)簡(jiǎn)單的外圍電路板。

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

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

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

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