在车间部署了十几个网络版的温湿度采集器(基于arduino的),这些采集器分布在不同的地方,现在要更新一下上面的固件。最笨的方法是一个一个地取下来,插到电脑的USB接口上进行固件更新,这样做显然很麻烦。能不能直接通过网络(以太网)进行固件的更新呢?

我查了一下资料,发现网上只有通过蓝牙更新的固件的,但是没有以太网的。低功耗的商用的蓝牙,其传输距离只有10米,且那个方法必须在板上进行手动复位。我研究了一下,发现了通过以太网刷新固件的方法,现跟大家分享一下。

1、原理:

(1)通过串口转wifi模块发送一个指令,让arduino复位。

(2)然后开始传送编译好的二进制文件,arduino在重启的时候,会将这个文件写入到flash中。avr固件的烧录原理请见:http://news.eeworld.com.cn/mcu/2013/0608/article_13291.html

2、硬件:

Arduino uno + 串口转wifi模块。

线路连接:2号IO口串联一个550k电阻接到reset上。

我所用的Wifi模块是在这家店买的:

http://item.taobao.com/item.htm?spm=a1z09.2.9.41.0CxtvI&id=36815717425&_u=blmt59h45fc

3、所需要工具软件:

(1)avrdude。版本013.9.18,在附件的bin文件夹下。这个程序可用来将编译好的二进制文件刷写(烧录)到arduino中,它需要用到串口。

(2)VSPM虚拟串口服务器,下载地地址:http://www.kinghwawin.com/DownloadShow.asp?ID=40。

这个软件的作用是将TCP服务器虚拟成本地的串口,用于跟avrdude配合使用,即提供一个串口给avrdude使用。下载完毕之后,请按默认路径安装。启动该程序,然后新建一个虚拟串口,将串口号设置为“COM256”。如图所示:

(3)TCP/UDP调试工具。此工具的作用是给远端的arduino控制器发送复位指令。

4、arduino代码

void setup()

{

    Serial.begin();

    pinMode(,OUTPUT);

    digitalWrite(, HIGH);   // switch off

}

void loop()

{

   if (Serial.available() > )

   {

       char val;

       val = Serial.read();     // read serial data

       if(val == 'r')

       {

          digitalWrite(, LOW);    // 将reset管脚的电平拉低50ms,起到复位的作用

           delay();

          digitalWrite(, HIGH); // 

      } 

  }

}

注:arduino中必须有以上的这些代码才能被远程刷新。请将这些代码嵌入到你的arduion中,然后用usb线刷新到arduino中。

5、在arduino编辑器中找到编译好的固件(.hex文件)

默认情况下,arduino会在后台将源码进行编译成二进制文件,然后下载到arduino控制器中,这个过程不会有提示。

可以通过一些方法来显示编译烧录的过程,并且提取hex文件,详细方法见链接:http://see.sl088.com/wiki/Arduino_%E6%8F%90%E5%8F%96hex

这个步骤完成之后,我们手头上就有了一个后缀名为hex的二进制文件。

附件中的bin文件夹下,有一个名为的Blink.cpp.hex文件,它是官方提供的例子编译之后的二进制文件,可以拿这个来做测试。

6、手工烧录

手工烧录是直接使用avrdude来进行烧录。avrdude是一个控制台程序,需要在命令行下进行操作。

(1)cd进附件中的bin文件夹下。

(2)使用TCP/UDP调试工具连接到TCP服务器,发送指令r,将arduino复位。

(3)马上执行以下命令:avrdude.exe avrdude.conf -v -v -v -v -patmega328p -carduino -P\\.\COM256 -b115200 -D -Uflash:w:Blink.cpp.hex:i

