Проект менеджера загрузочных образов (BIM) демонстрирует, как выбрать, скопировать и запустить образ, расположенный во внутренней флэш-памяти. Этот проект поддерживает два варианта встроенных методологий OAD. В одном случае имеется пользовательское приложение, а другой образ, присутствующий на внутренней флэш-памяти, является постоянным приложением. Другой случай — это OAD с двумя образами, где внутренняя флэш-память рассматривается как два слота и может быть два пользовательских приложения, по одному в каждом слоте. Вариант BIM с двумя изображениями обеспечивает защиту от отката, предотвращая загрузку образа с более низкой версией безопасности, чем текущий действительный образ, если он присутствует. Вариант с двумя изображениями также поддерживает опциональное переключение между двумя действительными изображениями или удаление недействительных изображений. BIM всегда выполняет проверку подписи и проверку версии безопасности, если применимо, чтобы признать образ действительным и загрузить его.
Этот проект не зависит от какого-либо стека протоколов.
Информацию о специальном оборудовании см. в разделе **Запуск SDK на специальном оборудовании** в [Руководстве пользователя BLE5-Stack](../../../../../docs/ble5stack/ble_user_guide/ble5stack- пользователи-guide.html).
Предварительные требования к программному обеспечению
Информацию о том, какие версии Code Composer Studio и IAR Embedded Workbench использовать, см. в разделе зависимостей примечаний к выпуску, расположенном в корневой папке SDK.
Информацию о том, как импортировать этот проект в рабочую область IDE и выполнить сборку/запуск, см. в разделе «Платформа» устройства в [Кратком руководстве по началу работы с BLE5-Stack](../../../../../ docs/simplelink_mcu_sdk/html/quickstart-guide/ble5-quick-start.html).
Применение
**Примечание: проект «bim_onchip» должен быть записан на устройство при использовании встроенного OAD, иначе устройство не будет работать правильно после прошивки постоянного приложения и образов пользовательских приложений в том же порядке, который указан здесь. **
Этот проект не зависит от какого-либо стека протоколов.
Для встроенного BIM предусмотрено пять конфигураций сборки:
`Release_unsecure`
`Debug_unsecure`
`Release`
`Debug`
`Dual_image`
`Release_unsecure` должен быть прошит при прошивке пользовательского приложения .bin и выполнении незащищенного OAD, т. е. перед выполнением вновь переданного (OAD) образа НЕ выполняется аутентификация образа.
«Release» следует использовать при выполнении безопасного OAD, т. е. аутентификацию изображения необходимо выполнить перед выполнением вновь переданного изображения.
«Debug» версии предоставляются для целей отладки, т. е. когда образ приложения загружается с помощью отладчика в IDE. В этом режиме этап вычисления CRC или подписи образа после сборки не выполняется, и, следовательно, знак или CRC недоступны в заголовке образа, загруженного во внутреннюю флэш-память с помощью отладчика.
Кроме того, в конфигурациях отладки доступны светодиодные индикаторы для визуальной обратной связи.
Дополнительные возможности
Следующие определения были добавлены в выпуск за четвертый квартал 2020 года. Они обеспечивают дополнительную безопасность и улучшают время загрузки. По умолчанию они не используются, поэтому сохраняется обратная совместимость.
`AUTHENTICATE_PERSISTENT_IMG` — это можно использовать для обеспечения дополнительной безопасности вашего решения OAD. Если это определено, BIM проверит CRC постоянного изображения, аутентифицирует подпись и удостоверится, что адрес prgEntry находится в пределах границ изображения. Все вышеперечисленные улучшения безопасности полезны только в том случае, если ваш постоянный образ подписан с помощью oad_image_tool на этапе после сборки.
Определения `APP_HDR_LOC` и `PERSIST_HDR_LOC` могут использоваться для предварительного определения местоположения U-App и P-App соответственно. Это полезно только в том случае, если вы знаете конкретное местоположение вашего U-App или P-App перед запуском продукта в эксплуатацию. Определив `PERSIST_HDR_LOC`, вы также увидите улучшенное время загрузки BIM, поскольку BIM больше не нужно искать во внутренней флэш-памяти заголовок P-App.
Аналогично, в варианте BIM с двойным изображением поддерживаются следующие дополнительные функции:
`FEATURE_SWITCH_VALID_IMAGES` — при включении этого макроса включается функция переключения между двумя допустимыми образами встроенных приложений. Чтобы оба изображения были действительными, они должны иметь одинаковую версию безопасности, за исключением прохождения других проверок, таких как CRC, проверка подписи и т. д. По умолчанию эта функция отключена.
`BIM_ERASE_INVALID_IMAGE` — при включении этого макроса недействительные изображения будут удалены BIM.