簡介
如果你正在查看這個項目,那么你可能已經使用過Arduino板了。 Arduino UNO上的ATmega328微控制器很可能在一定時間(或不正確的連接)后發生故障。為了重用Arduino Board,您需要一個裝有Bootloader的新ATmega328 IC(我將在一分鐘內討論Bootloader)。
還有其他原因可以在上面刻錄Bootloader ATmega328微控制器,如果你已經編寫了自己的Bootloader并想要測試它,或者你想要詳細了解微控制器的工作情況。
警告: 如果你不熟悉這種東西,不建議在Arduino中調整Bootloader。
什么是Bootloader?
簡單來說,Bootloader是一小段代碼(.hex格式的可執行代碼),駐留在微控制器的內存中。 Arduino中的Bootloader允許我們通過串口對Arduino進行編程,即使用USB線。
Arduino中Bootloader的工作是接受來自計算機的代碼并將其放入微控制器的存儲器。
為什么我們需要一個Bootloader?
傳統上,像Atmel的ATmega328這樣的微控制器是在專用編程器的幫助下編程的,這些編程器涉及一些奇特的連接。 Bootloader消除了這種復雜性,為我們提供了一種簡單的微控制器編程方式,即使用USB電纜。
Bootloader位于可編程閃存的特殊安全位置微控制器通常占用不到1KB的內存。
在ATmega328上燒錄Bootloader需要什么?
如前所述,如果您想將程序上傳到全新的ATmega328微控制器IC,您必須使用特殊的編程器(并設置保險絲位)。但是如果你在ATmega328上刻錄Bootloader,你只需通過串口(USB線)對微控制器進行編程。
一旦ATmega328微控制器準備好了bootloader,你可以簡單地使用它如果您打算制作自己的Arduino電路板,請將其用作Arduino電路板(作為替代產品)或將其用作微控制器。
如何在ATmega328上刻錄Bootloader?
有幾種方法可以在ATmega328 IC上刻錄引導加載程序。第一種方法是使用專用AVR編程器硬件。第二種方法是使用工作的Arduino板作為編程器并在目標ATmega328微控制器上刻錄引導加載程序。
在這個項目中,我將使用第二種方法,即使用Arduino作為程序員。
電路圖
在ATmega328上刻錄引導加載程序的電路圖使用Arduino的微控制器如下所示。

ATmega328微控制器的引腳圖如下圖所示,以防萬一。
所需組件
Arduino UNO
ATmega328微控制器IC
16MHz晶體
22pF x 2陶瓷電容器
10KΩ電阻器
按鈕
330Ω電阻器
面包板
連接電線
5V電源
在Atmega328上編程Bootloader的過程
如前所述,Arduino UNO正在在這里用作AVR程序員。為了達到這個目的,你必須將一個特殊程序上傳到你工作的Arduino UNO板上,稱為“Arduino ISP”。
所以,在建立連接之前,連接正常工作的Arduino使用USB電纜將UNO連接到計算機并在Arduino IDE中選擇適當的板和PORT。
現在,轉到文件》示例》 ArduinoISP》 ArduinoISP。將此代碼上傳到Arduino UNO,以便將Arduino UNO板轉換為AVRISP程序員。
完成此操作后步驟,進行必要的連接(如果沒有)。現在轉到Tools》 Programmer并選擇“Arduino as ISP”選項。在此之后,您已準備好刻錄引導加載程序。
只需轉到“工具”并單擊“Burn Bootloader” 。您的目標ATmega328微控制器將使用引導程序進行編程。
將草圖上傳到ATmega328
完成在ATmega328微控制器上傳Bootloader后,您可以繼續上傳測試草圖。為此,保留與之前相同的連接并打開任何草圖,例如Blink Sketch。
不要更改任何選項,即程序員仍設置為“Arduino as ISP ”。現在,按住鍵盤上的“Shift”按鈕,單擊“上傳”圖標。這將使用Arduino UNO作為編程器將草圖上傳到ATmega328微控制器IC。
完成此操作后,您可以斷開Arduino UNO與ATmega328微控制器的連接并使用ATmega328 IC作為在其上運行Blink sketch的獨立設備。

下圖顯示上傳后運行Blink sketch的ATmega328微控制器在Arduino UNO的幫助下。
注意:為了將代碼上傳到Arduino UNO,請確保將程序員切換回“AVRISP mkII” “。
結論
在這個項目中,我向您展示了如何在ATmega328微控制器IC上刻錄Bootloader,作為一個額外選項,我還向您展示了如何使用Arduino UNO將Arduino草圖上傳到帶有Bootloader的ATmega328。
-
微控制器
+關注
關注
48文章
8375瀏覽量
164559 -
ATmega328
+關注
關注
1文章
37瀏覽量
21536
發布評論請先 登錄
Atmel ATmega644P/V 8位AVR微控制器深度剖析
請問如何在 i.MX RT1050 上從多個起始地址運行相同的引導加載程序?
ATmega329P/3290P:高性能低功耗8位微控制器的卓越之選
Atmel ATmega640/V - 1280/V - 1281/V - 2560/V - 2561/V:高性能8位微控制器深度解析
USBISP/USBasp編程器給Atmega32U4下載Arduino bootloader引導程序
STNRG328S 數字控制器:高效電源轉換的理想選擇
MCU微控制器N32L403在毫米波雷達上的應用優勢
在筋膜槍上應用的MCU微控制器方案
如何使用 M487 微控制器 (MCU) 通過 DAC 在 SD 卡上播放 WAV 文件聲音?
Texas Instruments CC2340R2 SimpleLink?無線微控制器數據手冊
微控制器讀取閃存中的軟件信息時,軟件信息部署在哪里? 是 SRAM 嗎?
MAX28200 16位微控制器,帶有ADC和I2C技術手冊
怎樣在ATmega328微控制器上刻錄引導加載程序
評論