至于为什么知道是这个命令,我是通过分析arduino编辑器的编译及下载输出得出的,以下是arduino的编译下载时的输出(过程),请注意第43行。

 E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\WInterrupts.c -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\WInterrupts.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\wiring.c -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\wiring_analog.c -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_analog.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\wiring_digital.c -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_digital.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\wiring_pulse.c -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_pulse.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\wiring_shift.c -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_shift.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\CDC.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\CDC.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\HardwareSerial.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\HardwareSerial.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\HID.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\HID.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\IPAddress.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\IPAddress.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\main.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\main.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\new.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\new.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\Print.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Print.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\Stream.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Stream.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\Tone.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Tone.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\Tone.cpp:: warning: only initialized variables can be placed into program memory area
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\USBCore.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\USBCore.cpp.o E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\WMath.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\WMath.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO= -IE:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino -IE:\电子学\arduino\arduino-1.0\hardware\arduino\variants\standard E:\电子学\arduino\arduino-1.0\hardware\arduino\cores\arduino\WString.cpp -oC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\WString.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\WInterrupts.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_analog.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_digital.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_pulse.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\wiring_shift.c.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\CDC.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\HardwareSerial.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\HID.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\IPAddress.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\main.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\new.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Print.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Stream.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Tone.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\USBCore.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\WMath.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-ar rcs C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\WString.cpp.o
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-gcc -Os -Wl,--gc-sections -mmcu=atmega328p -o C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.elf C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.o C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\core.a -LC:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp -lm
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom= C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.elf C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.eep
E:\电子学\arduino\arduino-1.0\hardware\tools\avr\bin\avr-objcopy -O ihex -R .eeprom C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.elf C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.hex
Binary sketch size: bytes (of a byte maximum)
E:\电子学\arduino\arduino-1.0\hardware/tools/avr/bin/avrdude -CE:\电子学\arduino\arduino-1.0\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P\\.\COM18 -b115200 -D -Uflash:w:C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.hex:i avrdude: Version 5.11, compiled on Sep at ::
Copyright (c) - Brian Dean, http://www.bdmicro.com/
Copyright (c) - Joerg Wunsch System wide configuration file is "E:\电子学\arduino\arduino-1.0\hardware/tools/avr/etc/avrdude.conf" Using Port : \\.\COM18
Using Programmer : arduino
Overriding Baud Rate :
avrdude: Send: [] []
avrdude: Send: [] []
avrdude: Send: [] []
avrdude: Recv: . []
avrdude: Recv: . []
AVR Part : ATMEGA328P
Chip Erase delay : us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout :
StabDelay :
CmdexeDelay :
SyncLoops :
ByteDelay :
PollIndex :
PollValue : 0x53
Memory Detail : Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom no 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash yes 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lfuse no 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
hfuse no 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
efuse no 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lock no 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration no 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
signature no 0x00 0x00 Programmer Type : Arduino
Description : Arduino
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
Hardware Version:
Firmware Version: 4.4
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: A [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: B [] . [] . [] . [] . [] . [] . [] . [] . [] . [ff] . [ff] . [ff] . [ff] . [] . [] . [] . [] . [] . [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: E [] . [] . [] . [d7] . [c2] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: P [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: AVR device initialized and ready to accept instructions Reading | avrdude: Send: u [] []
avrdude: Recv: . [] . [1e] . [] . [0f] . []
################################################## | % .00s avrdude: Device signature = 0x1e950f
avrdude: Send: V [] . [a0] . [] . [fc] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: V [] . [a0] . [] . [fd] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: V [] . [a0] . [] . [fe] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: V [] . [a0] . [] . [ff] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: reading input file "C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.hex"
avrdude: writing flash ( bytes): Writing | avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [0c] . [] a [] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] . [9a] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [] . [] . [] . [] $ [] . [] ' [27] . [00] * [2a] . [00] . [00] . [00] . [00] . [00] % [25] . [00] ( [28] . [00] + [2b] . [00] . [00] . [00] . [00] . [00] [20]
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] @ [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] # [] . [] & [] . [] ) [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] [] @ [] . [] . [] . [] . [] . [] . [] [] . [] . [] . [] . [] . [] [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] $ [] . [1f] . [be] . [cf] . [ef] . [d8] . [e0] . [de] . [bf] . [cd] . [bf] . [] . [e0] . [a0] . [e0] . [b1] . [e0] . [e2] . [e0] . [f4] . [e0] . [] . [c0] . [] . [] . [0d] . [] . [a0] [] . [b1] . [] . [d9] . [f7] . [] . [e0] . [a0] . [e0] . [b1] . [e0] . [] . [c0] . [1d] . [] . [a9] [] . [b1] . [] . [e1] . [f7] . [0e] . [] . [f0] . [] . [0c] . [] . [ff] . [] . [0c] . [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [8d] . [e0] a [] . [e0] . [0e] . [] . [9c] . [] h [] . [ee] s [] . [e0] . [] . [e0] . [] . [e0] . [0e] . [] . [e2] . [] . [8d] . [e0] ` [] . [e0] . [0e] . [] . [9c] . [] h [] . [ee] s [] . [e0] . [] . [e0] . [] . [e0] . [0e] . [] . [e2] . [] . [] . [] . [8d] . [e0] a [] . [e0] . [0e] . [] v [] . [] . [] . [] . [1f] . [] . [0f] . [] . [0f] . [b6] . [0f] . [] . [] $ [] / [2f] . [] ? [3f] . [] . [8f] . [] . [9f] . [] . [af] . [] . [bf] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] [] . [] . [] . [] . [] . [] . [a1] . [1d] . [b1] . [1d] # [] / [2f] - [2d] _ [5f] - [2d] [] [] . [f0] - [2d] W [] . [] . [] . [a1] . [1d] . [b1] . [1d] [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] . [c0] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [] . [] . [a1] . [1d] . [b1] . [1d] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [bf] . [] . [af] . [] . [9f] . [] . [8f] . [] ? [3f] . [] / [2f] . [] . [0f] . [] . [0f] . [be] . [0f] . [] . [1f] . [] . [] . [] . [9b] . [] . [ac] . [] . [7f] . [b7] . [f8] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] f [] . [b5] . [a8] . [9b] . [] . [c0] o [6f] ? [3f] . [] . [f0] . [] . [] . [a1] . [1d] . [b1] . [1d] . [7f] . [bf] . [ba] / [2f] . [a9] / [2f] . [] / [2f] . [] ' [27] . [86] . [0f] . [91] . [1d] . [a1] . [1d] . [b1] . [1d] b [62] . [e0] [20]
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [] . [0f] . [] . [1f] . [aa] . [1f] . [bb] . [1f] j [6a] . [] . [d1] . [f7] . [bc] . [] - [2d] . [c0] . [ff] . [b7] . [f8] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [e6] . [b5] . [a8] . [9b] . [] . [c0] . [ef] ? [3f] . [] . [f0] . [] . [] . [a1] . [1d] . [b1] . [1d] . [ff] . [bf] . [ba] / [2f] . [a9] / [2f] . [] / [2f] . [] ' [27] . [8e] . [0f] . [91] . [1d] . [a1] . [1d] . [b1] . [1d] . [e2] . [e0] . [88] . [0f] . [99] . [1f] . [aa] . [1f] . [bb] . [1f] . [ea] . [95] . [d1] . [f7] . [86] . [1b] . [97] . [0b] . [88] ^ [5e] . [93] @ [40] . [c8] . [f2] ! [21] P [50] 0 [30] @ [40] @ [40] @ [40] P [50] @ [40] h [68] Q [51] | [7c] O [4f] ! [21] . [15] 1 [31] . [05] A [41] . [05] Q [51] . [05] q [71] . [f6] . [08] . [95] x [78] . [94] . [84] . [b5] . [82] ` [60] . [84] . [bd] . [84] . [b5] [20]
avrdude: Recv: . []
avrdude: Recv: . []
#######avrdude: Send: U [] @ [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [] ` [] . [] . [bd] . [] . [b5] . [] ` [] . [] . [bd] . [] . [b5] . [] ` [] . [] . [bd] . [ee] . [e6] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [e1] . [e8] . [f0] . [e0] . [] . [] . [] . [] . [] ` [] . [] . [] . [] . [] . [] ` [] . [] . [] . [e0] . [e8] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [e1] . [eb] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [e0] . [eb] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [ea] . [e7] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [] . [] . [] ` [] . [] . [] . [] . [] . [] ` [] . [] . [] . [] . [] . [] h [] . [] . [] . [] . [] . [c1] . [] . [] . [] H [] / [2f] P [] . [e0] . [ca] . [] . [] V [] . [9f] O [4f] . [fc] . [] $ [] . [] J [4a] W [] _ [5f] O [4f] . [fa] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [] . [] . [] # [] . [c1] . [f0] . [e8] / [2f] . [f0] . [e0] . [ee] . [0f] . [ff] . [1f] . [e8] Y [] . [ff] O [4f] . [a5] . [] . [b4] . [] f [] # [] A [] . [f4] . [9f] . [b7] . [f8] . [] . [8c] . [] [] . [] . [] # [] . [8c] . [] . [9f] . [bf] . [] . [] . [9f] . [b7] . [f8] . [] . [8c] . [] . [] + [2b] . [8c] . [] . [9f] . [bf] . [] . [] H [] / [2f] P [] . [e0] . [ca] . [] . [] U [] . [9f] O [4f] . [fc] . [] $ [] . [] . [ca] . [] . [] V [] . [9f] O [4f] . [fc] . [] . [] . [] J [4a] W [] _ [5f] O [4f] . [fa] . [] [] . [] [] # [] . [] . [f4] @ [] . [c0] " [22] # [23] Q [51] . [f1] # [23] 0 [30] q [71] . [f0] $ [24] 0 [30] ( [28] . [f4] ! [21] 0 [30] . [a1] . [f0] " [] [] . [] . [f5] . [] . [c0] & [] [] . [b1] . [f0] ' [27] 0 [30] . [c1] . [f0] $ [24] 0 [30] . [d9] . [f4] [20]
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] . [c0] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [] . [c0] . [] . [] . [] . [] . [8f] w [] . [] . [c0] . [] . [] . [] . [] . [8f] } [7d] . [] . [] . [] . [] . [] . [c0] . [] . [b5] . [8f] w [] . [] . [c0] . [] . [b5] . [8f] } [7d] . [] . [bd] . [] . [c0] . [] . [] . [b0] . [] . [8f] w [] . [] . [c0] . [] . [] . [b0] . [] . [8f] } [7d] . [] . [] . [b0] . [] . [e3] / [2f] . [f0] . [e0] . [ee] . [0f] . [ff] . [1f] . [ee] X [] . [ff] O [4f] . [a5] . [] . [b4] . [] / [2f] . [b7] . [f8] . [] f [] # [] ! [] . [f4] . [8c] . [] . [] . [] . [] # [] . [] . [c0] . [8c] . [] . [] + [2b] . [8c] . [] / [2f] . [bf] . [] . [] . [cf] . [] . [df] . [] . [0e] . [] ; [3b] . [] . [0e] . [] . [] . [] . [c0] . [e0] . [d0] . [e0] . [0e] . [] . [] . [] [] . [] . [e1] . [f3] . [0e] . [] . [] . [] . [f9] . [cf] . [f8] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: d [] . [] . [] F [] . [ff] . [cf] []
avrdude: Recv: . []
avrdude: Recv: . []
# | % .21s avrdude: bytes of flash written
avrdude: verifying flash memory against C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.hex:
avrdude: load data flash data from input file C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.hex:
avrdude: input file C:\Users\leo\AppData\Local\Temp\build1450515865813525473.tmp\Blink.cpp.hex contains bytes
avrdude: reading on-chip flash data: Reading | avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [0c] . [] a [] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] . [9a] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [0c] . [] ~ [7e] . [] . [] . [] . [] . [] $ [] . [] ' [27] . [00] * [2a] . [00] . [00] . [00] . [00] . [00] % [25] . [00] ( [28] . [00] + [2b] . [00] . [00] . [00] . [00] . [00]
avrdude: Recv: . []
######avrdude: Send: U [] @ [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: # [] . [] & [] . [] ) [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] [] @ [] . [] . [] . [] . [] . [] . [] [] . [] . [] . [] . [] . [] [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] $ [] . [1f] . [be] . [cf] . [ef] . [d8] . [e0] . [de] . [bf] . [cd] . [bf] . [] . [e0] . [a0] . [e0] . [b1] . [e0] . [e2] . [e0] . [f4] . [e0] . [] . [c0] . [] . [] . [0d] . [] . [a0] [] . [b1] . [] . [d9] . [f7] . [] . [e0] . [a0] . [e0] . [b1] . [e0] . [] . [c0] . [1d] . [] . [a9] [] . [b1] . [] . [e1] . [f7] . [0e] . [] . [f0] . [] . [0c] . [] . [ff] . [] . [0c] . [] . [] . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [8d] . [e0] a [] . [e0] . [0e] . [] . [9c] . [] h [] . [ee] s [] . [e0] . [] . [e0] . [] . [e0] . [0e] . [] . [e2] . [] . [8d] . [e0] ` [] . [e0] . [0e] . [] . [9c] . [] h [] . [ee] s [] . [e0] . [] . [e0] . [] . [e0] . [0e] . [] . [e2] . [] . [] . [] . [8d] . [e0] a [] . [e0] . [0e] . [] v [] . [] . [] . [] . [1f] . [] . [0f] . [] . [0f] . [b6] . [0f] . [] . [] $ [] / [2f] . [] ? [3f] . [] . [8f] . [] . [9f] . [] . [af] . [] . [bf] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] [] . [] . [] . [] . [] . [] . [a1] . [1d] . [b1] . [1d] # [] / [2f] - [2d] _ [5f] - [2d] [] [] . [f0] - [2d] W [] . [] . [] . [a1] . [1d] . [b1] . [1d] [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . []
avrdude: Recv: . []
######avrdude: Send: U [] . [c0] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [] . [] . [a1] . [1d] . [b1] . [1d] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [bf] . [] . [af] . [] . [9f] . [] . [8f] . [] ? [3f] . [] / [2f] . [] . [0f] . [] . [0f] . [be] . [0f] . [] . [1f] . [] . [] . [] . [9b] . [] . [ac] . [] . [7f] . [b7] . [f8] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] f [] . [b5] . [a8] . [9b] . [] . [c0] o [6f] ? [3f] . [] . [f0] . [] . [] . [a1] . [1d] . [b1] . [1d] . [7f] . [bf] . [ba] / [2f] . [a9] / [2f] . [] / [2f] . [] ' [27] . [86] . [0f] . [91] . [1d] . [a1] . [1d] . [b1] . [1d] b [62] . [e0]
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [] . [0f] . [] . [1f] . [aa] . [1f] . [bb] . [1f] j [6a] . [] . [d1] . [f7] . [bc] . [] - [2d] . [c0] . [ff] . [b7] . [f8] . [] . [] . [] . [] . [] . [] . [] . [] . [] . [a0] . [] . [] . [] . [b0] . [] . [] . [] . [e6] . [b5] . [a8] . [9b] . [] . [c0] . [ef] ? [3f] . [] . [f0] . [] . [] . [a1] . [1d] . [b1] . [1d] . [ff] . [bf] . [ba] / [2f] . [a9] / [2f] . [] / [2f] . [] ' [27] . [8e] . [0f] . [91] . [1d] . [a1] . [1d] . [b1] . [1d] . [e2] . [e0] . [88] . [0f] . [99] . [1f] . [aa] . [1f] . [bb] . [1f] . [ea] . [95] . [d1] . [f7] . [86] . [1b] . [97] . [0b] . [88] ^ [5e] . [93] @ [40] . [c8] . [f2] ! [21] P [50] 0 [30] @ [40] @ [40] @ [40] P [50] @ [40] h [68] Q [51] | [7c] O [4f] ! [21] . [15] 1 [31] . [05] A [41] . [05] Q [51] . [05] q [71] . [f6] . [08] . [95] x [78] . [94] . [84] . [b5] . [82] ` [60] . [84] . [bd] . [84] . [b5]
avrdude: Recv: . []
#######avrdude: Send: U [] @ [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [] ` [] . [] . [bd] . [] . [b5] . [] ` [] . [] . [bd] . [] . [b5] . [] ` [] . [] . [bd] . [ee] . [e6] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [e1] . [e8] . [f0] . [e0] . [] . [] . [] . [] . [] ` [] . [] . [] . [] . [] . [] ` [] . [] . [] . [e0] . [e8] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [e1] . [eb] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [e0] . [eb] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [ea] . [e7] . [f0] . [e0] . [] . [] . [] ` [] . [] . [] . [] . [] . [] ` [] . [] . [] . [] . [] . [] ` [] . [] . [] . [] . [] . [] h [] . [] . [] . [] . [] . [c1] . [] . [] . [] H [] / [2f] P [] . [e0] . [ca] . [] . [] V [] . [9f] O [4f] . [fc] . [] $ [] . [] J [4a] W [] _ [5f] O [4f] . [fa] . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [] . [] . [] # [] . [c1] . [f0] . [e8] / [2f] . [f0] . [e0] . [ee] . [0f] . [ff] . [1f] . [e8] Y [] . [ff] O [4f] . [a5] . [] . [b4] . [] f [] # [] A [] . [f4] . [9f] . [b7] . [f8] . [] . [8c] . [] [] . [] . [] # [] . [8c] . [] . [9f] . [bf] . [] . [] . [9f] . [b7] . [f8] . [] . [8c] . [] . [] + [2b] . [8c] . [] . [9f] . [bf] . [] . [] H [] / [2f] P [] . [e0] . [ca] . [] . [] U [] . [9f] O [4f] . [fc] . [] $ [] . [] . [ca] . [] . [] V [] . [9f] O [4f] . [fc] . [] . [] . [] J [4a] W [] _ [5f] O [4f] . [fa] . [] [] . [] [] # [] . [] . [f4] @ [] . [c0] " [22] # [23] Q [51] . [f1] # [23] 0 [30] q [71] . [f0] $ [24] 0 [30] ( [28] . [f4] ! [21] 0 [30] . [a1] . [f0] " [] [] . [] . [f5] . [] . [c0] & [] [] . [b1] . [f0] ' [27] 0 [30] . [c1] . [f0] $ [24] 0 [30] . [d9] . [f4]
avrdude: Recv: . []
######avrdude: Send: U [] . [c0] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [] . [c0] . [] . [] . [] . [] . [8f] w [] . [] . [c0] . [] . [] . [] . [] . [8f] } [7d] . [] . [] . [] . [] . [] . [c0] . [] . [b5] . [8f] w [] . [] . [c0] . [] . [b5] . [8f] } [7d] . [] . [bd] . [] . [c0] . [] . [] . [b0] . [] . [8f] w [] . [] . [c0] . [] . [] . [b0] . [] . [8f] } [7d] . [] . [] . [b0] . [] . [e3] / [2f] . [f0] . [e0] . [ee] . [0f] . [ff] . [1f] . [ee] X [] . [ff] O [4f] . [a5] . [] . [b4] . [] / [2f] . [b7] . [f8] . [] f [] # [] ! [] . [f4] . [8c] . [] . [] . [] . [] # [] . [] . [c0] . [8c] . [] . [] + [2b] . [8c] . [] / [2f] . [bf] . [] . [] . [cf] . [] . [df] . [] . [0e] . [] ; [3b] . [] . [0e] . [] . [] . [] . [c0] . [e0] . [d0] . [e0] . [0e] . [] . [] . [] [] . [] . [e1] . [f3] . [0e] . [] . [] . [] . [f9] . [cf] . [f8] . []
avrdude: Recv: . []
######avrdude: Send: U [] . [] . [] []
avrdude: Recv: . []
avrdude: Recv: . []
avrdude: Send: t [] . [] . [] F [] []
avrdude: Recv: . []
avrdude: Recv: . [ff] . [cf]
avrdude: Recv: . []
# | % .18s avrdude: verifying ...
avrdude: bytes of flash verified
avrdude: Send: Q [] []
avrdude: Recv: . []
avrdude: Recv: . [] avrdude done. Thank you.

