[爆卦]arduino bootloader燒錄是什麼?優點缺點精華區懶人包

為什麼這篇arduino bootloader燒錄鄉民發文收入到精華區:因為在arduino bootloader燒錄這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者Noises (Noise)看板ASM標題[請益] 新手買arduino不知道怎麼燒錄@@時間T...


各位大大好,
小弟最近買了Arduino pro micro來玩。
可是照著網路上的教學做,都沒辦法燒錄bootloader

使用linux&windows
linux:
$ sudo dfu-programmer atmega32u4 erase
-> no device present
$ sudo dfu-programmer atmega32u4:1,32 erase
-> no device present
avrdude -c dragon_isp -P /dev/ttyAMC0 -p atmega32u4 -U flash:w:myHEX.hex:i
-> stk500_getsync() not in sync resp=0x30
-> avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x3f


windows:
在裝置管理員裡:
看見 Arduino Leonardo(COM7)
按下reset看見
Arduino Leonardo bootloader(COM8)

從Arduino官方網站下載arduino/genuino程式
使用ArduinoISP,無論選COM7 or COM8 都沒辦法執行「燒錄Bootloader」
-> avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x3f

從AMTEL下載FLIP
選好atmega32u4之後,選usb port connection
-> Could not open USB device

買了一塊板子,弄了半天找不到怎麼燒錄東西 QQ

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.101.143
※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1528981156.A.EC0.html
dsplab: 板子上的晶片已經燒入Bootloader,為什麼要重複燒入 06/15 08:19
dsplab: 使用SPI連線方式,利用progisp168可以燒入Bootloader 06/15 08:21
Noises: 因為我想讓這塊arduino模擬鍵盤,所以需要燒錄已經 06/15 17:20
Noises: compile好的hex file 06/15 17:20
Noises: 還是說我有弄錯什麼觀念嗎?這個不叫做燒錄bootloader 06/15 17:22
god145145: 按上傳就可以了 06/15 20:53
Noises: 好,我試試看,謝謝! 06/16 00:29
Noises: 不過,我使用avrdude上傳hex file總是失敗 06/16 12:29
Noises: https://goo.gl/wBEpwS 像這篇教學說得 06/16 12:29
Noises: 然後跑出上面的avrdude錯誤訊息 06/16 12:30
johnpage: Leonardo 與 uno 是不一樣的,要用Leonardo的燒錄方式 06/16 22:47
johnpage: 参考這篇 06/16 22:51
johnpage: html?m=1 06/16 22:51
雖然說過了很久(試了好一陣子才成功,也擱置好一陣子)
不過真的像是johnpage大說的,直接用就好了呢!
謝謝各位大大。
順便黏一下johnpage大的連結:
http://yehnan.blogspot.com/2013/09/arduino-leonardo.html?m=1

不過,要燒錄hex file的話,flip還是不能用。網路上的說的lib32沒有,要重新裝driver。
跟這裡又不一樣了。這裡是電腦已經可以抓到driver。裝置管理員看得到arduino leonardo,
表示已經有driver,我自己是猜flip不吃arduino自己的driver,所以才會有問題。
flip裡面內建的driver是X86系統用,所以X64系統不能用。

之後找了avrdude來燒錄hex file,不過,必須使用指令來燒錄。
簡單講一下我碰到的問題:一些avrdude的option不知道怎麼設定。

在windows下的指令像是這樣:
avrdude -v -c avr109 -P COM8 -b57600 -p atmega32u4 -U flash:w:myHEX.hex
-C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf"

-v : 列出詳細資訊。debug時可用。 -v, -vv, -vvvv 代表列出的資訊多寡。
-P : port。 你必須從裝置管理員中找到你的port name。
像我在一般模式的話,就會是COM7,在bootloader模式,就會是COM8
-c : 使用哪種軟體幫你燒錄這個hex檔。每個不同的arduino都有對應的軟體。
你必須找到arduino官方軟體裡面的檔案的資料。
檔案一般在C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt
會寫在這條
"leonardo.upload.protocol=avr109"
-b : 同-c。
"leonardo.upload.speed=57600"
-p : "leonardo.build.mcu=atmega32u4"
-U : 指定你要燒錄的hex 檔案

在arduino自己的軟體裡面,你也是需要指定port number,硬體名稱。以及要使用的燒錄軟體(avr109)
不然他還是會寫avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x3f

※ 編輯: Noises (140.112.101.143), 06/25/2018 03:47:50

你可能也想看看

搜尋相關網站