Jump to content
    

ESP32s3 "Запорол" eFUSE и теперь не могу прошить.

Всем привет.

Перепутал на столе модули и зашил eFuse FLASH_TYPE = 1, теперь модуль пытается общаться с Flash по 8ми линиям и естественно у него не получаеится.
при этом модуль грузит "старый" bootloader что был до запора фьюзов, который олично загружается, но сообщает, что нет App и падает. Попытки прошить флеш новым кодом, сводятся к ошибке верификации.

Принудительная установка dio или qio для прошивки не помогает.
 

esptool -p COM9 -b 115200 --chip esp32s3 write_flash -z --flash_mode dio --flash_freq 40m 0x0 .\build\bootloader\bootloader.bin
esptool.py v4.11.dev2
Serial port COM9
Connecting...
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
Crystal is 40MHz
USB mode: USB-Serial/JTAG
MAC: 3c:0f:02:c4:40:b4
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00005fff...
Flash params set to 0x0240
SHA digest in image updated
Compressed 23456 bytes to 14430...
Wrote 23456 bytes (14430 compressed) at 0x00000000 in 0.2 seconds (effective 1120.5 kbit/s)...
File  md5: 663c2634bed4cff132d623c4a768d1ee
Flash md5: 10ca6580b2d9fff9aee3221c3c42f316
MD5 of 0xFF is 10ca6580b2d9fff9aee3221c3c42f316
esptool -p COM9 -b 921600 --chip esp32s3 flash_id                                                    
esptool.py v4.11.dev2
Serial port COM9
Connecting...
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
Crystal is 40MHz
USB mode: USB-Serial/JTAG
MAC: 3c:0f:02:c4:40:b4
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Manufacturer: 46
Device: 4018
Detected flash size: 16MB
Flash type set in eFuse: octal (8 data lines)
Flash voltage set by eFuse to 3.3V
Hard resetting via RTS pin...

получаетс, что у esptool не получается прошить flash в режиме qio/dio, но работать код от туда может, если будет как-то туда прошит. Сейчас у меня только одна мысль - снять флеш и прошить кодом на программаторе (да  мне бы один раз её прошить и убрать)

Но может есть вариант прошить как-то пока она ещё в сборе? JTAG подключается, проц видит, могу загружать код в IRAM, но не могу исполнить его 😞
К слову этот же bootloader по всем признакам исполняем из IRAM, если верить линковщику (v5.5.2\esp-idf\components\bootloader\subproject\main\ld\esp32s3\bootloader.ld)

Пробовал загружать его из gdb

openocd -c "set ESP_FLASH_SIZE 0" -c "set ESP_RTOS none" -c "set ESP_FLASH_VOLTAGE 3.3" -f board/esp32s3-builtin.cfg
(gdb) load ./build/bootloader/bootloader.elf
Loading section .dram0.bootdesc, size 0x50 lma 0x3fce2820
Loading section .dram0.data, size 0xa0 lma 0x3fce2870
Loading section .dram0.rodata, size 0x1990 lma 0x3fce2910
Loading section .iram.text, size 0xe7f lma 0x403c8700
Loading section .iram_loader.text, size 0x3244 lma 0x403cb700
Start address 0x403c8948, load size 23363
Transfer rate: 215 KB/sec, 4672 bytes/write.
(gdb) p &call_start_cpu0
$4 = (void (*)(void)) 0x403c8948 <call_start_cpu0>

Но сразу после continue, он сваливается в Error_Handler (0x400003c0)

Так бы я мог написать простенький STUB выполняемый из IRAM и далее делающий OTA во флеш, которую уже перенатсроил бы изнутри на dio/qio, но что-то у меня не хваьает знаний как запустить код из IRAM.

Share this post


Link to post
Share on other sites

2 часа назад, Spider сказал:

и зашил eFuse FLASH_TYPE = 1

Пишут что это это необратимая операция.

Share this post


Link to post
Share on other sites

Да обращать то и не надо, прошить бы разок...

Share this post


Link to post
Share on other sites

5 minutes ago, Spider said:

Да обращать то и не надо, прошить бы разок...

Самый дорогой вариант ESP32s3 с  4MB Flash, 2MB SRAM стоит  $4 . Бессмысленная трата времени наверно его у Вас много.

Share this post


Link to post
Share on other sites

Espressif пишет  что это необратимая программная настройка, которая переключает режим работы встроенного загрузчика (ROM bootloader) для работы с определенным типом внешней флеш-памяти.

Share this post


Link to post
Share on other sites

Ну никуда не тороплюсь. Есть такое. Да и модулей у меня стопка разных. Вот думал для собственного развития освоить. Да и менять модуль лень, проще воткнуть в него USB и потыкать, чем вот это всё горячее...

1 минуту назад, Vasily_ сказал:

Espressif пишет  что это необратимая программная настройка, которая переключает режим работы встроенного загрузчика (ROM bootloader) для работы с определенным типом внешней флеш-памяти.

Нууу да. Я же об этом и написал. Не является открытием. И что? Как это мешает мне запустить код из IRAM отладчиком? Никак, только не знание как 🙂

3 минуты назад, Vasil_Riabko сказал:

Самый дорогой вариант ESP32s3 с  4MB Flash, 2MB SRAM стоит  $4 .

Какие т остранные у вас самые дорогие модули. 

ESP32-S3-WROOM-1-N16R8 16 флеша и 8 срамоты - $5.75 за pcs

Ну собственно как и было ожидаемо. Внимания у народа НОЛЬ. Поп.. болтать на offtopic все за здрасте, по делу 0.1%

Share this post


Link to post
Share on other sites

35 minutes ago, Spider said:

