• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Ошибка при прошивке hello_world

Serjkruch

New member
Доброго времени суток.
Сделал всё как написанно в первом сообщении. Все 8 пунктов без ошибок.
Подскажите пожалуйста, при запуске flash, в консоли пишет:
trying to connect
warning: espcomm cmd: wrong direction/command: 0x00 0x08, expected 0x01 0x08
resetting board
trying to connect
warning: espcomm cmd: wrong direction/command: 0x00 0x08, expected 0x01 0x08
trying to connect
warning: espcomm cmd: wrong direction/command: 0x00 0x08, expected 0x01 0x08
trying to connect
warning: espcomm cmd: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_sync failed
error: espcomm_open failed
mingw32-make.exe: *** [flash] Error -1
C:/Espressif/examples/hello_world/Makefile:320: recipe for target 'flash' failed

В маке файле на строке 320 $(ESPTOOL) -cp $(ESPPORT) -cd ck -ca 0x00000 -cf firmware/eagle.flash.bin -v

Тоесть я так понимаю что нет подключения к ESP8266.
Мост USB2UART CP2102.
Схема подключения такаяже как и в первом топике.
Через Терминал чип работает.

Подскажите пожалуйста как исправить?
 

CHERTS

Moderator
Команда форума
В маке файле на строке 320 $(ESPTOOL) -cp $(ESPPORT) -cd ck -ca 0x00000 -cf firmware/eagle.flash.bin -v

Тоесть я так понимаю что нет подключения к ESP8266.
Мост USB2UART CP2102.
Схема подключения такаяже как и в первом топике.
Через Терминал чип работает.

Подскажите пожалуйста как исправить?
А номер COM-порта в Makefile исправили на свой? См. 21 строку: ESPPORT ?=COM2

Плата какая? ESP-01 или другая?
 

Serjkruch

