相關(guān)推薦
您可能對下面課程感興趣
Arduino視頻教程基礎(chǔ)篇

75小節(jié)已有138544人學(xué)過

Arduino上傳機(jī)制介紹
發(fā)布時(shí)間:2022-03-11 10:11 [ 我要自學(xué)網(wǎng)原創(chuàng) ] 發(fā)布人: 小劉2175 閱讀: 1721

在Arduino核心MCU的Flash存儲上,通常分有兩個區(qū)域——應(yīng)用程序區(qū)(Application)引導(dǎo)程序區(qū)(Boot)。

應(yīng)用程序區(qū)存放著用戶應(yīng)用程序,即開發(fā)者通過IDE編寫的代碼編譯生成的程序,其功能由開發(fā)者定義和實(shí)現(xiàn);

引導(dǎo)程序區(qū),通常存放有一段啟動加載程序(bootloader),該程序可以將PC發(fā)送來的應(yīng)用程序,存儲到應(yīng)用程序區(qū)中。

Arduino每次啟動后,都會先運(yùn)行bootloader程序,如果PC沒有向Arduino傳輸新的應(yīng)用程序,Arduino則會很快開始運(yùn)行現(xiàn)有的用戶應(yīng)用程序。

因此要更新Arduino上的程序,就要先將Arduino復(fù)位,讓其運(yùn)行bootloader,以備接收新上傳的應(yīng)用程序。

在Arduino UNO/Mega上串口芯片DTR引腳和AVR RST引腳間串聯(lián)了一個100nf的電容,Arduino IDE在上傳程序前,會通過發(fā)送串口DTR脈沖讓Arduino開發(fā)板復(fù)位,進(jìn)而讓Arduino運(yùn)行bootloader。然后Arduino IDE再按照規(guī)定的協(xié)議傳輸應(yīng)用程序,即可在bootloader的協(xié)助下,將應(yīng)用程序?qū)懭氲綉?yīng)用程序區(qū)中。

對于不同的Arduino開發(fā)板,其上傳與復(fù)位方式不同,如Leonardo、Due都帶有原生的USB端口,可以模擬成串口設(shè)備和PC通信。其上傳程序是通過DFU(Device Firmware Upgrade)模式進(jìn)行的。當(dāng)PC以1200波特率打開設(shè)備串口時(shí),Arduino即會切換到DFU模式,接收PC傳來的應(yīng)用程序。

Arduino視頻教程基礎(chǔ)篇
我要自學(xué)網(wǎng)商城 ¥40 元
進(jìn)入購買
文章評論
添加表情
遵守中華人民共和國的各項(xiàng)道德法規(guī),
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。
V
特惠充值
聯(lián)系客服
APP下載
官方微信
返回頂部
相關(guān)推薦
您可能對下面課程感興趣
Arduino視頻教程基礎(chǔ)篇

75小節(jié)已有138544人學(xué)過

分類選擇:
電腦辦公 平面設(shè)計(jì) 室內(nèi)設(shè)計(jì) 室外設(shè)計(jì) 機(jī)械設(shè)計(jì) 工業(yè)自動化 影視動畫 程序開發(fā) 網(wǎng)頁設(shè)計(jì) 會計(jì)課程 興趣成長 AIGC