如何使用Avrdude下载HEX文件到Arduino

简介:avrdude是一个多平台的avr系列MCU的下载器,这个软件的使用方法比较简单,也很容易调用,但因为一些时候资料不全所以用起来多有不便的地方

 

需要注意的是如果要使用这个软件来下载固件,一定要在Arduino IDE导出的编译好的文件中选择带bootloader字样的文件

举个例子:

将当前arvdude目录下的scrollKeyboardX.ino.with_bootloader.leonardo.hex通过COM10上传到Leonardo

那么我需要在命令提示符中输入的语句为:

.\avrdude.exe -C avrdude\avrdude.conf -v -v -v -v -p atmega32u4 -c avr109 -P COM10 -b 57600 -D -U flash:w:scrollKeyboardX.ino.with_bootloader.leonardo.hex:i

如果是UNO等328p机型,则将上述的参数中的atmega32u4替换为m328p

如果直接的输入这个语句是不行的,avrdude这边不会响应,如图

 

 

 

查询一些资料可知,在Arduino这边必须要复位,以进入DFU模式才可以下载

有时候没有复位按钮,或者说我这边没有办法按到复位按键,那么就没法去切换到该模式,怎么办?

这时候就需要学大多数的下载器和Arduino IDE的做法了,可以使用串口打开关闭的方式来让Arduino切换到DFU模式

 

可以打开设备管理器,在开关串口后,我们就可以观察到切换串口使下位机重启,常用的串口号消失,出现了一个不同的串口号

当然,这个模式的前提是你下载的目标MCU需要内置有bootloader,这也是为何前面强调一定要选择带bootloader字样的HEX固件,不然会需要你使用USBtiny的方式才能下载。

 

所以,在切换完成后我们可以看到bootloader下载的目标串口是COM13

修改前面的参数,将串口号改为COM13,这里有一点是关于-v这个参数,-v如果输入越多那么在下载过程中的信息也就越详细,在没有特殊需求的情况下还是一个-v即可

.\avrdude.exe -C avrdude.conf -v -v -v -v -p atmega32u4 -c avr109 -P COM13 -b 57600 -D -U flash:w:scrollKeyboardX.ino.with_bootloader.leonardo.hex:i

如果一个-v的话输出的信息:

四个-v输出信息:

 

在切换串口开关后,五秒左右时间内立刻输入语句到命令提示符执行avrdude,即可正常的下载HEX文件到MCU

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值