AVR程序員: Arduino ISP Arduino程序
建立電路
Arduino將運(yùn)行Arduino ISP草圖,并作為編程設(shè)備。搬運(yùn)電子元件時(shí)要小心。這張圖是從Arduino到面包板上的微控制器。
程序員變成了一個(gè)USB到SPI轉(zhuǎn)換器。十六進(jìn)制文件存儲在您的個(gè)人電腦將被記錄到目標(biāo)芯片的閃存。我們的編程器的Pin10切換我們的目標(biāo)芯片的重置。一個(gè)十六進(jìn)制文件從您的PC上傳到通過程序員的目標(biāo)芯片。
上傳ArduinoISP草圖
這是一個(gè)普通的草圖包含在示例- bbbb11 . arduinoisp。閱讀一些代碼,看看作者是怎么說的。下面的Arduino Uno表示編程設(shè)備。
上傳到編程器Uno,它就變成了一個(gè)位于串行通信端口上的名為avrisp或stk500v1的編程設(shè)備。
脈沖領(lǐng)導(dǎo)
Arduino Uno板現(xiàn)在是一個(gè)程序員,你可以用它來編程包含ATmega和atiny芯片的板。連接Uno和PC的USB端口現(xiàn)在變成了一個(gè)類似USBasp或USBtiny加密狗的編程器。
關(guān)閉Arduino ISP草圖,查看連接到編程器脈沖引腳的綠色LED。我們已經(jīng)把這個(gè)Uno編程成一個(gè)編程工具。
ATmega168的草圖
打開你想上傳到目標(biāo)芯片的草圖。這里我們使用Blink。文件- >菜單- >基本例子>眨了眨眼。我們的圖表以ATmega168芯片為目標(biāo),該處理器用于Diecimila板。
選擇單板和處理器,執(zhí)行Tools-> board ->AVR->Diecimila,然后執(zhí)行Tools-> processor ->ATmega168。
Arduino作為ISP
查看Tools- b> Programmer的菜單,你會看到很多選擇。選擇Arduino作為ISP。
使用編程器上傳
菜單草圖->上傳使用程序員或按ctrl+shift+U鍵盤。Arduino IDE程序?qū)⒁灾蓖J脚c程序員交談以到達(dá)目標(biāo)設(shè)備。
燃燒引導(dǎo)裝載程序?
好問題。既然你有了一個(gè)編程設(shè)備,你就可以在芯片上閃現(xiàn)新的程序了。只有當(dāng)你想讓你的芯片像Arduino板一樣在USB端口上編程時(shí),才需要引導(dǎo)加載程序。
引導(dǎo)加載程序消耗您可能需要用于程序的閃存。你最好只用Arduino ISP編程器編程一次芯片。
目標(biāo)ATmega328p
目標(biāo)可以是另一塊包含ATmega328p處理器的Uno板。也可能是一個(gè)微型芯片。使用菜單工具->板管理器選擇Arduino Uno板。
我們的程序員的Pin10切換我們的目標(biāo)板的重置。一個(gè)十六進(jìn)制文件從您的PC上傳到通過程序員的目標(biāo)芯片。
使用編程器上傳
查看進(jìn)度以查看任何錯誤信息。屏幕底部顯示目標(biāo)板。使用程序員或按鍵盤上的Ctrl+Shift+U。
詳細(xì)輸出
在上傳期間打開詳細(xì)輸出,并查看使用avrdude命令的行。我們的Arduino作為ISP成為-c stk500v1編程電路。稍后我們將使用此信息。
刻錄引導(dǎo)程序II
有一些很好的理由將Bootloader刻錄到ATmega328p芯片上。當(dāng)你從工廠購買芯片時(shí),他們不會有引導(dǎo)程序。您正在編程的Uno板可能會擦除引導(dǎo)加載程序。
菜單工具->刻錄引導(dǎo)程序觀察消息1字節(jié)鎖定驗(yàn)證。Burn Bootloader設(shè)置一個(gè)保險(xiǎn)絲來阻止對安裝了引導(dǎo)加載程序的閃存的擦除。
Avrdude從CMD
打開終端窗口。輸入avrdude命令。
注意,avrdude已經(jīng)讀取了目標(biāo)芯片的保險(xiǎn)絲設(shè)置。當(dāng)您通過串行端口編程Uno板時(shí),這些值將被阻止。
我失敗了
您可能必須清除pin8上的紅色錯誤指示燈,按下編程板上的復(fù)位按鈕。檢查您輸入的參數(shù)。仔細(xì)檢查零件和電路值。使用-b 9600降低波特率。
一切都有聯(lián)系嗎?試試用另一臺電腦。嘗試不同的USB連接線。從USB2切換到USB3端口,反之亦然。試試Avrdude的GUI版本。綠色脈沖LED燈還在跳動嗎?
刷新編程板中的ArduinoISP草圖。驗(yàn)證端口號。
微芯片工作室
ATmega和ATtiny芯片是由MicroChip制造的。MicroChip Studio和MPLab X IDE可以編寫在芯片上運(yùn)行的程序。MicroChip Studio還提供了一個(gè)程序員上傳功能。
菜單工具->外部工具設(shè)置一個(gè)新的編程設(shè)備。
我們將調(diào)用新的外部工具ArduinoISP。在這臺計(jì)算機(jī)上,參數(shù)需要是
就像前面的avrdude命令一樣。腳本允許我們在名為debug的目錄中上傳一個(gè)以項(xiàng)目命名的十六進(jìn)制文件。
要對設(shè)備進(jìn)行編程,請使用菜單Tools- b> ArduinoISP,當(dāng)avrdude執(zhí)行時(shí),黑色命令窗口將閃爍。
AVR ISP Arduino屏蔽
AVR ISP Arduino編程屏蔽帶28pin ZIF插座,可容納ATmega328p, ATmega8和ATmega168芯片。您可以在服務(wù)編程頭中對具有6針和10針I(yè)SP/ICSP的其他板進(jìn)行編程。
將芯片插入ZIF插座或與ISP電纜連接。在Uno板上安裝屏蔽。連接到PC,上傳ArduinoISP草圖。檢查跳動脈搏指示器。通過復(fù)位Uno板清除紅色Error指示燈。
本文編譯自hackster.io





