14.1.1.5. Відновлення завантажувача¶
Звичайне оновлення мікропрограми ніколи не торкається завантажувача, тому перерване оновлення мікропрограми майже завжди можна відновити: повторно виконайте ту саму команду прошивки з Прошивка мікропрограми (dfu-util -w очікує на пристрій) або повторно запустіть Load Custom Firmware, поки камера ще перебуває у режимі завантажувача. Ця сторінка охоплює рідший випадок, коли сам завантажувач пошкоджений і камера більше не розпізнається як пристрій DFU під час скидання.
Завантажувач розташований в окремому регіоні флеш-пам’яті від мікропрограми та файлової системи, і кожна камера з маркою OpenMV має апаратний шлях повернення, тому камеру практично неможливо зробити назавжди непридатною. Плати Arduino є єдиним винятком – їхні завантажувачі зафіксовані і не підлягають відновленню користувачем.
OpenMV IDE автоматизує всі ці процедури відновлення, проводячи вас через апаратні кроки (перемички, перемикачі, кнопки) по ходу. Розділи нижче документують, що IDE робить для кожної родини камер, на випадок якщо ви хочете виконати відновлення самостійно.
14.1.1.5.1. Камери STM32 (перемичка BOOT–RST)¶
Для камер OpenMV на базі STM32 (M4, M7, H7, H7 Plus, Pure Thermal):
Від’єднайте камеру.
З’єднайте перемичкою виводи BOOT і RST.
Підключіть знову. Камера тепер розпізнається як ST системний пристрій DFU (
0483:df11), незалежно від пошкодженої мікропрограми.Перепрошийте лише завантажувач – OpenMV IDE Load Custom Firmware з
bootloader.bin, або:dfu-util -w -d ,0483:df11 -a 0 -s 0x08000000 -D bootloader.binЗніміть перемичку та підключіть знову.
Прошийте мікропрограму у звичайному режимі (див. Прошивка мікропрограми).
14.1.1.5.2. OpenMV Cam N6 (перемичка BOOT–VCC)¶
Від’єднайте камеру.
З’єднайте перемичкою виводи BOOT і VCC.
Підключіть знову. Камера тепер розпізнається як ST системний пристрій DFU (
0483:df11), незалежно від пошкодженого завантажувача.Перепрошийте за допомогою STM32CubeProgrammer (входить до OpenMV SDK), використовуючи дескриптор розмітки флеш-пам’яті, що постачається разом із
bootloader.bin– він перезаписує першостадійний завантажувач, завантажувач зовнішньої флеш-пам’яті та завантажувач:STM32_Programmer_CLI -c port=USB1 -d OPENMV_N6/FlashLayout.tsvЗніміть перемичку та підключіть знову.
Прошийте мікропрограму у звичайному режимі (див. Прошивка мікропрограми).
14.1.1.5.3. OpenMV Cam RT1062¶
Відновлення захищеного завантажувача RT1062 вимагає переходу в режим ROM serial-download (SDP) чіпа за допомогою перемички, завантаження RAM-завантажувача, а потім перезапису блоку конфігурації флеш-пам’яті, SBL і мікропрограми. Ручна послідовність:
Від’єднайте камеру, з’єднайте перемичкою виводи SBL і 3.3V, та підключіть знову. Чіп розпізнається в режимі SDP ROM (
0x1FC9:0x0135).Завантажте та запустіть RAM-завантажувач:
sdphost -u 0x1FC9,0x0135 -- write-file 0x20001C00 sdphost_flash_loader.bin sdphost -u 0x1FC9,0x0135 -- jump-address 0x20001C00
Тепер камера відповідає як завантажувач (
0x15A2:0x0073). Налаштуйте зовнішню флеш-пам’ять, запишіть блок конфігурації флеш-пам’яті, потім запишіть SBL:blhost -u 0x15A2,0x0073 -- fill-memory 0x2000 4 0xC0000008 word blhost -u 0x15A2,0x0073 -- configure-memory 9 0x2000 blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60000000 0x1000 blhost -u 0x15A2,0x0073 -- fill-memory 0x2000 4 0xF000000F word blhost -u 0x15A2,0x0073 -- configure-memory 9 0x2000 blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60001000 <sbl_size> blhost -u 0x15A2,0x0073 -- write-memory 0x60001000 blhost_flash_loader.bin
Запишіть мікропрограму та встановіть фьюз джерела завантаження, щоб чіп завантажувався з нового SBL із зовнішньої флеш-пам’яті:
blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60040000 <firmware_size> blhost -u 0x15A2,0x0073 -- write-memory 0x60040000 firmware.bin blhost -u 0x15A2,0x0073 -- efuse-program-once 0x06 00000010 blhost -u 0x15A2,0x0073 -- reset
Зніміть перемичку та перезапустіть камеру.
Попередження
efuse-program-once 0x06 00000010 – це одноразовий, незворотній запис фьюза, який налаштовує пристрій на завантаження із зовнішньої флеш-пам’яті. Це ще одна причина довірити відновлення завантажувача RT1062 OpenMV IDE, а не виконувати послідовність вручну.
14.1.1.5.4. OpenMV AE3¶
Захищений завантажувач AE3 не відновлюється через USB DFU. Він перезаписується у MRAM чіпа за допомогою Alif Semiconductor’s SE Tools (входять до OpenMV IDE) через послідовне ISP-з’єднання. Це інтерактивна процедура лише для відновлення – не звичайний метод прошивки – і вона схильна до помилок при виконанні вручну; із усього на цій сторінці саме цю операцію слід залишити OpenMV IDE.
Підключення. SE Tools взаємодіють з AE3 через послідовний ISP-порт адаптера налагодження – інтерфейс FTDI 0403:6015 або CH340 1A86:55D3, разом з J-Link. Для відновлення потрібно перевести пристрій у режим відновлення: увімкніть вбудований перемикач відновлення.
SE Tools. OpenMV IDE включає ці виконувані файли Alif. Вони використовують два конфігураційних файли – isp_config_data.cfg та global-cfg.db – які створюються maintenance при першому підключенні:
Інструмент |
Призначення |
|---|---|
|
Запит до Secure Enclave ( |
|
Оновлення системного пакету Secure Enclave, якщо його версія старіша за ту, що вимагає мікропрограма. |
|
Генерація образу таблиці змісту (TOC) (використовується для запису лише застосунку). |
|
Запис образу(-ів) у MRAM – крок, що відновлює завантажувач. |
Процедура:
Підключіться до AE3 за допомогою
maintenance; він запитує послідовний порт і тип пристрою, створюючиisp_config_data.cfgтаglobal-cfg.dbдля інших інструментів.Якщо системний пакет Secure Enclave застарів,
updateSystemPackageоновить його; перезапустіть пристрій за запитом.app-write-mram -i "bootloader.bin 0x80000000 firmware_pad.toc 0x8057E000"записує завантажувач і TOC у MRAM.AE3 повторно розпізнається як пристрій DFU
37C5:96E3. Виконайте звичайне прошивання чотирьох образів з OpenMV AE3: dfu-util для завантаження застосунку.Вимкніть живлення камери та поверніть перемикач відновлення у вимкнений стан.
Примітка
OpenMV IDE обробляє набагато більше, ніж цей щасливий шлях – пошкоджена мікропрограма Secure Enclave, несправний завантажувач та інші стани збоїв потребують власних кроків відновлення, і по дорозі може піти не так багато що. Якщо описані вище ручні кроки не повернули камеру до роботи, скористайтеся OpenMV IDE для її відновлення.