在车间部署了十几个网络版的温湿度采集器(基于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. Springboot IDEA eclipse 打包

    在开发springboot项目中,我们会进行打包发布项目,springboot推荐以jar包方式发布,相对之下 jar运行的效率比起war项目快很多. 打包切记: 1.查看项目里面有没有其他的main ...

  2. java链接FTP实现上传和下载

    FtpUtil.java import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStr ...

  3. 开始一个Android的appium实例

      1.查看Android的应用包名和activity的方法   (网上有很多种方法,这里应用的是查看日志的方法) CMD中输入>adb logcat -c                   ...

  4. Unicode、UTF8与UTF16

    1 概念 Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案 UTF是“Unicode Transformation Format”的缩写,可以翻译成Unicode字符集转换格式 ...

  5. (动态规划)有 n 个学生站成一排,每个学生有一个能力值,从这 n 个学生中按照顺序选取kk 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 kk 个学生的能力值的乘积最大,返回最大的乘积

    第2关:最强战队 挑战任务 绿盟和各大名企合作,举办编程能力大赛,需要选拔一支参赛队伍.队伍成员全部来自“绿盟杯”中表现优秀的同学,每个同学都根据在比赛中的表现被赋予了一个能力值.现在被召集的N个同学 ...

  6. 如何添加ECSHOP广告位置

    如何添加ECSHOP广告位置 我们都知道ecshop系统默认的广告位置非常的少,但是一个电子商务网站岂能离开广告?庆幸的是,ecshop预留了足够强大的组件让我们能够完全有可能实现任意我们想要广告位置 ...

  7. LeetCode包括main函数的答题框架(Java+Eclipse)

    http://zhangnai.xin/2016/09/20/LeetCode-Framework/ 目录结构: LeetCode ——项目名称,方便Eclipse内置Git对代码进行管理和多终端同步 ...

  8. .net core webapi 部署windows server 2008 r2 笔记

    WebAPI部署文档 安装dotnet-dev-win-x64.1.0.4 安装DotNetCore.1.1.0-WindowsHosting 安装vc_redist.x64 安装Windows6.1 ...

  9. 配置springMVC

    1.web.xml 前端控制器 配置规则:*.do: 拦截请求路径所有的后缀为.do;/* : 拦截所有, .jsp页面也会拦截; 不会使用此配置, 因为视图会无法跳转;/ : 拦截所有, .jsp页 ...

  10. svn一次性add/delete所有文件

    Linux命令行下,svn add 一次性批量上传 命令行下操作svn没有使用界面形式的TortoiseSVN直观,但是不管怎样,命令行下操作svn还是有它的有点,如果你碰到一次需要svn add许多 ...