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

Не запускается прошивка

Nihalem

New member
Господа, приветствую. Не так давно стал обладателем esp12-s, и тут же залил на него micropython. Поигравшись с микропитоном, решил попробывать использовать нейтивный нон-ос-сдк. Скачал на линух, поставил, установил эклипс, запустил тестовую програмулину на компиляцию.

Скомпилилось без проблем, получилось два файлика.
sampleESP8266App_0x00000.bin
sampleESP8266App_0x40000.bin

Запитал от 3.3v.
Подтянул ch_en на + а также 15 и 0 gpio на gnd.

Почистил флеш
Код:
esptool.py --port COM4 erase_flash
Залил файлы
Код:
esptool.py --port COM4 --baud 115200 write_flash  --flash_size 4m 0x00000 C:\sampleESP8266App_0x00000.bin 0x40000 C:\sampleESP8266App_0x40000.bin
esptool.py v2.3-dev
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Compressed 29504 bytes to 21863...
Wrote 29504 bytes (21863 compressed) at 0x00000000 in 1.9 seconds (effective 121.4 kbit/s)...
Hash of data verified.
Compressed 196644 bytes to 144688...
Wrote 196644 bytes (144688 compressed) at 0x00040000 in 12.8 seconds (effective 122.8 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting...
Снимаю gpio 0 c gnd, запускаю: в консоль непрерывно сыпятся какие-то непонятные крокозябры, синий светодиод горит постоянно.
Попробовал скачать unofficial dev kit под win. Скомпилил оттуда пример. Заливаю - та же песня.
Думаю: ну все убил что-то. Заливаю обратно micropython'овский интерпретатор - все отлично работает. Попробовал снова с официальныи и неофициальным СДК - опять ничего не работает. Подскажите в чем может быть проблема?

ЗЫ Прошу вилами в меня не кидать, ибо начинающий.
 

nikolz

Well-known member
Господа, приветствую. Не так давно стал обладателем esp12-s, и тут же залил на него micropython. Поигравшись с микропитоном, решил попробывать использовать нейтивный нон-ос-сдк. Скачал на линух, поставил, установил эклипс, запустил тестовую програмулину на компиляцию.

Скомпилилось без проблем, получилось два файлика.
sampleESP8266App_0x00000.bin
sampleESP8266App_0x40000.bin

Запитал от 3.3v.
Подтянул ch_en на + а также 15 и 0 gpio на gnd.

Почистил флеш
Код:
esptool.py --port COM4 erase_flash
неофициальным СДК - опять ничего не работает. Подскажите в чем может быть проблема?

ЗЫ Прошу вилами в меня не кидать, ибо начинающий.
полагаю вы затерли либо у Вас не была загружена настройка для WIFI.
это третий файл для загрузки. надо грузить если SDK выше 1.0
здесь прочитайте подробнее
Flashing the firmware - NodeMCU Documentation
 
Последнее редактирование:

Nihalem

New member
полагаю вы затерли либо у Вас не была загружена настройка для WIFI.
это третий файл для загрузки. надо грузить если SDK выше 1.0
здесь прочитайте подробнее
Flashing the firmware - NodeMCU Documentation
Спасибо за совет. На всякий случай затер полностью и залил уже 3 файла (esp_init_data_default.bin на 0x3fc000). Попробовал, все тоже самое((
 

nikolz

Well-known member
Спасибо за совет. На всякий случай затер полностью и залил уже 3 файла (esp_init_data_default.bin на 0x3fc000). Попробовал, все тоже самое((
Возможно, что-то не так собираете.
Тогда возьмите UDK (ссылку найдете на форуме) поставьте под виндой и собирайте на си и грузите из UDK
либо ESP флешером под виндой.
Это точно будет работать.
 

Nihalem

New member
Возможно, что-то не так собираете.
Тогда возьмите UDK (ссылку найдете на форуме) поставьте под виндой и собирайте на си и грузите из UDK
либо ESP флешером под виндой.
Это точно будет работать.
Пробовал. Поставил на всякий случай еще раз.

Почистил флешку. Запускаю all потом flash таргеты

Код:
23:09:34 **** Build of configuration Default for project hello_world_cpp_2 ****
mingw32-make.exe -f C:/Espressif/examples/ESP8266/hello_world_cpp_2/Makefile flash
c:/Espressif/utils/ESP8266/esptool.exe -p COM12 -b 256000 write_flash -ff 40m -fm qio -fs 8m 0x00000 firmware/eagle.flash.bin 0x10000 firmware/eagle.irom0text.bin
esptool.py v1.2-dev
Connecting...
Running Cesanta flasher stub...
Flash params set to 0x0020
Writing 32768 @ 0x0... 0 (0 %)1024 (3 %)2048 (6 %)3072 (9 %)4096 (12 %)5120 (15 %)6144 (18 %)7168 (21 %)8192 (25 %)9216 (28 %)10240 (31 %)11264 (34 %)12288 (37 %)13312 (40 %)14336 (43 %)15360 (46 %)16384 (50 %)17408 (53 %)18432 (56 %)19456 (59 %)20480 (62 %)21504 (65 %)22528 (68 %)23552 (71 %)24576 (75 %)25600 (78 %)26624 (81 %)27648 (84 %)28672 (87 %)29696 (90 %)30720 (93 %)31744 (96 %)32768 (100 %)

Wrote 32768 bytes at 0x0 in 1.3 seconds (207.4 kbit/s)...
Writing 196608 @ 0x10000... 0 (0 %)1024 (0 %)2048 (1 %)3072 (1 %)4096 (2 %)5120 (2 %)6144 (3 %)7168 (3 %)8192 (4 %)9216 (4 %)10240 (5 %)11264 (5 %)12288 (6 %)13312 (6 %)14336 (7 %)15360 (7 %)16384 (8 %)17408 (8 %)18432 (9 %)19456 (9 %)20480 (10 %)21504 (10 %)22528 (11 %)23552 (11 %)24576 (12 %)25600 (13 %)26624 (13 %)27648 (14 %)28672 (14 %)29696 (15 %)30720 (15 %)31744 (16 %)32768 (16 %)33792 (17 %)34816 (17 %)35840 (18 %)36864 (18 %)37888 (19 %)38912 (19 %)39936 (20 %)40960 (20 %)41984 (21 %)43008 (21 %)44032 (22 %)45056 (22 %)46080 (23 %)47104 (23 %)48128 (24 %)49152 (25 %)50176 (25 %)51200 (26 %)52224 (26 %)53248 (27 %)54272 (27 %)55296 (28 %)56320 (28 %)57344 (29 %)58368 (29 %)59392 (30 %)60416 (30 %)61440 (31 %)62464 (31 %)63488 (32 %)64512 (32 %)65536 (33 %)66560 (33 %)67584 (34 %)68608 (34 %)69632 (35 %)70656 (35 %)71680 (36 %)72704 (36 %)73728 (37 %)74752 (38 %)75776 (38 %)76800 (39 %)77824 (39 %)78848 (40 %)79872 (40 %)80896 (41 %)81920 (41 %)82944 (42 %)83968 (42 %)84992 (43 %)86016 (43 %)87040 (44 %)88064 (44 %)89088 (45 %)90112 (45 %)91136 (46 %)92160 (46 %)93184 (47 %)94208 (47 %)95232 (48 %)96256 (48 %)97280 (49 %)98304 (50 %)99328 (50 %)100352 (51 %)101376 (51 %)102400 (52 %)103424 (52 %)104448 (53 %)105472 (53 %)106496 (54 %)107520 (54 %)108544 (55 %)109568 (55 %)110592 (56 %)111616 (56 %)112640 (57 %)113664 (57 %)114688 (58 %)115712 (58 %)116736 (59 %)117760 (59 %)118784 (60 %)119808 (60 %)120832 (61 %)121856 (61 %)122880 (62 %)123904 (63 %)124928 (63 %)125952 (64 %)126976 (64 %)128000 (65 %)129024 (65 %)130048 (66 %)131072 (66 %)132096 (67 %)133120 (67 %)134144 (68 %)135168 (68 %)136192 (69 %)137216 (69 %)138240 (70 %)139264 (70 %)140288 (71 %)141312 (71 %)142336 (72 %)143360 (72 %)144384 (73 %)145408 (73 %)146432 (74 %)147456 (75 %)148480 (75 %)149504 (76 %)150528 (76 %)151552 (77 %)152576 (77 %)153600 (78 %)154624 (78 %)155648 (79 %)156672 (79 %)157696 (80 %)158720 (80 %)159744 (81 %)160768 (81 %)161792 (82 %)162816 (82 %)163840 (83 %)164864 (83 %)165888 (84 %)166912 (84 %)167936 (85 %)168960 (85 %)169984 (86 %)171008 (86 %)172032 (87 %)173056 (88 %)174080 (88 %)175104 (89 %)176128 (89 %)177152 (90 %)178176 (90 %)179200 (91 %)180224 (91 %)181248 (92 %)182272 (92 %)183296 (93 %)184320 (93 %)185344 (94 %)186368 (94 %)187392 (95 %)188416 (95 %)189440 (96 %)190464 (96 %)191488 (97 %)192512 (97 %)193536 (98 %)194560 (98 %)195584 (99 %)196608 (100 %)

Wrote 196608 bytes at 0x10000 in 7.5 seconds (208.4 kbit/s)...
Leaving...

23:09:44 Build Finished (took 9s.761ms)
В консоли как и раньше спамит крокозябрами по 5-10 в секунду непрерывно(((

Код:
▒▒ rd$▒▒|▒l
 

nikolz

Well-known member
Пробовал. Поставил на всякий случай еще раз.

Почистил флешку. Запускаю all потом flash таргеты


Leaving...

23:09:44 Build Finished (took 9s.761ms)[/code]

В консоли как и раньше спамит крокозябрами по 5-10 в секунду непрерывно(((

Код:
▒▒ rd$▒▒|▒l
1) при старте ESP выводит на скорости 74880 сообщение о результате загрузки
Включите скорость 74880 и прочитайте результат.
2) А какую прогу Вы грузите?
 

Nihalem

New member
1) при старте ESP выводит на скорости 74880 сообщение о результате загрузки
Включите скорость 74880 и прочитайте результат.
2) А какую прогу Вы грузите?
1) Спам оказалася неправильно интерпретированным результатом на скорости 115200. На 74880 видно:

Код:
ets Jan  8 2013,rst cause:1, boot mode:(3,6)

load 0x40100000, len 27304, room 16
tail 8
chksum 0x0a
load 0x3ffe8000, len 884, room 0
tail 4
chksum 0xcc
load 0x3ffe8380, len 332, room 4
tail 8
chksum 0xdd
csum 0xdd
rf_cal[0] !=0x05,is 0xFF

ets Jan  8 2013,rst cause:1, boot mode:(3,6)

load 0x40100000, len 27304, room 16
tail 8
chksum 0x0a
load 0x3ffe8000, len 884, room 0
tail 4
chksum 0xcc
load 0x3ffe8380, len 332, room 4
tail 8
chksum 0xdd
csum 0xdd
rf_cal[0] !=0x05,is 0xFF

ets Jan  8 2013,rst cause:1, boot mode:(3,6)

load 0x40100000, len 27304, room 16
tail 8
chksum 0x0a
load 0x3ffe8000, len 884, room 0
tail 4
chksum 0xcc
load 0x3ffe8380, len 332, room 4
tail 8
chksum 0xdd
csum 0xdd
rf_cal[0] !=0x05,is 0xFF

ets Jan  8 2013,rst cause:1, boot mode:(3,6)
И так в цикле. Спасибо огромное уже хоть какая-то информация. Пойду гуглить что это такое. Если кто-то знает в чем проблема был бы благодарен за подсказку.

2) Putty
 

Nihalem

New member
Вроде бы нет. Там
Код:
rst cause:4, boot mode:(3,6)
rst cause:2, boot mode:(3,6)
У меня
Код:
rst cause:1, boot mode:(3,6)
Нагуглил вот что
reset causes:
0:
1: normal boot
2: reset pin
3: software reset
4: watchdog reset

boot device:
0:
1: ram
3: flash
Т.е. у меня, судя по трейсбеку, происходит нормальная загрузка с флеш диска и почему-то рестарт. И это при том что я не модифицировал hello world с UDK, т.е. он такой-же как и у всех кто его загружал. Думал может модуль, того умер, но загруженная мной микропитоновская прошивка с их сайта отлично шьется через esptool и работает. Уже и на питание грешил, включал в паррелель к питанию конденсатор, даже внешний источник на 3.3в подключал, результат тот же.
 
Последнее редактирование:

nikolz

Well-known member
Аа нет putty я смотрю вывод с esp :). Шил esptool. И питоновским вариантом и тем, который в комплекте с UDK идет. При этом micropython с него шьется успешно и запускается.
У Вас происходит рестарт.
Он может быть по многим причинам
Покажите свою программу.
 

Nihalem

New member
У Вас происходит рестарт.
Он может быть по многим причинам
Покажите свою программу.
Дефолтная программа из UDK. Hello world без каких либо изменений.
Код:
/*
    The hello world demo
*/

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

#define DELAY 1000 /* milliseconds */

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

LOCAL void ICACHE_FLASH_ATTR hello_cb(void *arg)
{
    ets_uart_printf("Hello World!\r\n");
}

/******************************************************************************
* FunctionName : user_rf_cal_sector_set
* Description  : SDK just reversed 4 sectors, used for rf init data and paramters.
*                We add this function to force users to set rf cal sector, since
*                we don't know which sector is free in user's application.
*                sector map for last several sectors : ABBBCDDD
*                A : rf cal
*                B : at parameters
*                C : rf init data
*                D : sdk parameters
* Parameters   : none
* Returns      : rf cal sector
*******************************************************************************/
uint32 ICACHE_FLASH_ATTR user_rf_cal_sector_set(void)
{
    enum flash_size_map size_map = system_get_flash_size_map();
    uint32 rf_cal_sec = 0;

    switch (size_map) {
        case FLASH_SIZE_4M_MAP_256_256:
            rf_cal_sec = 128 - 8;
            break;

        case FLASH_SIZE_8M_MAP_512_512:
            rf_cal_sec = 256 - 5;
            break;

        case FLASH_SIZE_16M_MAP_512_512:
        case FLASH_SIZE_16M_MAP_1024_1024:
            rf_cal_sec = 512 - 5;
            break;

        case FLASH_SIZE_32M_MAP_512_512:
        case FLASH_SIZE_32M_MAP_1024_1024:
            rf_cal_sec = 1024 - 5;
            break;

        default:
            rf_cal_sec = 0;
            break;
    }

    return rf_cal_sec;
}

void ICACHE_FLASH_ATTR user_rf_pre_init(void)
{
}

void ICACHE_FLASH_ATTR user_init(void)
{
    // Configure the UART
    uart_init(BIT_RATE_115200, BIT_RATE_115200);
    // Set up a timer to send the message
    // os_timer_disarm(ETSTimer *ptimer)
    os_timer_disarm(&hello_timer);
    // os_timer_setfn(ETSTimer *ptimer, ETSTimerFunc *pfunction, void *parg)
    os_timer_setfn(&hello_timer, (os_timer_func_t *)hello_cb, (void *)0);
    // void os_timer_arm(ETSTimer *ptimer,uint32_t milliseconds, bool repeat_flag)
    os_timer_arm(&hello_timer, DELAY, 1);
}
Makefile

Код:
# Main settings includes
include    ../settings.mk

# Individual project settings (Optional)
#BOOT        = new
#APP        = 1
#SPI_SPEED    = 40
#SPI_MODE    = QIO
#SPI_SIZE_MAP    = 4
ESPPORT        = COM12
#ESPBAUD        = 230400

# Basic project settings
MODULES    = driver user
LIBS    = c gcc hal phy pp net80211 lwip wpa main crypto

# Root includes
include    ../common_nonos.mk
 

nikolz

Well-known member
а что это у Вас все параметры флеш закомментированы?
Какие установлены реально?
 

Nihalem

New member
а что это у Вас все параметры флеш закомментированы?
Какие установлены реально?
Пробовал (через “/” варианты)

Код:
BOOT        = new
SPI_SPEED    = 40
SPI_MODE    = QIO/DIO
SPI_SIZE_MAP    = 3/4
ESPPORT        = COM12
ESPBAUD        = 78880/115200/230400
Также пробовал шить дефолтным esptool.py

Код:
esptool.py  -p COM12 write_flash 0x00000 C:\Espressif\examples\ESP8266\hello_world\firmware\eagle.flash.bin 0x10000 C:\Espressif\examples\ESP8266\hello_world\firmware\eagle.irom0text.bin
 

nikolz

Well-known member
попробуйте так:
BOOT = none
SPI_SPEED = 40
SPI_SIZE_MAP = 6
SPI_MODE = QIO
--------------------------
если не заработает, то поменяйте
SPI_MODE = DIO
 

Nihalem

New member
попробуйте так:
BOOT = none
SPI_SPEED = 40
SPI_SIZE_MAP = 6
SPI_MODE = QIO
--------------------------
если не заработает, то поменяйте
SPI_MODE = DIO
На boot none при любых настройках SPI_MODE и SPI_SIZE_MAP получается такой же цикл как и у меня раньше

Но на
BOOT = new
APP = 1
SPI_SPEED = 40
SPI_MODE = DIO
SPI_SIZE_MAP = 6
ESPPORT = COM12
ESPBAUD = 115200

В консоль выскакивает

chksum 0x7a
load 0x41f831e8, len -1055784696, room 0
flash read err, ets_unpack_flash_code

И остается в таком виде. Тоже прогресс :)
 
Сверху Снизу