USB ISP Progisp

回覆文章
yehlu
Site Admin
文章: 3244
註冊時間: 2004-04-15 17:20:21
來自: CodeCharge Support Engineer

USB ISP Progisp

文章 yehlu »

http://diveduino.blogspot.com/2012/11/u ... duino.html

USBasp 以 Progisp 軟體燒錄 Arduino (ATmega168、ATmega328) bootloader 設定教學
前一篇我們帶著大家利用 AVR Studio 設定 AVRISP mkII 進行 Fuse 等細節燒錄,
但上一篇教學是針對 Arduino ATmega 2560 這顆單晶片。

若手邊只有 USBasp,而且要燒錄的對象只是 ATmega 168、ATmega 328,
那麼只需要上網搜尋一個輕量級的軟體: Progisp ,即可燒錄。

由於該軟體相當容易搜尋,因此就不在此提供連結。




當軟體準備開啟前請先將 USBasp 插上 Arduino 的 ICSP 腳位,
並將 USBasp 與 Arduino 上的 USB 線連接至電腦。





接著將 Progisp 開啟,開啟畫面如下,
請先選擇晶片,接著按一下 USBasp 的 icon






接著我們針對常用的幾個 icon 進行介紹,紅色方框中的部份是我們會用到的常用選項,
圖片如下



1 . 一鍵清除晶片
2. 全自動(清除、上傳、驗證,一鍵完成)
3. Fuse 等細部設定
4. 更多命令功能 ( Earse flash、Upload flash ....etc. )


當我們要上傳程式之前,請先按下 Earse 作晶片清除,接著按 Auto,就完成了全部的工作。
好,節目到此結束,我們下週見。


哎呀,當然不是這樣就沒啦!
的確這兩個步驟就可以做完全部的工作,只要一開始的晶片選擇有選對,
就是這麼輕鬆簡單。



我們再來介紹一下選項 3 和選項 4 的兩個功能


選項 3 點開後的圖示如下

若你有閱讀過我們前一篇使用 AVR Studio 燒錄的文章,
那這邊應該有些 Fuse 的名字很熟悉,例如 SPIEN(SPI Enable)。







以電腦的概念而言,1代表開,0代表關,但為什麼 SPIEN 是 0 呢?
因為在 AVR 的 Fuse 設定中,0就代表開,1就是關閉。
所以千萬別被 Fuse 這堆 1, 0 嚇到了。

這邊的 Fuse 設定,我們都不需要去更改設定,只需要看看 SPIEN有沒有被設定為 1 就行了。





那麼到底晶片的 Fuse 設定,應該是什麼樣的規定才是正確的?
有沒有一個表格可以查詢?
這問題我想應該很多初學者也很困擾,但別擔心,網頁上就能找到讓你搞懂 Fuse 的網站!

Embedded AVR Fuse Calculator:http://www.engbedded.com/fusecalc



進入網站後,可以看見中間有個選擇晶片的選項




我以 ATmega 328 晶片為例,選擇後會跳出以下畫面,
共計有三個大項目:

1. Feature configuation

2. Manual fuse bits configuration

3. Current setting







這個網站所提供的 Fuse 與其他細節設定值,可以直接套用至燒錄器中的選項設定中,
因此萬一拿到一片新的 AVR 晶片不曉得要怎麼調整,可到這個網站來查詢一下。



選項4的按鈕 command 則是把一些功能選單隱藏起來,讓畫面更乾淨





綜合以上介紹後,對於 Progisp 是不是比較熟悉了?

其實若沒有特殊需求,需要特別設定,
在一開始打開 Progisp ,選擇好晶片,直接按下 Earse 和 Auto 就可以了。

不過 ATmega 2560 在這個燒錄器有個很妙的情況,
燒錄可以成功燒錄,但是在 Arduino IDE 卻無法上傳 Sketch。

正常燒錄成功的 Arduino ,應該是可以透過 USB 或 ICSP 腳位(利用燒錄器)上傳程式,
不過 ATmega 2560 卻失敗了。



因此筆者在此強烈建議:

ATmega 168 、ATmega 328 可用 USBasp 燒錄,簡單又便宜,

ATmega 2560 則用 AVRISP mkII ,可增加成功燒錄的機率。



燒錄器與 Arduion Bootloader 系列文章,就在此告一個段落,
希望很快有新的研究可以分享給各位!

Have fun !
回覆文章

回到「Arduino」