Ну никуда не тороплюсь. Есть такое. Да и модулей у меня стопка разных. Вот думал для собственного развития освоить. Да и менять модуль лень, проще воткнуть в него USB и потыкать, чем вот это всё горячее...

Нууу да. Я же об этом и написал. Не является открытием. И что? Как это мешает мне запустить код из IRAM отладчиком? Никак, только не знание как 🙂

Какие т остранные у вас самые дорогие модули. 

ESP32-S3-WROOM-1-N16R8 16 флеша и 8 срамоты - $5.75 за pcs

Ну собственно как и было ожидаемо. Внимания у народа НОЛЬ. Поп.. болтать на offtopic все за здрасте, по делу 0.1%

https://www.digikey.com/en/products/detail/espressif-systems/ESP32-S3FH4R2/17887524 
У китайцев на помойк
ах можно купить дешевле (с непредсказуемым результатом).

Share this post


Link to post
Share on other sites

А зачем оно мне? 🙂 Как это относится к контексту вопроса? Это поможет мне понять как запустить код из IRAM? 

Share this post


Link to post
Share on other sites

19 часов назад, Spider сказал:

Как это мешает мне запустить код из IRAM отладчиком? Никак, только не знание как

Что мешает исправить это "незнание" изучением?

19 часов назад, Spider сказал:

Поп.. болтать на offtopic все за здрасте, по делу 0.1%

Вот именно! Кто не знает, но хочет знать - изучает вопрос; кто не знает и не хочет знать - идёт "поп.. болтать" на форум.  :bye:

22 часа назад, Spider сказал:

Но может есть вариант прошить как-то пока она ещё в сборе? JTAG подключается, проц видит, могу загружать код в IRAM, но не могу исполнить его 😞
К слову этот же bootloader по всем признакам исполняем из IRAM, если верить линковщику (v5.5.2\esp-idf\components\bootloader\subproject\main\ld\esp32s3\bootloader.ld)

...

Но сразу после continue, он сваливается в Error_Handler (0x400003c0)

Так бы я мог написать простенький STUB выполняемый из IRAM

Эх, "если бы да кабы, да во рту росли грибы — был бы не рот, а целый огород". Закрыл рот и - наелся! Совсем не прилагая усилий.  :mosking:

 

У вас всё имеется: И собирающийся проект (пример). В который можно вносить изменения для изучения. И работающее железо с отладчиком. И вся документация на МК и средства разработки - видимо тоже имеется. Т.е. - имеются идеальные условия для изучения и разработки. Но вместо изучения всего этого, вы почему-то идёте поп*[censored] на форум. Причём и вопрос-то даже толком сформулировать не можете...

19 часов назад, Spider сказал:

Это поможет мне понять как запустить код из IRAM?

У вас же есть работающий пример. Запускающийся из нужной вам памяти. По вашим же словам. Что ещё нужно???

PS: Или нужна услуга по чтению исходников проекта? Так это в другой раздел: "Предлагаю работу".

Share this post


Link to post
Share on other sites

В  том то и дело что нет... Он по всем признакам "рабочий" но не запускается. Русским же языком написано сваливается в Error_Handler.

И любой другой проект не запускается из RAM. т.е. есдли взять пример из ESP-IDF репы прям для запуска из RAM он сразу поле точки входа в call_start_cpu0 (это он всё же верно елает, находит точку входа из ResetVector) сваливается в Error_Handler.

Вот я либо на китайском пишу, либо читть всё же народне умеет. Вроде посторлся и разрезал сообщение на группы, а суть всё равно не уловил...  Ну вот как так? 

3 часа назад, jcxz сказал:

Или нужна услуга по чтению исходников проекта? Так это в другой раздел: "Предлагаю работу".

А нах....зачем тогда вообще этот форум? Если помогать тут не будут, закрываем и ухоим все на ХХ.РУ

Share this post


Link to post
Share on other sites

16 минут назад, Spider сказал:

В  том то и дело что нет... Он по всем признакам "рабочий" но не запускается. Русским же языком написано сваливается в Error_Handler.

Я вижу, что вы даже не понимаете понятия "не запускается".

"Сваливается в какой-то ISR" - это значит запускается, работает, выполняется. И можно отлаживать и разбираться далее - почему работает так, а не иначе. Если умеете. Но вы похоже этого просто не умеете. А зашли просто поп*[censored].

16 минут назад, Spider сказал:

А нах....зачем тогда вообще этот форум? Если помогать тут не будут, закрываем и ухоим все на ХХ.РУ

Вам тут никто ничего не должен. И хамам помогать никто не будет. Идите куда хотите, вас тут не держат.

Share this post


Link to post
Share on other sites

Собственно как и всегда, никто ничего не знает, строят из себя пуп земли. Сотрясают воздух ради сотрясения... И всё в итоге скатилось в [censored]. По делу ничего.
Ожидаемо....

Share this post


Link to post
Share on other sites

22 часа назад, Spider сказал:

никто ничего не знает,

 

22 часа назад, jcxz сказал:

"Сваливается в какой-то ISR" - это значит запускается, работает, выполняется.

Ну а что он тут не так-то сказал? Если переходит в какой-либо обработчик, значит что-то запустилось, просто пошло не по той ветке, а уж почему это другой вопрос... Нужно мониторить, почему туда уходит, с какой инструкции и пр... Если вам это интересно, то можно повыяснять, если нет, то уже предлагали перекинуть чип, благо qfn не так уж сложно перекидывается.

22 часа назад, Spider сказал:

По делу ничего.

По сути вы тут хотите, чтобы форум вместо вас решил вашу проблему, но так это не работает.

Edited by mantech

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...