AVR Bootloader應用介紹
因為AS4中使用avrub已經(jīng)很方便了,所以就不重復了,這里只介紹AS6中使用avrub的方法。先在A(yíng)S6中創(chuàng )建新項目,然后將avrub中需要的三個(gè)文件復制到項目文件夾下,并刪除原來(lái)的主程序文

使用過(guò)avrub的人都知道,使用avrub主要就是要做好參數配置工作,基本不用修改程序的。先設置一下bootloader的地址,方法和AS4中一樣,在項目屬性的Memeory Setting中,在Flash segment下添加一行:復制代碼這是為了將bootloader設置在0x3C00Word(0x7800Byte)處,也就是Boot區大小是1KW。其它參數就在bootcfg.h中修改了,主要是修改時(shí)鐘頻率、LED引腳、波特率等。
- .text=0x3C00

設置完成后保存一下,然后可以編譯了。為了驗證Bootloader是否在我們需要的位置,可以用avrubd.exe查看一下編譯后的HEX文件。下圖顯示它的確從0x7800Byte處開(kāi)始的。

下一步就是配置ATmega328P的熔絲位了。這里主要是設置BOOTRST和BOOTSZ兩個(gè),其它不用修改。在Device programming中設置好后記得還要program,這樣才能設置到芯片中。使用AS自帶的編程軟件好處就在于如果不小心設置了一些錯誤而關(guān)鍵的熔絲位,它會(huì )提示你。

下一步就是將上面編譯好的bootloader程序下載到芯片。然后就是在上位機軟件中設置參數和串口,最簡(jiǎn)單的方法就是直接在選項中導入剛才的bootcfg.h。設置串口時(shí)需要注意,必須將DTR選中,不然串口是無(wú)法通信的(這是mEDBG要求的)。

最后在打開(kāi)一個(gè)atmega328的例子下載,測試一下。只要沒(méi)有設置錯誤,基本都是一次成功,用起來(lái)還是很方便的。

因為ATmega328P Xplained mini開(kāi)發(fā)板上沒(méi)有復位按鈕,所以我們還需要準備一個(gè)鑷子,在需要復位時(shí),將ISP插座的5 6兩個(gè)腳(RESET和GND)短路一下。
評論