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

Ошибка при загрузке файловой системы в ESP-12F

intel-1@mailru

New member
Здравствуйте. Помогите решить проблему. Имею ESP-12F и хочу прошить в нее файловую систему через Arduino IDE. Скетч из IDE приспокойно загружается, а вот файлы через ESP888266 Sketch Data Upload никак, вылетает ошибка
[SPIFFS] data : C:\Easy Controll\Firmware\ESP8266\ESP8266_ver.0.3\data
[SPIFFS] size : 512
[SPIFFS] page : 256
[SPIFFS] block : 8192

//lang/lang.en.json.gz
/lang/lang.lv.json.gz
/lang/lang.ru.json.gz
/lang/lang.ua.json.gz
/setup.json
/stat.json
/test.json
/timer.save.json

[SPIFFS] upload : C:\Users\73B5~1\AppData\Local\Temp\arduino_build_191687/ESP8266_ver.0.3.spiffs.bin
[SPIFFS] address: 0x7B000
[SPIFFS] reset : ck
[SPIFFS] port : COM5
[SPIFFS] speed : 115200

Uploading 524288 bytes from to flash at 0x0007B000

.....warning: espcomm_send_command: didn't receive command response

warning: espcomm_send_command(FLASH_DOWNLOAD_DATA) failed

warning: espcomm_send_command: wrong direction/command: 0x01 0x03, expected 0x01 0x04

error: espcomm_upload_mem failed

SPIFFS Upload failed!

Пробовал выбирать разные размеры Flash Size, ничего не помогает. В чем может быть причина этой ошибки?
 

CodeNameHawk

Moderator
Команда форума
Было что то вглючивши и не заливалось.
Попробуйте на других скоростях(как меньше, так и больше) и подайте внешнее питание.
 

intel-1@mailru

New member
Было что то вглючивши и не заливалось.
Попробуйте на других скоростях(как меньше, так и больше) и подайте внешнее питание.
Пробовал внешнее питание, ставил другой чип (ESP-07s) - бесполезно. Щупал осциллографом питание в момент прошивки, все хорошо, просадок нет по питанию. Игрался со скоростями, тоже бесполезно. Даже и не знаю в какую сторону копать. Ведь обычный скетч без проблем заливается. И даже файловая один раз на чистом чипе как то залилась, а дольше никак, вылетает ошибка и все тут. Подключал модуль вот по такой схеме.
 

Вложения

CodeNameHawk

Moderator
Команда форума
Попробуйте пример FSBrowser, он позволяет залить файлы через браузер.
 

intel-1@mailru

New member
Вот конкретнее. Заливаю скетч FSBrowser из примеров работы с ESP8266. В мониторе порта идет лог успешного подключения
Connecting to Uniscan
scandone
state: 0 -> 2 (b0)
state: 2 -> 2 (2a0)
..state: 2 -> 0 (2)
reconnect
f 0, scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 2
cnt

connected with Wi-Fi, channel 10
dhcp client start...
.ip:172.16.15.150,mask:255.255.255.0,gw:172.16.15.1
.
Connected! IP address: 172.16.15.150
Open http://esp8266.local/edit to see the file browser
HTTP server started

А в браузере при заходе на страничку ошибка "FileNotFound".
 

Вложения

CodeNameHawk

Moderator
Команда форума
Вы пытаетесь впихнуть больше файлов, чем может вместить ваша файловая система.
 

CodeNameHawk

Moderator
Команда форума
В ардуиноиде выберите плату NodeMCU 1.0 (esp 12e) и если хотите размер SPIFFS 3M
 

intel-1@mailru

New member
Вы пытаетесь впихнуть больше файлов, чем может вместить ваша файловая система.
Вот этого не понял. У меня ESP-12F, вроде как у нее 4 Mb памяти. Я же при программировании выделил 1 Mb под скетч и 512 под FS. Или я не правильно все понимаю?
 

intel-1@mailru

New member
В ардуиноиде выберите плату NodeMCU 1.0 (esp 12e) и если хотите размер SPIFFS 3M
Не помогло. Скетч FSBrowser залился, а в браузере так и лезет ошибка "FileNotFound".
Вот логи из сериал:
connected with Wi-Fi, channel 10
dhcp client start...
..ip:172.16.15.150,mask:255.255.255.0,gw:172.16.15.1
.
Connected! IP address: 172.16.15.150
Open http://esp8266.local/edit to see the file browser
HTTP server started
handleFileRead: /edit.htm
handleFileRead: /edit.htm
handleFileRead: /edit.htm
 

Вложения

CodeNameHawk

Moderator
Команда форума
В папке, где сохранили FSBrovser, создайте паку data, а в ней текстовый(пустой) файли index.htm и залейте его Sketch Data Upload
Попробуйте открыть http://esp8266.local/index.htm
 

