AVRDUDE 在 atmega32 上缓慢上传

Posted

技术标签:

【中文标题】AVRDUDE 在 atmega32 上缓慢上传【英文标题】:AVRDUDE slow upload on atmega32 【发布时间】:2021-10-13 13:08:48 【问题描述】:

我正在使用 Eclipse 软件,当我想将我的代码上传到时钟为 16MHZ 的 MCU(atmega32)时,avrdude 需要的时间比它应该的要长,但是程序运行正常,但唯一的问题是 avrdude上传时间。下面的例子显示上传程序花了超过1.5分钟,那么如何减少这个时间呢?

Launching D:\Programs\03- IMT SDK\IMT_SDK_Win_64\WinAVR\bin\avrdude -pm32 -cusbasp -P230400 -b230400 -Uflash:w:1542.hex:a 
Output:

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9502
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "1542.hex"
avrdude: input file 1542.hex auto detected as Intel Hex
avrdude: writing flash (7518 bytes):

Writing | ################################################## | 100% 62.72s

avrdude: 7518 bytes of flash written
avrdude: verifying flash memory against 1542.hex:
avrdude: load data flash data from input file 1542.hex:
avrdude: input file 1542.hex auto detected as Intel Hex
avrdude: input file 1542.hex contains 7518 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 34.79s

avrdude: verifying ...
avrdude: 7518 bytes of flash verified

avrdude done.  Thank you.

avrdude finished

【问题讨论】:

我投票结束这个问题,因为它与软件编程无关。它是关于使用广泛可用且有据可查的工具进行硬件编程的。 【参考方案1】:

计算7518 bytes / 62.72 s 的值可以得到120 bytes/sec 的上传速度,而USBasp 可以提供高达5 kBytes/sec 的编程速度。上传速度当然可以提高。

首先,确保USBasp的PC2端口连接的跳线被移除。它旨在激活慢速操作选项以支持具有低时钟速度 (

其次,您不必手动指定上传速度,因此可以简化命令:

avrdude –c usbasp –p m32 –U flash:w:1542.hex

【讨论】:

以上是关于AVRDUDE 在 atmega32 上缓慢上传的主要内容,如果未能解决你的问题,请参考以下文章

通过 USBASP 对 Atmega32U4 进行编程

使用 avrdude 对闪存的引导加载程序部分进行编程很慢

使用 FTDI Basic 回读 ATmega328p 程序

usbtiny 不适用于 avrdude

使用 Win32 执行命令

Atmel Studio 烧录 Atmega328P(Arduiono)