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) прошивает двоичный файл прошивки с диска вместо входящего в комплект релиза – путь развёртывания для прошивки, собранной из исходного кода, со встроенными замороженными скриптами или пользовательской конфигурацией. Диалог принимает либо двоичный файл прошивки, либо выходной .zip-архив сборки платы (IDE распаковывает его и прошивает содержащиеся в нём прошивку и файловую систему ROM), плюс те же флажки стирания файловой системы и сброса 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 явно выполняет шаг перезагрузки в загрузчик для камеры, которая всё ещё подключается. У плат также есть аппаратный способ принудительно войти в загрузчик при включении питания для худшего случая; страница краткого справочника каждой платы описывает её конкретную процедуру.