在车间部署了十几个网络版的温湿度采集器(基于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. 给STM32MP157C-DK2烧录固件

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

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

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

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

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

  7. J-LINK V8固件烧录指导

    1 J-LINK V8固件烧录指导 J-LINK 是使用过程中,如果内部固件意外损坏或丢失,请参考下面操作步骤说明,重新烧录JLINK固件. 1.1 安装固件烧录软件 请ATMEL官方网址下载AT91 ...

  8. ESP8266固件烧录方法

    今天拿到ESP8266的板子,第一步是进行烧录固件. 首先是使用官方自带的参考文档,进行操作.发现每次烧录均卡在等待同步上电. 之后发现是烧录方法错误. 正确的烧录方法: 先按下FLASH不放,再按烧 ...

  9. Hi3516EV100烧录出厂固件

    1.Hitool烧录uboot 2.uboot下烧录固件 setenv serverip 192.168.1.138 mw.b ff ;tftp ;sf probe ;sf erase ;sf wri ...

随机推荐

  1. Web(Jsp+ Servlet)开发中如何解决中文乱码问题

    1.中文乱码的成因 编码的字符集和解码的字符集不一致. 2.web开发过程中可能出现的乱码的位置及解决方案 ①request乱码 在向服务器传递数据时,所传递的中文有可能出现乱码. post请求(协议 ...

  2. 如何开发H5项目 -- 入门篇

    前言 H5即HTML5,H5开发具有低成本.高效率.跨平台.研发周期短,用户接触成本低等特性. 一.开发环境 在开发一个H5项目之前,需要先搞好环境.主要有node.npm.gulp.bower.下面 ...

  3. http://www.bejson.com/go.html?u=http://www.bejson.com/demo2.html

    json 解析工具http://www.bejson.com/go.html?u=http://www.bejson.com/demo2.html

  4. Codeforces Round #368 (Div. 2) A. Brain's Photos (水题)

    Brain's Photos 题目链接: http://codeforces.com/contest/707/problem/A Description Small, but very brave, ...

  5. Spring + JdbcTemplate + JdbcDaoSupport examples

    In Spring JDBC development, you can use JdbcTemplate and JdbcDaoSupport classes to simplify the over ...

  6. C# TextBox控件 显示大量数据

    串口通信:在使用TextBox空间显示数据时,因为要显示大量的接收到的数据,当数据量大且快速(串口1ms发送一条数据)时,使用+=的方式仍然会造成界面的卡顿(已使用多线程处理),但使用AppendTe ...

  7. 【Demo 0006】Java基础-类多态性

    本章学习要点:       1.  了解Java多态特性;       2.  掌握Java多态的实现: 一.多态特性       1.  定义:            指同一个对象调用相同的方法实现 ...

  8. JDK一键部署, 新添加进度条

    JDK部署, 脚本与JDK安装包放在同一目录 然后执行 source ./jdk.sh 稍等进度条100%即可 #******************************************* ...

  9. Spring Boot 系列(七)Swagger2-生成RESTful接口文档

    Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集成到服 ...

  10. [JOI2017] サッカー (Soccer)

    原题题面看不懂的可以看下面的\(CJ\)版中文题面 $ $ \(CJ\)版: $ $ 这道题是\(JOI\)的\(T4\),放到联赛大概就是\(Day2,T3\)的难度 $ $ \(5\)分: 这一档 ...