0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣在ATmega328微控制器上刻錄引導(dǎo)加載程序

454398 ? 來(lái)源:工程師吳畏 ? 2019-07-29 10:17 ? 次閱讀

簡(jiǎn)介

如果你正在查看這個(gè)項(xiàng)目,那么你可能已經(jīng)使用過(guò)Arduino板了。 Arduino UNO上的ATmega328微控制器很可能在一定時(shí)間(或不正確的連接)后發(fā)生故障。為了重用Arduino Board,您需要一個(gè)裝有Bootloader的新ATmega328 IC(我將在一分鐘內(nèi)討論Bootloader)。

還有其他原因可以在上面刻錄Bootloader ATmega328微控制器,如果你已經(jīng)編寫(xiě)了自己的Bootloader并想要測(cè)試它,或者你想要詳細(xì)了解微控制器的工作情況。

警告: 如果你不熟悉這種東西,不建議在Arduino中調(diào)整Bootloader。

什么是Bootloader?

簡(jiǎn)單來(lái)說(shuō),Bootloader是一小段代碼(.hex格式的可執(zhí)行代碼),駐留在微控制器的內(nèi)存中。 Arduino中的Bootloader允許我們通過(guò)串口對(duì)Arduino進(jìn)行編程,即使用USB線。

Arduino中Bootloader的工作是接受來(lái)自計(jì)算機(jī)的代碼并將其放入微控制器的存儲(chǔ)器。

為什么我們需要一個(gè)Bootloader?

傳統(tǒng)上,像Atmel的ATmega328這樣的微控制器是在專(zhuān)用編程器的幫助下編程的,這些編程器涉及一些奇特的連接。 Bootloader消除了這種復(fù)雜性,為我們提供了一種簡(jiǎn)單的微控制器編程方式,即使用USB電纜。

Bootloader位于可編程閃存的特殊安全位置微控制器通常占用不到1KB的內(nèi)存。

在ATmega328上燒錄Bootloader需要什么?

如前所述,如果您想將程序上傳到全新的ATmega328微控制器IC,您必須使用特殊的編程器(并設(shè)置保險(xiǎn)絲位)。但是如果你在ATmega328上刻錄Bootloader,你只需通過(guò)串口(USB線)對(duì)微控制器進(jìn)行編程。

一旦ATmega328微控制器準(zhǔn)備好了bootloader,你可以簡(jiǎn)單地使用它如果您打算制作自己的Arduino電路板,請(qǐng)將其用作Arduino電路板(作為替代產(chǎn)品)或?qū)⑵溆米魑⒖刂破鳌?/p>

如何在ATmega328上刻錄Bootloader?

有幾種方法可以在ATmega328 IC上刻錄引導(dǎo)加載程序。第一種方法是使用專(zhuān)用AVR編程器硬件。第二種方法是使用工作的Arduino板作為編程器并在目標(biāo)ATmega328微控制器上刻錄引導(dǎo)加載程序。

在這個(gè)項(xiàng)目中,我將使用第二種方法,即使用Arduino作為程序員。

電路圖

在ATmega328上刻錄引導(dǎo)加載程序的電路圖使用Arduino的微控制器如下所示。

ATmega328微控制器的引腳圖如下圖所示,以防萬(wàn)一。

所需組件

Arduino UNO

ATmega328微控制器IC

16MHz晶體

22pF x 2陶瓷電容器

10KΩ電阻器

按鈕

330Ω電阻

LED

面包板

連接電線

5V電源

在Atmega328上編程Bootloader的過(guò)程

如前所述,Arduino UNO正在在這里用作AVR程序員。為了達(dá)到這個(gè)目的,你必須將一個(gè)特殊程序上傳到你工作的Arduino UNO板上,稱(chēng)為“Arduino ISP”。

所以,在建立連接之前,連接正常工作的Arduino使用USB電纜將UNO連接到計(jì)算機(jī)并在Arduino IDE中選擇適當(dāng)?shù)陌搴蚉ORT。

現(xiàn)在,轉(zhuǎn)到文件》示例》 ArduinoISP》 ArduinoISP。將此代碼上傳到Arduino UNO,以便將Arduino UNO板轉(zhuǎn)換為AVRISP程序員。

完成此操作后步驟,進(jìn)行必要的連接(如果沒(méi)有)。現(xiàn)在轉(zhuǎn)到Tools》 Programmer并選擇“Arduino as ISP”選項(xiàng)。在此之后,您已準(zhǔn)備好刻錄引導(dǎo)加載程序。

只需轉(zhuǎn)到“工具”并單擊“Burn Bootloader” 。您的目標(biāo)ATmega328微控制器將使用引導(dǎo)程序進(jìn)行編程。

將草圖上傳到ATmega328

完成在ATmega328微控制器上傳Bootloader后,您可以繼續(xù)上傳測(cè)試草圖。為此,保留與之前相同的連接并打開(kāi)任何草圖,例如Blink Sketch。

不要更改任何選項(xiàng),即程序員仍設(shè)置為“Arduino as ISP ”?,F(xiàn)在,按住鍵盤(pán)上的“Shift”按鈕,單擊“上傳”圖標(biāo)。這將使用Arduino UNO作為編程器將草圖上傳到ATmega328微控制器IC。

