Печать

Вариант прошивки интерпретатора AT-команд.

Очистим Flash память модуля (у нас ESP8266-01):

esptool.py -p /dev/ttyUSB0 erase_flash
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 84:f3:eb:68:8e:9a
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 0.0s
Hard resetting via RTS pin...

Скачайте архив ESP firmware.

В папке ESP8266_NonOS_AT_Bin_V1.7.4/ESP8266_NonOS_A.7.4/bin/at есть файл README.md:

# Notice: 
AT firmware becomes larger since it supports more functions. So, we provide two firmwares here:

* 1024+1024: Normal AT, which is compiled from ESP8266_NONOS_SDK/examples/at, and uses mbedTLS lib.
* 512+512: Nano AT, which is compiled from ESP8266_NONOS_SDK/examples/at_nano, and uses SSL lib that supports less cipher suites.
It is suggested to use normal AT(1024+1024), if your flash size is 2MB or larger.

# BOOT MODE
## download

### Flash size 8Mbit: 512KB+512KB
    boot_v1.2+.bin              0x00000
    user1.1024.new.2.bin        0x01000
    esp_init_data_default.bin   0xfc000
    blank.bin                   0x7e000 & 0xfe000


### Flash size 16Mbit-C1: 1024KB+1024KB
    boot_v1.2+.bin              0x00000
    user1.2048.new.5.bin        0x01000
    esp_init_data_default.bin   0x1fc000
    blank.bin                   0xfe000 & 0x1fe000

# NON-BOOT MODE
## download
    eagle.flash.bin              0x00000
    eagle.irom0text.bin          0x10000
    blank.bin
        Flash size 8Mbit:        0x7e000 & 0xfe000
        Flash size 16Mbit:       0x7e000 & 0x1fe000
        Flash size 16Mbit-C1:    0xfe000 & 0x1fe000
        Flash size 32Mbit:       0x7e000 & 0x3fe000
        Flash size 32Mbit-C1:    0xfe000 & 0x3fe000
    esp_init_data_default.bin    
        Flash size 8Mbit:        0xfc000
        Flash size 16Mbit:       0x1fc000
        Flash size 16Mbit-C1:    0x1fc000
        Flash size 32Mbit:       0x3fc000
        Flash size 32Mbit-C1:    0x3fc000
 
## compile
    modify eagle.app.v6.ld, as
    irom0_0_seg :                         org = 0x40210000, len = 0x6C000
    

> NOTICE: UPDATE is not supported in non-boot mode; 4Mbit Flash is not supported in non-boot mode;

# Update steps
1.Make sure TE(terminal equipment) is in sta or sta+ap mode

    AT+CWMODE=3
    OK

2.Make sure TE got ip address

    AT+CWJAP="ssid","12345678"
    OK
    
    AT+CIFSR
    192.168.1.134

3.Let's update

    AT+CIUPDATE
    +CIPUPDATE:1    found server
    +CIPUPDATE:2    connect server
    +CIPUPDATE:3    got edition
    +CIPUPDATE:4    start start
    
    OK

> NOTICE: If there are mistakes in the updating, then break update and print ERROR.

Нас интересует информация из секции # BOOT MODE ### Flash size 8Mbit: 512KB+512KB, так как на нашем модуле ESP8266-01 8 Мбит = 1 Мбайт Flash памяти.

# BOOT MODE
## download

### Flash size 8Mbit: 512KB+512KB
    boot_v1.2+.bin              0x00000
    user1.1024.new.2.bin        0x01000
    esp_init_data_default.bin   0xfc000
    blank.bin                   0x7e000 & 0xfe000

Загрузим файлы boot_v1.7.bin, user1.1024.new.2.bin, esp_init_data_default_v08.bin, blank.bin по указанным выше адресам:

ESP8266_NonOS_AT_Bin_V1.7.4/ESP8266_NonOS_AT_Bin_V1.7.4/bin$ esptool -p /dev/ttyUSB1 write_flash -fm dio -ff 40m -fs 1MB 0x00000 boot_v1.7.bin 0x01000 at/512+512/user1.1024.new.2.bin 0xfc000 esp_init_data_default_v08.bin 0x7e000 blank.bin 0xfe000 blank.bin
esptool.py v2.1
Connecting........_____....._
Detecting chip type... ESP8266
Chip is ESP8266
Enabling default SPI flash mode...
Configuring flash size...
Erasing flash...
Flash params set to 0x0220
Took 0.24s to erase flash block
Wrote 4096 bytes at 0x00000000 in 0.4 seconds (73.2 kbit/s)...
Erasing flash...
Took 4.09s to erase flash block
Wrote 413696 bytes at 0x00001000 in 45.2 seconds (73.1 kbit/s)...
Erasing flash...
Took 0.18s to erase flash block
Wrote 1024 bytes at 0x000fc000 in 0.1 seconds (73.2 kbit/s)...
Erasing flash...
Took 0.21s to erase flash block
Wrote 4096 bytes at 0x0007e000 in 0.4 seconds (82.0 kbit/s)...
Erasing flash...
Took 0.18s to erase flash block
Wrote 4096 bytes at 0x000fe000 in 0.4 seconds (85.4 kbit/s)...

Leaving...
Hard resetting...

Не забываем своевременно нажимать RESET и Prog (см. статью Esptool).

Проверим работоспособность в терминале CuteCom (см. статью CuteCom монитор порта). Сначала на скорости 74880 после нажатия кнопки RESET:

 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 2592, room 16 
tail 0
chksum 0xf3
load 0x3ffe8000, len 764, room 8 
tail 4
chksum 0x92
load 0x3ffe82fc, len 676, room 4 
tail 0
chksum 0x22
csum 0x22

2nd boot version : 1.7(5d6f877)
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

correct flash map
V2
Mo
,<0x95><0xff>rf cal sector: 251
freq trace enable 0
rf[112] : 00
rf[113] : 00
rf[114] : 01

SDK ver: 3.0.4(9532ceb) compiled @ May 22 2020 16:26:04
phy ver: 1156_0, pp ver: 10.2

<0xa2><0xd4><0xaa>TWT

Затем на скорости 11520 даём команду AT+GMR:

AT+GMR
AT version:1.7.4.0(May 11 2020 19:13:04)
SDK version:3.0.4(9532ceb)
compile time:May 27 2020 10:12:17
Bin version(Wroom 02):1.7.4
OK

ОК, ОК, ОК, ну совсем свежий софт!

<<< Edragon, ESP firmware Ω ESP8266-01 Web-сервер >>>