New member
Простите за ложную информацию((. Не подпаялся к пину RST. Теперь проходит дальше но пишет:
Uploading 28960 bytes from firmware/eagle.flash.bin to flash at 0x00000000
warning: espcomm cmd: didn't receive command response
warning: espcomm_send_command(FLASH_DOWNLOAD_BEGIN) failed
closing bootloader
C:/Espressif/examples/hello_world/Makefile:320: recipe for target 'flash' failed
mingw32-make.exe: *** [flash] Error -1
 

CHERTS

Moderator
Команда форума
Простите за ложную информацию((. Не подпаялся к пину RST. Теперь проходит дальше но пишет:
Uploading 28960 bytes from firmware/eagle.flash.bin to flash at 0x00000000
warning: espcomm cmd: didn't receive command response
warning: espcomm_send_command(FLASH_DOWNLOAD_BEGIN) failed
closing bootloader
C:/Espressif/examples/hello_world/Makefile:320: recipe for target 'flash' failed
mingw32-make.exe: *** [flash] Error -1
Для hello_work в Makefile измените ESPTOOLMODE ?=new на ESPTOOLMODE ?=old
Возможно esptool-ck.exe глючит.
 

Dead_silence

New member
Кстати аналогичная ситуация, изменил на old и прошилось... Подскажите что это значит?
 

glonium

New member
Кстати такая же проблема при old нормально шьётся но не компилиться, а при new наоборот?
Вот код
Код:
/*
   The hello world demo
*/

#include <ets_sys.h>
#include <osapi.h>
#include <os_type.h>
#include "user_interface.h"
#include "espconn.h"
#include <gpio.h>
#include "driver/uart.h"
#include "user_config.h"

extern int ets_uart_printf(const char *fmt, ...);

static char macaddr[6];

void setup_wifi_st_mode(void)
{
   wifi_set_opmode((wifi_get_opmode()|STATIONAP_MODE)&USE_WIFI_MODE);
   struct station_config stconfig;
   wifi_station_disconnect();
   wifi_station_dhcpc_stop();
   if(wifi_station_get_config(&stconfig))
   {
     os_memset(stconfig.ssid, 0, sizeof(stconfig.ssid));
     os_memset(stconfig.password, 0, sizeof(stconfig.password));
     os_sprintf(stconfig.ssid, "%s", WIFI_CLIENTSSID);
     os_sprintf(stconfig.password, "%s", WIFI_CLIENTPASSWORD);
     if(!wifi_station_set_config(&stconfig))
     {
       #ifdef PLATFORM_DEBUG
       ets_uart_printf("ESP8266 not set station config!\r\n");
       #endif
     }
   }
   wifi_station_connect();
   wifi_station_dhcpc_start();
   wifi_station_set_auto_connect(1);
   #ifdef PLATFORM_DEBUG
     ets_uart_printf("ESP8266 in STA mode configured.\r\n");
   #endif
}

void read_mac(void )
{
   wifi_get_macaddr(STATION_IF, macaddr);
   #ifdef PLATFORM_DEBUG
     int i;
     ets_uart_printf("MAC ADDRES: ");
     for (i=0;i<6;i++)
       ets_uart_printf("%d:",macaddr[i]);
     ets_uart_printf("...\r\n");
   #endif
}

void user_init(void)
{
   uart_init(BIT_RATE_115200, BIT_RATE_115200);
   os_delay_us(1000);

   #ifdef PLATFORM_DEBUG
     ets_uart_printf("HTTP server started...\r\n");
   #endif
   setup_wifi_st_mode();
   read_mac();
   if(wifi_get_phy_mode() != PHY_MODE_11N)
     wifi_set_phy_mode(PHY_MODE_11N);
   if(wifi_station_get_auto_connect() == 0)
     wifi_station_set_auto_connect(1);
}

void user_rf_pre_init(void)
{
}
 

glonium

New member
Подскажите пожалуйста что валиться в ком порт при загрузке модуля и на какой скорости (заливал пустую прошивку вс равно выводиться какоето сообщение на непонятной скорости логический анализатор скорость не подобрал автоматом)
 

glonium

New member
Спасибо про мусор понял а вот по sdk почему при переключении на old перестает компилиться прошивка(прошивка выше)
 

Dmitriy7777777

New member
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_sync failed
error: espcomm_open failed

Ошибка при заливки скетча через Ардуино 1.6.4 в esp8266 esp-1, что может быть. Через монитор все команды проходят.
Плата выставлена: Generic esp8266 module
Flash mode: DIO
Flash frequency: 40 MHz
Upload using: serial
SPU frequency: 80 MHz
Flash size: 512 K
Upload speed: 9600
Порт: com6 (верный)
 

Sanya_kv

New member
Приветствую!
Установил себе последнюю версию(2.0.8), для начала решил попробовал hello_world. Компиляция и заливка прошивки прошла успешно. Но далее прошивка не стартует.
Проверял на модулях ESP-07 и ESP-12.
Пробовал переустанавливать все, включая MinGW и набор скриптов. Пробовал играться с параметрами SPI_SPEED, SPI_MODE, SPI_SIZE_MAP. Все безрезультатно.
До этого использовал версию 2.0.6. Все проходило успешно.
Заранее благодарен за ответ.
 

Sanya_kv

New member
Заменил Makefile на старую версию от 2.0.6 в режиме ESPTOOLMODE ?= new.
Заработало.
Я так понимаю проблема где-то в esptool.exe.
 

-=Dima=-

New member
Доброго времени суток.
Приобрел модуль ESP-12F (Flash size: 4096KB)
Установил сборку Unofficial Development Kit for Espressif ESP8266 (версия: 2.2.1 от 30.10.2016) под Windows.
Запустил eclipse, успешно скомпилил hello_world и залил в модуль. После сброса мигает синий светодиод, а в линию TX
выводятся данные на неизвестной скорости. И так до бесконечности.

установил SPI_SIZE_MAP = 4; выполнил clean; all; flash
результат тот - же

установил SPI_SIZE_MAP = 6; выполнил clean; all; flash
результат тот - же

Прошу сильно не пинать ногами, т.к. с данным модулем экспериментирую всего лишь неделю. За этот период времени перезалил в него кучу прошивок, и все они работали без проблем.
Решил поэкспериментировать с примерами в папке examples, но почему-то скомпилированные мною прошивки
на ESP-12F не работают. Перед тем, как записывать скомпилированные прошивки, пробовал очищать 1024KB, начиная с 0x000000, заливал flashinit.bin, но результат был всегда один и тот же. Не работает у меня hello_world и все тут.

Понимаю, что-то упустил, но найти причину не хватает опыта. Подскажите куда копать.
Спасибо.
 

-=Dima=-

New member
Вопрос снят, разобрался.
Причина была в моей невнимательности.
Чтобы прошивка работала на ESP-12F нужно было изменить некоторые опции в Makefile:

BOOT = new
APP = 1
SPI_SIZE_MAP = 6
 
Последнее редактирование:

CHERTS

Moderator
Команда форума
Чтобы прошивка работала на ESP-12F нужно было изменить некоторые опции в Makefile:

BOOT = new
APP = 1
SPI_SIZE_MAP = 6
Кстате про SPI_SIZE_MAP = 6, в UDK один человек нашел ошибку в опциях для esptool
Fix тут, он войдет в след. выпуск UDK
Fixed incorrect memory setting · CHERTS/esp8266-devkit@6712815 · GitHub
 
Сверху Снизу