完成此操作后,您可以斷開(kāi)Arduino UNO與ATmega328微控制器的連接并使用ATmega328 IC作為在其上運(yùn)行Blink sketch的獨(dú)立設(shè)備。

下圖顯示上傳后運(yùn)行Blink sketch的ATmega328微控制器在Arduino UNO的幫助下。

注意:為了將代碼上傳到Arduino UNO,請(qǐng)確保將程序員切換回“AVRISP mkII” “。

結(jié)論

在這個(gè)項(xiàng)目中,我向您展示了如何在ATmega328微控制器IC上刻錄Bootloader,作為一個(gè)額外選項(xiàng),我還向您展示了如何使用Arduino UNO將Arduino草圖上傳到帶有Bootloader的ATmega328。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7350

    瀏覽量

    150234
  • ATmega328
    +關(guān)注

    關(guān)注

    1

    文章

    37

    瀏覽量

    20978
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Keystone II器件使用Arm ROM引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《Keystone II器件使用Arm ROM引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 12:33 ?0次下載
    <b class='flag-5'>在</b>Keystone II器件<b class='flag-5'>上</b>使用Arm ROM<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>

    使用AM18xx引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《使用AM18xx引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 11:01 ?0次下載
    使用AM18xx<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>

    用于Hercules微控制器的CAN總線引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《用于Hercules微控制器的CAN總線引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 10:55 ?0次下載
    用于Hercules<b class='flag-5'>微控制器</b>的CAN總線<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>

    用于Hercules微控制器的CAN總線引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《用于Hercules微控制器的CAN總線引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 10:52 ?0次下載
    用于Hercules<b class='flag-5'>微控制器</b>的CAN總線<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>

    AWR294x主引導(dǎo)加載程序和輔助引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《AWR294x主引導(dǎo)加載程序和輔助引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 09:47 ?0次下載
    AWR294x主<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>和輔助<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>

    面包板安裝了ATmega328P芯片,AT CIPSEND回復(fù)中的字符錯(cuò)誤怎么解決?

    面包板安裝了 ATmega328P 芯片,已正確連接(帶有 16MHz 振蕩,并且使用微控制器旁邊的 22pF 電容器過(guò)濾功率)。我
    發(fā)表于 07-18 07:51

    有沒(méi)有辦法UART禁用引導(dǎo)加載程序轉(zhuǎn)儲(chǔ)啟動(dòng)信息?

    有沒(méi)有辦法 UART 禁用引導(dǎo)加載程序轉(zhuǎn)儲(chǔ)啟動(dòng)信息?我應(yīng)該改用 UART1 嗎? 我將創(chuàng)建一個(gè)橋接(連接)ESP8266到 XBEE,
    發(fā)表于 07-12 13:20

    8位Atmel 微控制器ATMEGA325V-8AU技術(shù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《8位Atmel 微控制器ATMEGA325V-8AU技術(shù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 05-06 14:59 ?0次下載

    tle988x微控制器的SWD通信失敗是什么原因?qū)е碌模?/a>

    我們想使用U-Link Pro更新英飛凌TL988x微控制器引導(dǎo)加載程序。 建立必要的連接(SWDIO、SWDCLK、VCC 和 GND)后,我們
    發(fā)表于 01-31 07:31

    微控制器基礎(chǔ)】——從歷史切入,了解微控制器的五個(gè)要素(

    微控制器基礎(chǔ)】——從歷史切入,了解微控制器的五個(gè)要素(
    的頭像 發(fā)表于 12-07 10:55 ?423次閱讀
    【<b class='flag-5'>微控制器</b>基礎(chǔ)】——從歷史切入,了解<b class='flag-5'>微控制器</b>的五個(gè)要素(<b class='flag-5'>上</b>)

    車(chē)規(guī)MCU的啟動(dòng)加載程序是什么

    啟動(dòng)加載程序(bootloader) 車(chē)規(guī)MCU的啟動(dòng)加載程序(bootloader)是一種用于汽車(chē)電子
    的頭像 發(fā)表于 10-27 17:26 ?1387次閱讀

    用于MCU的USB?DFU引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《用于MCU的USB?DFU引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-27 14:23 ?1次下載
    用于MCU的USB?DFU<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>

    微控制器基礎(chǔ)】——電路中的“數(shù)字與邏輯”(

    微控制器基礎(chǔ)】——電路中的“數(shù)字與邏輯”(
    的頭像 發(fā)表于 10-26 16:34 ?421次閱讀
    【<b class='flag-5'>微控制器</b>基礎(chǔ)】——電路中的“數(shù)字與邏輯”(<b class='flag-5'>上</b>)

    AT32微控制器創(chuàng)建IAP by Kermit應(yīng)用程序的方法

    AT32 IAP by Kermit提供在AT32微控制器創(chuàng)建IAP by Kermit應(yīng)用程序的方法。
    發(fā)表于 10-24 07:56

    AT32微控制器創(chuàng)建OTA應(yīng)用程序的一般準(zhǔn)則

    AT32 OTA using the USART提供在AT32微控制器創(chuàng)建OTA應(yīng)用程序的一般準(zhǔn)則。
    發(fā)表于 10-19 07:43