7、自动烧录

我用C#写了一个工具,将上面的手工操作给封装起来。功能包括启动VSPM虚拟串口服务器,复位远端的arduino uno,执行avrdude指令。详见的代码见附件。

8、附件下载

点击下载

arduino远程刷新(烧录)固件的更多相关文章

  1. 实现乐鑫esp8266的无线OTA升级,实现远程在线升级固件

    代码地址如下:http://www.demodashi.com/demo/12994.html 一.前言: 写了这么多的8266博文,一直以满意100%的心态去敲写代码固件烧录,以致很少出现 bug ...

  2. Windows Server 2012远程刷新客户端组策略,IE代理设置

    Windows Server 2012远程刷新客户端组策略: 1.PowerShell命令对单台计算机进行刷新: Invoke-GPUpdate -RandomDelayInMinutes 0 -Co ...

  3. ESP8266-01烧录神器,ESP8266-01S烧录程序 ESP-01烧录固件

    如下图所示:"USB转ESP8266",在某宝上可以买到,但是建议买两个! 为什么要买两个呢?一个用于测试AT指令.接电呀什么的.另外一个通过焊接就可以改造成烧录器了. 引脚说明: ...

  4. 新华三Gen10服务器ilo5中刷新bios固件

    新华三Gen10服务器ilo5中刷新bios固件. 当前bios1.42 已经是最新了. 固件下载后解压缩. 选择刷新固件. 点击浏览.flash文件. 点击flash 点击ok确认 开始上传 刷新进 ...

  5. 给STM32MP157C-DK2烧录固件

    环境: 一台PC(window/linux) STM32CubeProgrammer 我下载到的是 2.1 版本(19\07\10下载的) 里面的文件是: 里面有 3 个文件,分别window.Lin ...

  6. 无刷电调基础知识以及BLHeli固件烧录和参数调整

    标题: 无刷电调基础知识以及BLHeli固件烧录和参数调整 作者: 梦幻之心星 sky-seeker@qq.com 标签: [#基础知识,#电调,#BLHeli,#固件,#烧录,#调参] 目录: [电 ...

  7. J-Link固件烧录以及使用J-Flash向arm硬件板下载固件程序

    这篇文章的最初版本是在15年写的https://blog.csdn.net/u010592722/article/details/45575663,后来又遇到了一些新问题,故更新在了这里. 一.始于安 ...

  8. 8元电调调参教程(使用Arduino Uno)| BLHeli无刷电调的固件烧写及调参

    前言 淘某上有款8元电调,性价比很高,但是需要简单设置一下 1.材料清单 (1)Arduino UNO开发板 (2)BLHeliSuite 16.7.14.9.0.1 调参软件及固件已上传Gitee: ...

  9. Arduino UNO开发板、Arduino CNC Shield V3.0扩展板、A4988驱动板、grbl固件使用教程

    前言 CNC Shield V3.0可用作雕刻机,3D打印机等的驱动扩展板,板上一共有4路步进电机驱动模块的插槽,可驱动4路不进电机,而每一路步进电机都只需要2个IO口,也就是说,6个IO口就可以很好 ...

随机推荐

  1. 123. Best Time to Buy and Sell Stock III (Array; DP)

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  2. vortex

    vortex - Bing dictionary US['vɔr.teks]UK['vɔː(r)teks] n.旋涡:涡旋:低涡:感情(或局势)的旋涡 网络漩涡:涡流:旋风 变形Plural Form ...

  3. Chip Factory(01字典树)

    Chip Factory http://acm.hdu.edu.cn/showproblem.php?pid=5536 Time Limit: 18000/9000 MS (Java/Others)  ...

  4. springmvc与struts2的不同

    1.springmv的入口是一个servlet,即前端控制器.而struts2入口是一个fliter过滤器. 2.springmvc是基于开发方法(一个url对应一个方法,通过注解的方式进行访问),请 ...

  5. 如何移除 input type="number" 时浏览器自带的上下箭头?

    Chrome 下 input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: no ...

  6. myschool 相思树

    题目描述 一群妖王排成一排站在苦情巨树下,寻找自己的转世恋人.虽然都是妖王,但按照涂山的规定必须进行标号,标号为1的妖王排在最后面,标号为n的妖王排在最前面.每个妖王只有一个妖力值a[i]表示它们现在 ...

  7. Ps中的难点问题分析

    一.布尔运算的运用 1.布尔运算是在图形工具组中使用,快捷键“U” 2.使用方法:都是在同一图层下运算,在进行布尔运算之前,首先用路径选择工具,小黑箭头,快捷键是“A” 选取你要运算的图形. 3.布尔 ...

  8. 学习GIT 版本控制的好去处 另GDB资料

    廖雪峰的官方网站 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 作者不仅仅是做技 ...

  9. 使用JConsole监控HBase内存状态

    使用JConsole或者VisualVM等工具监控HBase状态时,需要修改HBase的配置文件,以解决随机端口问题. 文件名:hbase-env.sh export HBASE_JMX_BASE=& ...

  10. Tree Representation Implementation & Traversal

    https://github.com/Premiumlab/Python-for-Algorithms--Data-Structures--and-Interviews/blob/master/Tre ...