久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10103|回復: 5
收起左側

改造USBasp編程器用arduino燒錄引導程序

[復制鏈接]
ID:234053 發表于 2018-2-7 09:34 | 顯示全部樓層 |閱讀模式
玩arduino的朋友應該都知道常用的arduino的處理器幾乎都是atmega系列的單片機(AVR單片機一種)想要更加靈活的玩轉arduino的莫過于自己制作一塊arduino主板,但這就帶來了一個問題——BootLoader的燒錄(也就是引導程序的燒錄)

arduino的BootLoader不能使用串口燒錄這是常識(我個人認為),唯一的辦法就是編程器(也叫燒錄器或下載器)
可以將一塊arduino板子制作成arduinoISP,但據說并不穩定,有一定概率燒錄失。ㄎ也]有有試驗過,所以具體情況我也不太清楚,用過的可以說一下)
還有就是目前最便宜的編程器也就是是USBasp(國內大部分AVR單片機用的都是這種),也就是下圖這種(顏色不一定相同)
注:USBisp和USBasp并不是同一種下載器,某寶搜出來的雖然寫的是isp,但幾乎都是智峰USBasp
232438slzl7hh54vo4js4z.jpg
某寶一搜USBasp出來一大堆(本文僅針對這種帶外殼,插頭向后的燒錄器,其他的不保證成功
因為arduino的jtag接口是6p的,所以要再接上一個10p轉6p的轉換頭(當然直接用杜邦線接也可以)
233151v46s3uc1tz16s1cy.jpg

但很多人買回來連上電腦后并不能使用,在arduino上點擊“燒錄引導程序”會提示:
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
燒錄引導程序出錯。



原因在于目前國內的USBasp大部分使用的是國內“智峰”的USBasp編程器的程序固件,雖然免驅,但只能用智峰的下載軟件progisp。而arduino官方的燒錄程序識別的是國際版USBasp,也就是說雖然都是USBasp,但固件和驅動完全不一樣(這也是為什么很多的USBasp不能在Linux上對AVR單片機燒錄程序的原因)

因此,如果要用USBasp燒錄引導程序,我知道兩種辦法
一:在arduino安裝目錄找到BootLoader的hex文件,然后使用progisp進行燒錄,但這種方法比較麻煩,每次換不同的版型都要更換flash、更換配置(熔絲位設置等等,設置不當還會引起單片機鎖死,然而解鎖更麻煩)網上已經有這種方法了,在此不介紹
二:還一種就是我琢磨了好久才解決的一種辦法,把智峰的USBasp改造成國際版,一勞永逸,做成之后就可以直接用改造后的USBasp下載BootLoader,也可以使用編程器上傳arduino程序

改造方法如下:
一 前期準備:
  硬件
    兩個USBasp燒錄器(改造完后一個是智峰驅動,一個是通用版,以后就有兩種USBasp下載器,面對不同情況,畢竟progisp大多時候還是比通用版AVR燒錄程序很好用)
    一根USBasp下載線(買的時候一般都有)
    尖頭短路鑷子(沒有也可以用導線代替)
    烙鐵等電工工具
  軟件
USBasp固件(解壓)   http://www.fischl.de/usbasp/
    智峰progisp   http://www.pc6.com/softview/SoftView_118051.html
    Zadig(驅動安裝)  http://zadig.akeo.ie/


二 硬件修改:
把其中一個USBasp的外殼拆掉,手拿著外殼(不要碰尾端),USB頭向下,對著硬板或地面向下一壓就拆掉了
002018urhhqsoawqsrratv.jpg
注意圖上用紅線標記的地方(B短路點),有個0歐的電阻,有的下載器是直接用焊錫焊成一個點
把0歐的電阻焊掉或把錫點焊開,也就是讓線路斷開(重要)

把兩個編程器用下載線連接起來
003256bhgr9939wyjg5twr.jpg

將智峰USBasp插在電腦上

用短路鑷子連接待改造的編程器的“up”兩側對應的兩個過孔(也可以用導線臨時焊接在一起)
下載固件期間“up”兩端的過孔須保持連接狀態,下載完成后斷開(不用立即斷開)
003652xav54n4i4lvp11dl.jpg


三 固件下載:
打開progisp
確認改造的USBasp處理器型號,圖中所示位置,應為atmega8或atmega88或atmega48,后綴A、L之類的可以忽略
005126rhttgtwyy46hrgw9.jpg

點右側“調入Flash”,在下載的“USBasp固件”中打開“in irmware
可以分別找到對應的型號atmega8、atmega48、atmega88的hex文件
按圖示下載程序,可按圖示框選相應選項
011238e3f8j33m5ork3pl0.jpg
熔絲位設置方式,可以直接在下方輸入
ATMEGA8設置為   低位值EF,高位值C9
ATMEGA48設置為 低位值FF,高位值DD
ATMEGA88設置為 低位值FF,高位值DD
011942r12g7u1eh7oa01uz.jpg

固件下載成功后
斷開“up”對應電路
可關閉progisp

四 安裝驅動:
拔掉智峰USBasp,插上改造后的USBasp,電腦會提示安裝驅動失敗或其他提示(也有提示成功的,為保萬一還是再裝一下,因為驅動有3種),忽略
打開Zadig
選擇 Options->List All Devices
在下拉框中選擇USBasp(一定不要選錯)
綠色箭頭右側選擇為WinUSB
然后Install Driver(我已經安裝過了,所以顯示為Reinstall Driver)
013734ggg9i77gc9fun7bi.jpg
注:arduino對應驅動為WinUSB,而如果想用AVRDUDE下載AVR程序,需要將驅動改為libusb-win32或libusbK




至此,一個公版USBasp就改造完成了
不僅arduino可以用來燒錄BootLoader,linux也可以用來下載程序了

評分

參與人數 2黑幣 +55 收起 理由
QQwert + 5 很給力!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:85865 發表于 2018-2-8 13:41 | 顯示全部樓層
這個好,學習了,準備也改一個試試
回復

使用道具 舉報

ID:85865 發表于 2018-2-8 14:33 | 顯示全部樓層
WINUSB 和 Libusb 驅動不能共存的嗎?
回復

使用道具 舉報

ID:85865 發表于 2018-2-8 14:34 | 顯示全部樓層
用arduino可以來燒錄BootLoader,就不能用progisp來燒錄
回復

使用道具 舉報

ID:283192 發表于 2018-2-8 21:00 | 顯示全部樓層
學習了  謝謝分享
回復

使用道具 舉報

ID:304003 發表于 2018-4-9 10:31 | 顯示全部樓層
好東西
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本毛片在线观看 | 亚洲黄色在线 | 一级香蕉视频 | 久草久草| 国产日韩综合 | 天天干天天操 | 午夜www| 精品无人国产偷自产在线 | 久久精品欧美一区二区 | 久久艹国产 | 国产精品久久久久久久午夜 | 另类小说第一草 | 国产天堂在线 | 欧美激情一区二区 | 日韩av免费 | 免费av在线 | 免费在线看a| 一区在线播放 | 在线中文av| 国产免费91| 成人在线一区二区 | 久草网站| 精品少妇3p| 亚洲综合区 | 四虎成人影视 | 成人免费高清 | 黄色一级在线观看 | 成人性生活视频 | 夜色在线影院 | 日韩av不卡在线观看 | 国产一级在线视频 | 精品久久久久久久久久久 | 国产日韩视频 | 欧美成人精品 | 国产女人18毛片水18精品 | 亚洲欧美第一页 | 国产理论在线 | 国产一区二区三区在线视频 | 久久久亚洲一区 | 91在线精品秘密一区二区 | 国产精品久久久久久妇女6080 |