直接使用下载的avrdude烧录文件,会将bootloader也给擦除掉。配置avrdude避免flash被全部擦除也比较麻烦,可以使用arduino中的avrdude.exe,无需复杂的配置,直接一个指令即可。
1.文件准备
需要三个文件:
avrdude.conf、avrdude.exe、libusb0.dll。都可以在arduino目录下找到
我用的arduino版本是1.8.13,这三个文件在arduino目录下的位置:
avrdude.conf:Arduino\hardware\tools\avr\etc\avrdude.conf
avrdude.exe:Arduino\hardware\tools\avr\bin\avrdude.exe
libusb0.dll:Arduino\hardware\tools\avr\bin\libusb0.dll
单独拷贝出这三个文件到一个文件夹下。
2、指令
下载hex文件到arduino板子上的指令:
.\avrdude.exe -C avrdude.conf -v -v -p atmega328p -c arduino -P COM10 -b 115200 -D -U flash:w:test.hex:i
-v 越多打印输出的越详细,用两个-v即可
-p <部件号> - AVR处理器型号
-P <端口> - 要烧录的COM端口
-b <波特率>
-D - 禁用闪存的自动擦除
-U <内存类型>:<操作>:<HEX文件的路径>:<格式>