oleg.boicenco
New member
Всем привет!
Стоит следующая задача. Необходимо зашить девайс с ESP32-WROOM-32D модулем на борту на производстве. Посредством JTAG. Необходимо использовать один BIN - файл, который "суммирован" из bootloader.bin, partitions_singleapp.bin и app.bin. Был успешно создан единый файл посредством функции CombineBin из утилиты FLASH DOWNLOAD TOOL V3.6.5. При "визуальном" осмотре файла ничего "необычного" не обнаружилось: с начала файла до смещения 0х1000 были 0xFF. Начиная с адреса 0x8000 расположилась partition_table и с адреса 0x10000 начиналась прикланой код. Как и положено "пустые места" в файле были заполненны 0xFF.
Логично ожидать, что необходимо запустить процедуру прошивки начиная с нуля. Т.е. команда для прошивки должна выглядеть так: "program_esp32 app.bin 0x0000 verify exit". Но не получилось! %)
OpenOCD (Open On-Chip Debugger v0.10.0-esp32-20190313 (2019-03-13-09:57)) выругался следующим образом:
Info : Configured 2 cores
esp32 interrupt mask on
Info : J-Link V10 compiled Jan 7 2020 16:51:47
Info : Hardware version: 10.10
Info : VTarget = 3.322 V
Info : clock speed 1000 kHz
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : esp32: Debug controller 0 was reset (pwrstat=0x5F, after clear 0x0F).
Info : esp32: Core 0 was reset (pwrstat=0x5F, after clear 0x0F).
Info : Listening on port 3333 for gdb connections
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Error: Exception reading epc6!
Info : Target halted. PRO_CPU: PC=0x00000000 (active) APP_CPU: PC=0x00000000
Info : esp32: Debug controller 0 was reset (pwrstat=0x5F, after clear 0x0F).
Info : esp32: Core 0 was reset (pwrstat=0x5F, after clear 0x0F).
Info : esp32: Debug controller 1 was reset (pwrstat=0x5F, after clear 0x5F).
Info : esp32: Core 1 was reset (pwrstat=0x5F, after clear 0x5F).
Info : Target halted. PRO_CPU: PC=0x40007BA1 (active) APP_CPU: PC=0x00000000
Info : esp32: Core 0 was reset (pwrstat=0x1F, after clear 0x0F).
Info : Target halted. PRO_CPU: PC=0x40000400 (active) APP_CPU: PC=0x40000400
** Programming Started **
auto erase enabled
Info : Target halted. PRO_CPU: PC=0x4009171A (active) APP_CPU: PC=0x40000400
Warn : Empty flash mapping!
Warn : Failed to get flash mappings (0)!
Info : Target halted. PRO_CPU: PC=0x4009171A (active) APP_CPU: PC=0x40000400
Info : Target halted. PRO_CPU: PC=0x4009171A (active) APP_CPU: PC=0x40000400
Info : Auto-detected flash size 4096 KB
Info : Using flash size 4096 KB
Error: Invalid offset!
Error: failed erasing sectors 0 to 110
** Programming Failed **
shutdown command invoked
Warn : Flash driver of esp32.flash does not support free_driver_priv()
Warn : Flash driver of irom does not support free_driver_priv()
Warn : Flash driver of drom does not support free_driver_priv()
Очевидно, что offset не понравился! А про failed erasing sectors 0 to 110 ничего не могу сказать.. Не знаю..
Прокомментируйте, пожалуйста, кто в теме! Может мы что-то делаем не так?
И еще хотелось бы узнать, был ли у кого опыт запуска в серийное производство девайсов с ESP32? Был бы интересен обмен опытом в этом вопросе(например тестирование радочастотных узлов, граничное сканирование и т.д.)!
Заранее благодарю!
С уважением, Олег.
PS Если понадобится более подробная инфа (например логи OpenOCD) - пишите, все выложу.. (не стал выкладывать сразу, т.к. возможно есть тривиальный ответ на данный вопрос)) )
Стоит следующая задача. Необходимо зашить девайс с ESP32-WROOM-32D модулем на борту на производстве. Посредством JTAG. Необходимо использовать один BIN - файл, который "суммирован" из bootloader.bin, partitions_singleapp.bin и app.bin. Был успешно создан единый файл посредством функции CombineBin из утилиты FLASH DOWNLOAD TOOL V3.6.5. При "визуальном" осмотре файла ничего "необычного" не обнаружилось: с начала файла до смещения 0х1000 были 0xFF. Начиная с адреса 0x8000 расположилась partition_table и с адреса 0x10000 начиналась прикланой код. Как и положено "пустые места" в файле были заполненны 0xFF.
Логично ожидать, что необходимо запустить процедуру прошивки начиная с нуля. Т.е. команда для прошивки должна выглядеть так: "program_esp32 app.bin 0x0000 verify exit". Но не получилось! %)
OpenOCD (Open On-Chip Debugger v0.10.0-esp32-20190313 (2019-03-13-09:57)) выругался следующим образом:
Info : Configured 2 cores
esp32 interrupt mask on
Info : J-Link V10 compiled Jan 7 2020 16:51:47
Info : Hardware version: 10.10
Info : VTarget = 3.322 V
Info : clock speed 1000 kHz
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : esp32: Debug controller 0 was reset (pwrstat=0x5F, after clear 0x0F).
Info : esp32: Core 0 was reset (pwrstat=0x5F, after clear 0x0F).
Info : Listening on port 3333 for gdb connections
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Error: Exception reading epc6!
Info : Target halted. PRO_CPU: PC=0x00000000 (active) APP_CPU: PC=0x00000000
Info : esp32: Debug controller 0 was reset (pwrstat=0x5F, after clear 0x0F).
Info : esp32: Core 0 was reset (pwrstat=0x5F, after clear 0x0F).
Info : esp32: Debug controller 1 was reset (pwrstat=0x5F, after clear 0x5F).
Info : esp32: Core 1 was reset (pwrstat=0x5F, after clear 0x5F).
Info : Target halted. PRO_CPU: PC=0x40007BA1 (active) APP_CPU: PC=0x00000000
Info : esp32: Core 0 was reset (pwrstat=0x1F, after clear 0x0F).
Info : Target halted. PRO_CPU: PC=0x40000400 (active) APP_CPU: PC=0x40000400
** Programming Started **
auto erase enabled
Info : Target halted. PRO_CPU: PC=0x4009171A (active) APP_CPU: PC=0x40000400
Warn : Empty flash mapping!
Warn : Failed to get flash mappings (0)!
Info : Target halted. PRO_CPU: PC=0x4009171A (active) APP_CPU: PC=0x40000400
Info : Target halted. PRO_CPU: PC=0x4009171A (active) APP_CPU: PC=0x40000400
Info : Auto-detected flash size 4096 KB
Info : Using flash size 4096 KB
Error: Invalid offset!
Error: failed erasing sectors 0 to 110
** Programming Failed **
shutdown command invoked
Warn : Flash driver of esp32.flash does not support free_driver_priv()
Warn : Flash driver of irom does not support free_driver_priv()
Warn : Flash driver of drom does not support free_driver_priv()
Очевидно, что offset не понравился! А про failed erasing sectors 0 to 110 ничего не могу сказать.. Не знаю..
Прокомментируйте, пожалуйста, кто в теме! Может мы что-то делаем не так?
И еще хотелось бы узнать, был ли у кого опыт запуска в серийное производство девайсов с ESP32? Был бы интересен обмен опытом в этом вопросе(например тестирование радочастотных узлов, граничное сканирование и т.д.)!
Заранее благодарю!
С уважением, Олег.
PS Если понадобится более подробная инфа (например логи OpenOCD) - пишите, все выложу.. (не стал выкладывать сразу, т.к. возможно есть тривиальный ответ на данный вопрос)) )