作者Noises (Noise)
看板ASM
标题[请益] 新手买arduino不知道怎麽烧录@@
时间Thu Jun 14 20:59:14 2018
各位大大好,
小弟最近买了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://webptt.com/cn.aspx?n=bbs/ASM/M.1528981156.A.EC0.html
1F:→ dsplab: 板子上的晶片已经烧入Bootloader,为什麽要重复烧入 06/15 08:19
2F:→ dsplab: 使用SPI连线方式,利用progisp168可以烧入Bootloader 06/15 08:21
3F:→ Noises: 因为我想让这块arduino模拟键盘,所以需要烧录已经 06/15 17:20
4F:→ Noises: compile好的hex file 06/15 17:20
5F:→ Noises: 还是说我有弄错什麽观念吗?这个不叫做烧录bootloader 06/15 17:22
6F:推 god145145: 按上传就可以了 06/15 20:53
7F:→ Noises: 好,我试试看,谢谢! 06/16 00:29
8F:→ Noises: 不过,我使用avrdude上传hex file总是失败 06/16 12:29
10F:→ Noises: 然後跑出上面的avrdude错误讯息 06/16 12:30
11F:推 johnpage: Leonardo 与 uno 是不一样的,要用Leonardo的烧录方式 06/16 22:47
12F:推 johnpage: 参考这篇 06/16 22:51
14F:→ 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