Так сколько памяти в ESP-12f

_Quasar_

✩✩✩✩✩✩✩
30 Июл 2021
52
0
Попалась партия модулей. Решил обновить прошивку у них.
Первоначально через команду в esptool.py узнаю сколько памяти
выдает
Device: 4016
Detected flash size: 4MB
далее читаю всю память в bin. размером 4МB и вижу что esp_init_data_default.bin записан по адресу 0xfc000.
и есть вот такая замечательная таблица
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
В при каком объеме памяти куда пишется этот конфиг.
Далее я пытался обновить прошивку записав его в другой адрес для 4МБ, устройство в вечном ребуте стало.
1681020059818.png
Только по этому конфигу удалось обновить прошивку.
Итог какой, то что пишет программы про 4МБ это вранье? по факту у меня на руках только 1МБ?
PS даже ide скетч примерах который показывает память пишет

Flash ide size: 4194304 bytes
Flash ide speed: 40000000 Hz
Flash ide mode: DIO
Flash Chip configuration ok
 
Изменено:

Геннадий П

★★★★★★✩
14 Апр 2021
1,970
632
45
Первое правило: Если что то не понятно, то читайте даташит.
2a-esp8266-sdk_getting_started_guide_en (espressif.com) - 4й раздел, там таблицы под все объемы памяти, и под ОТА/неОТА.
А памяти может быть сколько угодно, от 512Кбайт, до 16 Мбайт. Какую флешку китайцы поставят - столько и будет. Она отдельно от контроллера ставится.
 

_Quasar_

✩✩✩✩✩✩✩
30 Июл 2021
52
0
@Геннадий П, как узнать какую флешку они поставили??
Если я в программе по запросу вижу 4МБ. А прошивка прошита как для 1 МБ.
Далее согласно инструкции пытаюсь шить для 4МБ и ничего не получатся, а если выбираю маппинг для 1МБ все спокойно шьется.
https://www.espressif.com/sites/default/files/documentation/4a-esp8266_at_instruction_set_en.pdf
и ide после прошивки программы пишет . Code in flash (default, ICACHE_FLASH_ATTR), used 384532 / 1048576 bytes (36%)
Значит 1МБ, что за 4 МБ тогда понять не могу?
 
Изменено:

Геннадий П

★★★★★★✩
14 Апр 2021
1,970
632
45
@_Quasar_, Посмотри в настройках IDE под какой размер флешки компилируется.
Потому как например в VisualGDB нужно выбирать размер флешки:
1681036759620.png

И соответственно, если под один размер флешки откомпилировано, то под другой не зальется.
А 100% можно определить только взглянув на сам чип памяти.
 

_Quasar_

✩✩✩✩✩✩✩
30 Июл 2021
52
0
@Геннадий П,
1681036892926.png

Если я правильно понимаю то АрдуиноIDE больше 1MB не будет выделять под программу.
Но почему все сторонние IDE тот же ESPlorer-0.2.0 через команды AT команды говорит что у меня 4МБ флешка...
Просто хочу в этом разобраться..
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,970
632
45
то АрдуиноIDE больше 1MB не будет выделять под программу
Немного не верно. Если простыми словами, то OTA - это раздел флешки под OTA-обновления. FS - file system, под различные данные. Оставшаяся область обычно выделяется под код. В зависимости от потребностей эти разделы можно менять размерами.
Например, много кода, но не использует данные из файловой системы, то можно выбрать предпоследний вариант, без файловой системы.
Либо если кода мало, но много данных в файловой системе, то второй вариант.
 

_Quasar_

✩✩✩✩✩✩✩
30 Июл 2021
52
0
@Геннадий П, Почему тогда прошивка(SDK) записанная китайцами имеет расположение во флешки именно так как должна располагаться строго при размере флешки в 1МБ? А если я пытаюсь записать прошивку (SDK) для 4МБ то есп не инициализируется.
такое складывается ощущение те файлы которые должны записаться в конце флешки просто в нее не записываются, так как там нет памяти).
Но любой запрос выдает заведомо неправильный размер

Configuring flash size...
Auto-detected Flash size: 4MB
Для чего это сделано непонятно...
 
Изменено:

Геннадий П

★★★★★★✩
14 Апр 2021
1,970
632
45
Почему тогда прошивка(SDK) записанная китайцами имеет расположение во флешки именно так как должна располагаться строго при размере флешки в 1МБ? А если я пытаюсь записать прошивку (SDK) для 4МБ то есп не инициализируется.
Потому что она скомпилирована как 1Мбайт, и ее нужно записывать как 1Мбайт, даже если физически флешка стоит бОльшего размера. В таком варианте оставшаяся область флешки просто не будет использоваться.
 
  • Лойс +1
Реакции: _Quasar_