先來點類似開胃菜的楔子 ‧‧‧
由於之前玩了好幾個星期的 TransistortesterAVR
,到上週為止,仍然無法順利的讓 MCU 晶片正常運作,
而在與網友亦或是該裝置作者的問答往返當中,暫時得到的結論是,仍然得確認上傳的資料是無誤的。
而這個問題,應該也就是一開始學著使用 avrdude 指令,然後透過 Arduino as ISP 的方式進行資料上傳時所遇到的問題:
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x03 != 0x08
avrdude: verification error; content mismatch
這樣的問題,當時該網友也提供一些意見,他在自己所使用的 arduino2560 這版子上也有遇到過,但是事實上對於上傳的韌體內容,並沒有造成太大的問題!
拉回到上傳韌體時卻遭遇認證機制錯誤的問題上面,暫時能想到的就是,想辦法弄到一個專門拿來燒錄韌體到 MCU 上面的裝置。
然而,手邊有機會拿來當晶片燒錄器的東西,也就只有 Arduino UNO R3 這塊板子而已!
在這邊小小小慶幸一下的事情是,因為在找問題解答的過程裡頭,也發現了個 USBasp
的裝置,好處是,它也是利用 ATmega 系列的晶片就可完成的裝置,而且可以燒錄的晶片也包含相當多的 ATtmel AVR 的晶片。
也發現網路上有相當多的產品,都是依此為基礎開發出來的自製 USBasp
,雖然它現在幾乎已經沒有在更新的了。
Thomas Fischl's USBasp
從網站上可以下載到的目前最新的檔案: usbasp.2011-05-28.tar.gz
※ 看日期就知道,也算是有夠老的了,而且很久沒更新了。
& 這個壓縮檔裡頭已經包含了驅動程式了,所以可以不用額外下載。
解壓縮後可以看到的主要檔案目錄:
Name | Sub Dir | Descript |
bin | firmware | 已編譯完成的韌體版本 |
| linux-nonroot | linux 驅動程式 |
| win-driver | windows 驅動程式 |
circuit | | 電路圖 |
firmware | | 韌體原始碼 |
然後,決定先嘗試用獲得的任務道具 USBasp_schematics.pdf
, 依照此電路圖的線路,把裝置給插出來 ~
過程當然還是免不了一番波折的啦 ~
玩到現在覺得,容易出狀況的,或多或少地可能是在麵包板上面把電路圖實作出來的時候;不過,大多數的問題都是來自於韌體或者是軟體上面。
就像在製作這個 USBasp 的時候也是這樣子的。
USBasp 在麵包板上的蠢樣/USBasp on breadboard
真正的打擊遭遇戰,並不是在這裡 ‧‧‧
#Arduino, #USBasp, #AVR