intel-1@mailru

New member
В общем решил проблему. Выставил плату "WeMos D1 R2& mini". Скорость заливки скетча не более 115200 бод, иначе снова ошибки. Видимо это связано с FTDI FT232RL, потому как я попробовал на родной плате WeMos D1 R2 заливать этот же скетч и она переварила скорость 921600 бод, но на ней FTDI CH340G.
 

CodeNameHawk

Moderator
Команда форума
Видимо это связано с FTDI FT232RL
Ошибочный вывод сделали, FTDI FT232RL прекрасно работает на 921600.
Тут может быть проблема другая. н.п. длинные и не качественные провода USB или от переходника к есп.
Возле есп нет конденсаторов и.т.д.
 

intel-1@mailru

New member
Ошибочный вывод сделали, FTDI FT232RL прекрасно работает на 921600.
Тут может быть проблема другая. н.п. длинные и не качественные провода USB или от переходника к есп.
Возле есп нет конденсаторов и.т.д.
Это да, у меня тоже FT232RL прекрасно работали на 921600 в других устройствах, а в этом не хотят. Но это все таки "железная" проблема. Главное что понятно как шить эту ESP.
 

AllXXX

New member
Здравствуйте.
Уважаемые гуру подскажите что я делаю не так?
Раньше написал программу и удачно залил в ESP и все работало.
Сегодня решил внести небольшие поправки и не могу залить SPIFFS.
Даже пример FSBrowser отлично компилируется но при ESP8266 sketch data upload вылетает ошибка:
Код:
Executable segment sizes:
IROM   : 312688          - code in flash         (default or ICACHE_FLASH_ATTR)
IRAM   : 27008   / 32768 - code in IRAM          (ICACHE_RAM_ATTR, ISRs...)
DATA   : 1260  )         - initialized variables (global, static) in RAM/HEAP
RODATA : 2988  ) / 81920 - constants             (global, static) in RAM/HEAP
BSS    : 25584 )         - zeroed variables      (global, static) in RAM/HEAP
Скетч использует 343944 байт (32%) памяти устройства. Всего доступно 1044464 байт.
Глобальные переменные используют 29832 байт (36%) динамической памяти, оставляя 52088 байт для локальных переменных. Максимум: 81920 байт.
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: b4:e6:2d:27:14:a0
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 348096 bytes to 248021...

Writing at 0x00000000... (6 %)
Writing at 0x00004000... (12 %)
Writing at 0x00008000... (18 %)
Writing at 0x0000c000... (25 %)
Writing at 0x00010000... (31 %)
Writing at 0x00014000... (37 %)
Writing at 0x00018000... (43 %)
Writing at 0x0001c000... (50 %)
Writing at 0x00020000... (56 %)
Writing at 0x00024000... (62 %)
Writing at 0x00028000... (68 %)
Writing at 0x0002c000... (75 %)
Writing at 0x00030000... (81 %)
Writing at 0x00034000... (87 %)
Writing at 0x00038000... (93 %)
Writing at 0x0003c000... (100 %)
Wrote 348096 bytes (248021 compressed) at 0x00000000 in 43.6 seconds (effective 63.9 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
[SPIFFS] data    : /home/allxxx/.arduino15/packages/esp8266/hardware/esp8266/2.6.1/libraries/ESP8266WebServer/examples/FSBrowser/data
[SPIFFS] size    : 1000
[SPIFFS] page    : 256
[SPIFFS] block   : 8192
/edit.htm.gz
/index.htm
/favicon.ico
/graphs.js.gz
[SPIFFS] upload  : /tmp/arduino_build_187406/FSBrowser.spiffs.bin
[SPIFFS] address  : 0x300000
[SPIFFS] reset    : --before default_reset --after hard_reset
[SPIFFS] port     : /dev/ttyUSB0
[SPIFFS] speed    : 57600
[SPIFFS] python   : python
[SPIFFS] uploader : /home/allxxx/.arduino15/packages/esp8266/hardware/esp8266/2.6.1/tools/upload.py

usage: esptool write_flash [-h] [--erase-all]
                           [--flash_freq {keep,40m,26m,20m,80m}]
                           [--flash_mode {keep,qio,qout,dio,dout}]
                           [--flash_size FLASH_SIZE]
                           [--spi-connection SPI_CONNECTION] [--no-progress]
                           [--verify] [--encrypt]
                           [--ignore-flash-encryption-efuse-setting]
                           [--compress | --no-compress]
                           <address> <filename> [<address> <filename> ...]
esptool write_flash: error: argument <address> <filename>: Must be pairs of an address and the binary filename to write there
SPIFFS Upload failed!
 
Сверху Снизу