Ви не увійшли.
Заказывал 3 шт. На все три, скейтч заливается без проблем.
Перезалил загрузчик с помощью LarduinoISP.ino , без резистора на 10 кОм (SWD-VCC) загрузчик слетает и плата не реагирует не на что и в пол накала светится светодиод как у renoshnik. С резистором загрузчик заливается за 1 секунду.
Перезалил загрузчик с помощью LarduinoISP.ino , без резистора на 10 кОм (SWD-VCC) загрузчик слетает и плата не реагирует не на что и в пол накала светится светодиод как у renoshnik. С резистором загрузчик заливается за 1 секунду.
Можете скинуть свои ссылки на файлы ?
Может я упускаю какой-то нюанс при заливке бутлоадера ?!?!
Неактивний
LarduinoISP.ino
// LarduinoISP for LGT8FX8D series
// Project fork from
// - ArduinoISP version 04m3
// Copyright (c) 2008-2011 Randall Bohn
// If you require a license, see
// http://www.opensource.org/licenses/bsd-license.php
//
// This sketch turns the Arduino into a AVRISP
// using the following arduino pins:
//
// pin name: Arduino: LGT8FX8D:
// slave reset: 10: PC6/RESET
// SWD: 12: PE2/SWD
// SWC: 13: PE0/SCK
//
// Put an LED (with resistor) on the following pins:
// 9: Heartbeat - shows the programmer is running
// 8: Error - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the slave
//
// 23 July 2011 Randall Bohn
// -Address Arduino issue 509 :: Portability of ArduinoISP
// http://code.google.com/p/arduino/issues/detail?id=509
//
// October 2010 by Randall Bohn
// - Write to EEPROM > 256 bytes
// - Better use of LEDs:
// -- Flash LED_PMODE on each flash commit
// -- Flash LED_PMODE while writing EEPROM (both give visual feedback of writing progress)
// - Light LED_ERR whenever we hit a STK_NOSYNC. Turn it off when back in sync.
// - Use pins_arduino.h (should also work on Arduino Mega)
//
// October 2009 by David A. Mellis
// - Added support for the read signature command
//
// February 2009 by Randall Bohn
// - Added support for writing to EEPROM (what took so long?)
// Windows users should consider WinAVR's avrdude instead of the
// avrdude included with Arduino software.
//
// January 2008 by Randall Bohn
// - Thanks to Amplificar for helping me with the STK500 protocol
// - The AVRISP/STK500 (mk I) protocol is used in the arduino bootloader
// - The SPI functions herein were developed for the AVR910_ARD programmer
// - More information at http://code.google.com/p/mega-isp
// LarduinoISP for LGTF8FX8D Series
#include "swd_drv.h"
#include "pins_arduino.h"
#define RESET SS
#define LED_HB 9
#define LED_ERR 8
#define LED_PMODE 7
#define PROG_FLICKER true
#define HWVER 2
#define SWMAJ 1
#define SWMIN 18
// STK Definitions
#define STK_OK 0x10
#define STK_FAILED 0x11
#define STK_UNKNOWN 0x12
#define STK_INSYNC 0x14
#define STK_NOSYNC 0x15
#define CRC_EOP 0x20 //ok it is a space...
void pulse(int pin, int times);
void setup()
{
SWD_init();
Serial.begin(19200);
//pinMode(LED_PMODE, OUTPUT);
//pulse(LED_PMODE, 2);
//pinMode(LED_ERR, OUTPUT);
//pulse(LED_ERR, 2);
//pinMode(LED_HB, OUTPUT);
//pulse(LED_HB, 2);
}
uint8_t error=0;
uint8_t pmode=0;
// address for reading and writing, set by 'U' command
int address;
uint8_t buff[256]; // global block storage
#define beget16(addr) (*addr * 256 + *(addr+1) )
typedef struct param {
uint8_t devicecode;
uint8_t revision;
uint8_t progtype;
uint8_t parmode;
uint8_t polling;
uint8_t selftimed;
uint8_t lockbytes;
uint8_t fusebytes;
uint8_t flashpoll;
uint16_t eeprompoll;
uint16_t pagesize;
uint16_t eepromsize;
uint32_t flashsize;
} parameter_t;
parameter_t param;
// this provides a heartbeat on pin 9, so you can tell the software is running.
uint8_t hbval=128;
uint8_t hbdelta=8;
void heartbeat()
{
if (hbval > 192) hbdelta = -hbdelta;
if (hbval < 32) hbdelta = -hbdelta;
hbval += hbdelta;
analogWrite(LED_HB, hbval);
delay(40);
}
void loop(void)
{
// is pmode active?
/*
if (pmode) digitalWrite(LED_PMODE, HIGH);
else digitalWrite(LED_PMODE, LOW);
// is taddress an error?
if (error) digitalWrite(LED_ERR, HIGH);
else digitalWrite(LED_ERR, LOW);
*/
// light the heartbeat LED
//heartbeat();
if (Serial.available())
avrisp();
}
uint8_t getch() {
while(!Serial.available());
return Serial.read();
}
void fill(int n)
{
for (int x = 0; x < n; x++) {
buff[x] = getch();
}
}
#define PTIME 30
void pulse(int pin, int times)
{
do {
digitalWrite(pin, HIGH);
delay(PTIME);
digitalWrite(pin, LOW);
delay(PTIME);
}
while (times--);
}
void prog_lamp(int state)
{
if (PROG_FLICKER)
digitalWrite(LED_PMODE, state);
}
void empty_reply()
{
if (CRC_EOP == getch()) {
Serial.print((char)STK_INSYNC);
Serial.print((char)STK_OK);
}
else {
error++;
Serial.print((char)STK_NOSYNC);
}
}
void breply(uint8_t b)
{
if (CRC_EOP == getch()) {
Serial.print((char)STK_INSYNC);
Serial.print((char)b);
Serial.print((char)STK_OK);
}
else {
error++;
Serial.print((char)STK_NOSYNC);
}
}
void get_version(uint8_t c)
{
switch(c) {
case 0x80:
breply(HWVER);
break;
case 0x81:
breply(SWMAJ);
break;
case 0x82:
breply(SWMIN);
break;
case 0x93:
breply('S'); // serial programmer
break;
default:
breply(0);
}
}
void set_parameters()
{
// call this after reading paramter packet into buff[]
param.devicecode = buff[0];
param.revision = buff[1];
param.progtype = buff[2];
param.parmode = buff[3];
param.polling = buff[4];
param.selftimed = buff[5];
param.lockbytes = buff[6];
param.fusebytes = buff[7];
param.flashpoll = buff[8];
// ignore buff[9] (= buff[8])
// following are 16 bits (big endian)
param.eeprompoll = beget16(&buff[10]);
param.pagesize = beget16(&buff[12]);
param.eepromsize = beget16(&buff[14]);
// 32 bits flashsize (big endian)
param.flashsize = buff[16] * 0x01000000
+ buff[17] * 0x00010000
+ buff[18] * 0x00000100
+ buff[19];
}
void start_pmode()
{
digitalWrite(RESET, HIGH);
pinMode(RESET, OUTPUT);
delay(20);
digitalWrite(RESET, LOW);
SWD_init();
SWD_Idle(10);
do {
pmode = SWD_UnLock();
} while(pmode != 1);
SWD_Idle(10);
}
void end_pmode()
{
digitalWrite(RESET, HIGH);
pinMode(RESET, INPUT);
SWD_exit();
pmode = 0;
}
void universal()
{
fill(4);
if(buff[0] == 0x30 && buff[1] == 0x00) {
switch(buff[2]) {
case 0x00:
breply(0x1e);
break;
case 0x01:
breply(0x95);
break;
case 0x02:
breply(0x0f);
break;
default:
breply(0xff);
break;
}
} else if(buff[0] == 0xf0) {
breply(0x00);
} else {
breply(0xff);
}
}
void write_flash(int length)
{
fill(length);
if (CRC_EOP == getch()) {
Serial.print((char) STK_INSYNC);
Serial.print((char) write_flash_pages(length));
}
else {
error++;
Serial.print((char) STK_NOSYNC);
}
}
uint8_t write_flash_pages(int length)
{
int cnt = 0;
uint16_t word;
while (cnt < length) {
word = buff[cnt++];
word += buff[cnt++] << 8;
SWD_EEE_Write(word, address);
address++;
}
return STK_OK;
}
#define EECHUNK (32)
uint8_t write_eeprom(int length)
{
// address is a word address, get the byte address
int start = address * 2;
int remaining = length;
if (length > param.eepromsize) {
error++;
return STK_FAILED;
}
while (remaining > EECHUNK) {
write_eeprom_chunk(start, EECHUNK);
start += EECHUNK;
remaining -= EECHUNK;
}
write_eeprom_chunk(start, remaining);
return STK_OK;
}
// write (length) bytes, (start) is a byte address
uint8_t write_eeprom_chunk(int start, int length)
{
// this writes byte-by-byte,
// page writing may be faster (4 bytes at a time)
fill(length);
prog_lamp(LOW);
for (int x = 0; x < length; x++) {
int addr = start+x;
// do e2prom program here
// donothing for lgt8fx8d series
delay(45);
}
prog_lamp(HIGH);
return STK_OK;
}
void program_page()
{
char result = (char) STK_FAILED;
// get length
uint16_t length = getch() << 8;
length += getch();
char memtype = getch();
// flash memory @address, (length) bytes
if (memtype == 'F') {
write_flash(length);
return;
}
if (memtype == 'E') {
result = (char)write_eeprom(length);
if (CRC_EOP == getch()) {
Serial.print((char) STK_INSYNC);
Serial.print(result);
}
else {
error++;
Serial.print((char) STK_NOSYNC);
}
return;
}
Serial.print((char)STK_FAILED);
return;
}
char flash_read_page(int length)
{
for (int x = 0; x < length; x+=2) {
uint16_t word = SWD_EEE_Read(address);
Serial.print((char) (word & 0xff));
Serial.print((char) ((word >> 8) & 0xff));
address++;
}
return STK_OK;
}
char eeprom_read_page(uint16_t length)
{
// address again we have a word address
uint16_t start = address * 2;
for (int x = 0; x < length; x++) {
uint16_t addr = start + x;
// do ep2rom read here
// but donothing for lgt8fx8d series (by now...)
Serial.print((char) 0xff);
}
return STK_OK;
}
void read_page()
{
char result = (char)STK_FAILED;
uint16_t length = getch() << 8;
length += getch();
char memtype = getch();
if (CRC_EOP != getch()) {
error++;
Serial.print((char) STK_NOSYNC);
return;
}
Serial.print((char) STK_INSYNC);
if (memtype == 'F') result = flash_read_page(length);
if (memtype == 'E') result = eeprom_read_page(length);
Serial.print(result);
return;
}
void read_signature()
{
if (CRC_EOP != getch()) {
error++;
Serial.print((char) STK_NOSYNC);
return;
}
Serial.print((char) STK_INSYNC);
Serial.print((char) 0x1e);
Serial.print((char) 0x95);
Serial.print((char) 0x0f);
Serial.print((char) STK_OK);
}
//////////////////////////////////////////
//////////////////////////////////////////
////////////////////////////////////
////////////////////////////////////
int avrisp()
{
uint8_t data, low, high;
uint8_t ch = getch();
switch (ch) {
case '0': // signon
error = 0;
empty_reply();
break;
case '1':
if (getch() == CRC_EOP) {
Serial.print((char) STK_INSYNC);
Serial.print("AVR ISP");
Serial.print((char) STK_OK);
} else {
error++;
Serial.print((char) STK_NOSYNC);
}
break;
case 'A':
get_version(getch());
break;
case 'B': // optional for lgt8fx8d series
fill(20);
set_parameters();
empty_reply();
break;
case 'E': // extended parameters - ignore for now
fill(5);
empty_reply();
break;
case 'P':
if (pmode) {
pulse(LED_ERR, 3);
} else {
start_pmode();
}
empty_reply();
break;
case 'U': // set address (word)
address = getch();
address += (getch() << 8);
empty_reply();
break;
case 0x60: //STK_PROG_FLASH
low = getch();
high = getch();
empty_reply();
break;
case 0x61: //STK_PROG_DATA
data = getch();
empty_reply();
break;
case 0x64: //STK_PROG_PAGE
program_page();
break;
case 0x74: //STK_READ_PAGE 't'
read_page();
break;
case 'V': //0x56
universal();
break;
case 'Q': //0x51
error=0;
end_pmode();
empty_reply();
break;
case 0x75: //STK_READ_SIGN 'u'
read_signature();
break;
// expecting a command, not CRC_EOP
// this is how we can get back in sync
case CRC_EOP:
error++;
Serial.print((char) STK_NOSYNC);
break;
// anything else we will return STK_UNKNOWN
default:
error++;
if (CRC_EOP == getch())
Serial.print((char)STK_UNKNOWN);
else
Serial.print((char)STK_NOSYNC);
}
}
Остання редакція renoshnik (2018-06-29 17:45:04)
Неактивний
https://github.com/LGTMCU/LarduinoISP
Загрузчик заливал через arduino Nano 3,0 . Программатор:" Arduino as ISP[WEMOS XI] " . Провода подключал как на картинке в (LarduinoISP). В скейтче не чего не менял.
https://github.com/wemos/Arduino_XI
Плату ставил при заливки загрузчика "WEMOS XI (Retired)".
Кварц не впаивал.
https://github.com/LGTMCU/LarduinoISP
Загрузчик заливал через arduino Nano 3,0 . Программатор:" Arduino as ISP[WEMOS XI] " . Провода подключал как на картинке в (LarduinoISP). В скейтче не чего не менял.https://github.com/wemos/Arduino_XI
Плату ставил при заливки загрузчика "WEMOS XI (Retired)".
https://github.com/LGTMCU/LarduinoISP - эту папку куда кидать ? В " C:\Program Files (x86)\Arduino\libraries\*.* " ?
Неактивний
Я устанавливаю через ардуино, ( скейтч, подключить библиотеку, добавить .ZIP библиотеку).
Видимо я самый невезучий из вас ...
Arduino: 1.8.5 (Windows 7), Плата:"WEMOS XI (Retired)"
C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM5 -b19200 -e -Ulock:w:0x3f:m -Uefuse:w:0x07:m -Uhfuse:w:0xff:m -Ulfuse:w:0xff:m
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"
Using Port : COM5
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: erasing chip
avrdude: reading input file "0x3f"
avrdude: writing lock (1 bytes):
Writing | ################################################## | 100% 0.02s
avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3f:
avrdude: load data lock data from input file 0x3f:
avrdude: input file 0x3f contains 1 bytes
avrdude: reading on-chip lock data:
Reading | ################################################## | 100% 0.02s
avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0x07"
avrdude: writing efuse (1 bytes):
Writing | ***failed;
################################################## | 100% 0.10s
avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0x07:
avrdude: load data efuse data from input file 0x07:
avrdude: input file 0x07 contains 1 bytes
avrdude: reading on-chip efuse data:
Reading | ################################################## | 100% -0.00s
avrdude: verifying ...
avrdude: WARNING: invalid value for unused bits in fuse "efuse", should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0xff instead of 0x07 (double check with your datasheet first).
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xff"
avrdude: writing hfuse (1 bytes):
Writing | ################################################## | 100% 0.02s
avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xff:
avrdude: load data hfuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip hfuse data:
Reading | ################################################## | 100% -0.00s
avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xff"
avrdude: writing lfuse (1 bytes):
Writing | ################################################## | 100% 0.02s
avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xff:
avrdude: load data lfuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip lfuse data:
Reading | ################################################## | 100% 0.00s
avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude done. Thank you.
C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM5 -b19200 -Uflash:w:C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8e\optiboot_lgt8f328d.hex:i -Ulock:w:0x3f:m
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"
Using Port : COM5
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8e\optiboot_lgt8f328d.hex"
avrdude: writing flash (30720 bytes):
Writing | ################################################## | 100% 0.55s
avrdude: 30720 bytes of flash written
avrdude: verifying flash memory against C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8e\optiboot_lgt8f328d.hex:
avrdude: load data flash data from input file C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8e\optiboot_lgt8f328d.hex:
avrdude: input file C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8e\optiboot_lgt8f328d.hex contains 30720 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.08s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0xff != 0x0c
avrdude: verification error; content misОшибка при записи загрузчика.
match
avrdude done. Thank you.
Неактивний
Перезалил загрузчик с помощью LarduinoISP.ino , без резистора на 10 кОм (SWD-VCC) загрузчик слетает и плата не реагирует не на что и в пол накала светится светодиод как у renoshnik. С резистором загрузчик заливается за 1 секунду.
какую ардуину использовали в качестве программатора ?
Неактивний
Я же писал, nano .
Резистор на 10 кОм. пробовали ставить?
Какая версия ардуино у вас ? У меня ардуино 1.8.5
Я же писал, nano .
Остается только еще ардуинку поменять...
Резистор на 10 кОм. пробовали ставить?
Конечно, без него вообще никак не идет прошивка... пробовал разные 4,7к - 10к
Какая версия ардуино у вас ? У меня ардуино 1.8.5
Аналогично ...
Остання редакція renoshnik (2018-06-29 19:52:06)
Неактивний
C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:0x3f:m -Uefuse:w:0x07:m -Uhfuse:w:0xff:m -Ulfuse:w:0xff:m
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"
Using Port : COM3
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: erasing chip
avrdude: reading input file "0x3f"
avrdude: writing lock (1 bytes):
Writing | ################################################## | 100% 0.01s
avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3f:
avrdude: load data lock data from input file 0x3f:
avrdude: input file 0x3f contains 1 bytes
avrdude: reading on-chip lock data:
Reading | ################################################## | 100% 0.01s
avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0x07"
avrdude: writing efuse (1 bytes):
Writing | ***failed;
################################################## | 100% 0.05s
avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0x07:
avrdude: load data efuse data from input file 0x07:
avrdude: input file 0x07 contains 1 bytes
avrdude: reading on-chip efuse data:
Reading | ################################################## | 100% 0.01s
avrdude: verifying ...
avrdude: WARNING: invalid value for unused bits in fuse "efuse", should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0xff instead of 0x07 (double check with your datasheet first).
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xff"
avrdude: writing hfuse (1 bytes):
Writing | ################################################## | 100% 0.01s
avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xff:
avrdude: load data hfuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip hfuse data:
Reading | ################################################## | 100% 0.01s
avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xff"
avrdude: writing lfuse (1 bytes):
Writing | ################################################## | 100% 0.01s
avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xff:
avrdude: load data lfuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip lfuse data:
Reading | ################################################## | 100% 0.01s
avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude done. Thank you.
C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM3 -b19200 -Uflash:w:E:\Arduino185\hardware\wemos\XI/bootloaders/lgt8fx8p\optiboot_lgt8f328p.hex:i -Ulock:w:0x3f:m
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"
Using Port : COM3
Using Programmer : stk500v1
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "E:\Arduino185\hardware\wemos\XI/bootloaders/lgt8fx8p\optiboot_lgt8f328p.hex"
avrdude: writing flash (30720 bytes):
Writing | ################################################## | 100% 0.14s
avrdude: 30720 bytes of flash written
avrdude: verifying flash memory against E:\Arduino185\hardware\wemos\XI/bootloaders/lgt8fx8p\optiboot_lgt8f328p.hex:
avrdude: load data flash data from input file E:\Arduino185\hardware\wemos\XI/bootloaders/lgt8fx8p\optiboot_lgt8f328p.hex:
avrdude: input file E:\Arduino185\hardware\wemos\XI/bootloaders/lgt8fx8p\optiboot_lgt8f328p.hex contains 30720 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.08s
avrdude: verifying ...
avrdude: 30720 bytes of flash verified
avrdude: reading input file "0x3f"
avrdude: writing lock (1 bytes):
Writing | ################################################## | 100% 0.01s
avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3f:
avrdude: load data lock data from input file 0x3f:
avrdude: input file 0x3f contains 1 bytes
avrdude: reading on-chip lock data:
Reading | ################################################## | 100% 0.01s
avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude done. Thank you.
Проверьте пайку контактов swd,swc. Я сейчас припаял на скорую руку и не заметил соплю. Так вывод информации один в один с вашей.
Проверьте пайку контактов swd,swc. Я сейчас припаял на скорую руку и не заметил соплю. Так вывод информации один в один с вашей.
В смысле соплю, закоротили их ?
Проверил, нормально и на ногу МК звонится...
Неактивний
124 C:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\Игорь\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM3 -b19200 -Uflash:w:E:\Arduino185\hardware\wemos\XI/bootloaders/lgt8fx8p\optiboot_lgt8f328p.hex:i -Ulock:w:0x3f:m
182 avrdude: reading input file "E:\Arduino185\hardware\wemos\XI/bootloaders/lgt8fx8p\optiboot_lgt8f328p.hex"
а у меня....
C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM5 -b19200 -Uflash:w:C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8e\optiboot_lgt8f328d.hex:i -Ulock:w:0x3f:m
avrdude: reading input file "C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8e\optiboot_lgt8f328d.hex"
посмотрел свой boards.txt
# See: http://code.google.com/p/arduino/wiki/Platforms
##############################################################
lgt_nano.name= LGT Nano
lgt_nano.upload.tool=avrdude
lgt_nano.upload.protocol=arduino
lgt_nano.upload.maximum_size=29696
lgt_nano.upload.speed=57600
lgt_nano.bootloader.tool=avrdude
lgt_nano.bootloader.high_fuses=0xff
lgt_nano.bootloader.low_fuses=0xff
lgt_nano.bootloader.extended_fuses=0x07
lgt_nano.bootloader.path=lgt8fx8p
lgt_nano.bootloader.file=lgt8fx8p\optiboot_lgt8f328p.hex
lgt_nano.bootloader.unlock_bits=0x3f
lgt_nano.bootloader.lock_bits=0x3f
lgt_nano.build.mcu=atmega328p
lgt_nano.build.f_cpu=16000000L
lgt_nano.build.core=lgt8f
lgt_nano.build.variant=lgt8fx8p
lgt_nano.build.board=AVR_LARDU_328E
##############################################################
lgt_pico.name= LGT Pico
lgt_pico.upload.tool=avrdude
lgt_pico.upload.protocol=arduino
lgt_pico.upload.maximum_size=29696
lgt_pico.upload.speed=57600
lgt_pico.bootloader.tool=avrdude
lgt_pico.bootloader.high_fuses=0xff
lgt_pico.bootloader.low_fuses=0xff
lgt_pico.bootloader.extended_fuses=0x07
lgt_pico.bootloader.path=lgt8fx8ps20
lgt_pico.bootloader.file=lgt8fx8ps20\optiboot_lgt8f328ps20.hex
lgt_pico.bootloader.unlock_bits=0x3f
lgt_pico.bootloader.lock_bits=0x3f
lgt_pico.build.mcu=atmega328p
lgt_pico.build.f_cpu=16000000L
lgt_pico.build.core=lgt8f
lgt_pico.build.variant=lgt8fx8ps20
lgt_pico.build.board=AVR_LARDU_328E
##############################################################
xi.name= WEMOS XI (Retired)
xi.upload.tool=avrdude
xi.upload.protocol=arduino
xi.upload.maximum_size=29696
xi.upload.speed=57600
xi.bootloader.tool=avrdude
xi.bootloader.high_fuses=0xff
xi.bootloader.low_fuses=0xff
xi.bootloader.extended_fuses=0x07
xi.bootloader.path=lgt8fx8e
xi.bootloader.file=lgt8fx8e\optiboot_lgt8f328d.hex
xi.bootloader.unlock_bits=0x3f
xi.bootloader.lock_bits=0x3f
xi.build.mcu=atmega328p
xi.build.f_cpu=16000000L
xi.build.core=lgt8f
xi.build.variant=lgt8fx8e
xi.build.board=AVR_LARDU_328E
По вашему отчету адреса как для LGT Nano
Неактивний