#76 2018-06-21 13:12:30

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Помогите запустить WeMos XI

Тут или бубен, или в топку.
Однако в первый раз  0xff != 0x0c, а сейчас 0x8c != 0x0c. Как то не стабильненько.

Неактивний

#77 2018-06-21 13:44:35

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Green пише:

Тут или бубен, или в топку.
Однако в первый раз  0xff != 0x0c, а сейчас 0x8c != 0x0c. Как то не стабильненько.

это разные платы "вемос" ...

Неактивний

#78 2018-06-21 13:46:16

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Уже нет сил....
Кто хочет потанцевать с бубном могу отправить плату...

Неактивний

#79 2018-06-29 14:08:54

miv81
Гість

Re: Помогите запустить WeMos XI

Заказывал 3 шт. На все три, скейтч заливается без проблем.

#80 2018-06-29 14:13:28

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Помогите запустить WeMos XI

Так может СКЕЙТЧ у вас особенный! А попробуйте залить через Ардуино Нано, слабо?

Неактивний

#81 2018-06-29 14:52:27

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Green пише:

Так может СКЕЙТЧ у вас особенный! А попробуйте залить через Ардуино Нано, слабо?

В смысле, залить загрузчик ? или про какой скетч идет речь ?

Неактивний

#82 2018-06-29 14:54:17

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Помогите запустить WeMos XI

В том смысле, что от заливки через Нано портится загрузчик Wemos!

Неактивний

#83 2018-06-29 17:17:57

miv81
Гість

Re: Помогите запустить WeMos XI

Перезалил загрузчик с помощью LarduinoISP.ino , без резистора на 10 кОм (SWD-VCC) загрузчик слетает и плата не реагирует не на что и в пол накала светится светодиод как у renoshnik. С резистором загрузчик заливается за 1 секунду.

#84 2018-06-29 17:39:40

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Green пише:

В том смысле, что от заливки через Нано портится загрузчик Wemos!

Скетчи я заливал через USB-UART адаптер.

Неактивний

#85 2018-06-29 17:41:00

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

miv81 пише:

Перезалил загрузчик с помощью LarduinoISP.ino , без резистора на 10 кОм (SWD-VCC) загрузчик слетает и плата не реагирует не на что и в пол накала светится светодиод как у renoshnik. С резистором загрузчик заливается за 1 секунду.

Можете скинуть свои ссылки на файлы ?
Может я упускаю какой-то нюанс при заливке бутлоадера ?!?!

Неактивний

#86 2018-06-29 17:42:52

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

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)

Неактивний

#87 2018-06-29 18:17:42

miv81
Гість

Re: Помогите запустить WeMos XI

https://github.com/LGTMCU/LarduinoISP
Загрузчик заливал через  arduino Nano 3,0 . Программатор:" Arduino as ISP[WEMOS XI] " . Провода подключал как на картинке в (LarduinoISP). В скейтче не чего не менял.

https://github.com/wemos/Arduino_XI

Плату ставил при заливки загрузчика "WEMOS XI (Retired)".

#88 2018-06-29 18:21:36

miv81
Гість

Re: Помогите запустить WeMos XI

Кварц не впаивал.

#89 2018-06-29 18:43:04

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

miv81 пише:

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\*.*  " ?

Неактивний

#90 2018-06-29 18:55:31

miv81
Гість

Re: Помогите запустить WeMos XI

Я устанавливаю через ардуино, ( скейтч, подключить библиотеку, добавить .ZIP библиотеку).

#91 2018-06-29 19:16:35

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Видимо я самый невезучий из вас ...  sad

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.

Неактивний

#92 2018-06-29 19:19:04

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

miv81 пише:

Перезалил загрузчик с помощью LarduinoISP.ino , без резистора на 10 кОм (SWD-VCC) загрузчик слетает и плата не реагирует не на что и в пол накала светится светодиод как у renoshnik. С резистором загрузчик заливается за 1 секунду.

какую ардуину использовали в качестве программатора ?

Неактивний

#93 2018-06-29 19:32:24

miv81
Гість

Re: Помогите запустить WeMos XI

Я же писал, nano .

#94 2018-06-29 19:33:31

miv81
Гість

Re: Помогите запустить WeMos XI

Резистор на 10 кОм. пробовали ставить?

#95 2018-06-29 19:45:52

miv81
Гість

Re: Помогите запустить WeMos XI

Какая версия ардуино у вас ? У меня ардуино 1.8.5

#96 2018-06-29 19:49:49

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

miv81 пише:

Я же писал, nano .

Остается только еще ардуинку поменять...

miv81 пише:

Резистор на 10 кОм. пробовали ставить?

Конечно, без него вообще никак не идет прошивка... пробовал разные 4,7к - 10к

http://i.piccy.info/i9/fe0dadd8aca930d572b6a08a6cb26878/1529573515/253891/1252651/000viber_image.jpg

miv81 пише:

Какая версия ардуино у вас ? У меня ардуино 1.8.5

Аналогично ...

Остання редакція renoshnik (2018-06-29 19:52:06)

Неактивний

#97 2018-06-29 20:33:14

miv81
Гість

Re: Помогите запустить WeMos XI

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.

#98 2018-06-29 20:39:52

miv81
Гість

Re: Помогите запустить WeMos XI

Проверьте пайку контактов swd,swc. Я сейчас припаял на скорую руку и не заметил соплю. Так вывод информации один в один с вашей.

#99 2018-06-29 22:56:27

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

miv81 пише:

Проверьте пайку контактов swd,swc. Я сейчас припаял на скорую руку и не заметил соплю. Так вывод информации один в один с вашей.

В смысле соплю, закоротили их ?

Проверил, нормально и на ногу МК звонится...

Неактивний

#100 2018-06-30 06:01:50

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

miv81 пише:

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  hmm

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму