13.1.11. Обновление и восстановление прошивки

IDE также является менеджером прошивки камеры. Каждый выпуск IDE содержит соответствующий выпуск прошивки для каждой платы, проверка версии запускается автоматически при подключении, а загрузчики для каждого семейства плат встроены — IDE определяет плату и использует нужный протокол без указаний. Чтобы поддерживать камеру в актуальном состоянии, достаточно подключить её и согласиться с предложением.

13.1.11.1. Обновление

Когда при подключении обнаруживается, что камера работает с прошивкой старее встроенного выпуска, IDE завершает подключение и затем предлагает обновление (это предложение можно отклонить навсегда). Согласитесь с ним, и IDE перезагрузит камеру в загрузчик, запрограммирует новую прошивку и переподключится. Два флажка в диалоге обновления — стирание внутренней файловой системы во флеш-памяти и сброс файловой системы ROM — изначально сняты и запоминают ваш последний выбор; если оба отключены, обновление сохраняет всё, что хранится на камере. Исключение составляет обновление с очень старой прошивки, когда диалог принудительно включает стирание и сообщает об этом предупреждением. Та же проверка запускается по требованию из записи о версии прошивки в строке состояния.

Между выпусками команда Tools → Install the Latest Development Release загружает и устанавливает текущую сборку для разработки для подключённой платы — это способ получить исправление или новую функцию, которая уже добавлена, но ещё не вышла. Сборки для разработки именно таковы; рабочие камеры должны использовать выпуски.

Независимо от прошивки, IDE при запуске проверяет, доступны ли обновлённые ресурсы — примеры, встроенная прошивка, документация — для самой IDE, и предлагает их установить. Она также сообщает, когда доступна более новая версия IDE, со ссылкой на страницу загрузки.

13.1.11.2. Загрузка пользовательской прошивки

Команда Tools → Load Custom Firmware (Ctrl+Shift+L) прошивает бинарный файл прошивки с диска вместо встроенного выпуска — это путь развёртывания для прошивки, собранной из исходного кода, с замороженными скриптами или встроенной пользовательской конфигурацией. Диалог принимает файл прошивки и те же флажки стирания файловой системы и сброса ROMFS, что и предложение обновления.

См. также

Сборка прошивки о том, как изначально собрать этот бинарный файл.

13.1.11.3. Стирание файловой системы

Команда Tools → Erase Internal FAT File System (Ctrl+Shift+E) переформатирует внутреннюю файловую систему камеры во флеш-памяти, удаляя все хранящиеся файлы — main.py, библиотеки, ресурсы, журналы — и пересоздаёт содержимое по умолчанию. Это сброс хранилища камеры к заводским настройкам: способ исправить повреждённую файловую систему и подготовить чистый лист перед передачей камеры кому-то другому. Сама прошивка и файловая система ROM не затрагиваются.

13.1.11.4. Восстановление «окирпиченной» камеры

Камеру, прошивка которой повреждена настолько, что она больше не отображается как последовательный порт, всё ещё можно спасти, потому что загрузчик находится ниже прошивки и переживает всё, кроме физического повреждения оборудования. Когда при подключении камера не найдена, IDE спрашивает, подключена ли «окирпиченная» камера, и проводит вас через восстановление: вы выбираете тип платы, IDE управляет интерфейсом загрузчика платы, и устанавливается встроенная выпускная прошивка. Команда Tools → Force enter OpenMV Cam bootloader явно выполняет шаг перезагрузки в загрузчик для камеры, которая всё ещё подключается. У плат также есть аппаратный способ принудительно войти в загрузчик при включении питания для худшего случая; страница краткого справочника каждой платы описывает её конкретную процедуру.