Комментарии 19
Спасибо за ваш труд по переводу книги) В этой книге не рассказывается про два алгоритма выбора каналов в BLE. Если будет «свободное время», то было бы интересно почитать и разобраться в этих алгоритмах. Судя по всему, вы плотно работаете со стандартом Bluetooth и различными его плюшками, протоколами и тд и тп, и во многих вещах разбираетесь )))))
А можете посоветовать какой-нибудь микроконтроллер с встроенным BLE? Желательно с прицелом на IoT
Большой популярностью пользуются нордики различных серий. Мне нравится Dialog Semi: очень разнообразная линейка. Например, у DA14695 на борту свежий BLE, cortex M33 для приложений, специальное ядро с низким потреблением для опроса сенсоров ( чтобы основное не будить лишний раз), зарядное для батарей, несколько конфигурируемый линий питания, контроллер дисплея, etc etc и все занедорого. Правда корпус не очень дружелюбный.
Не все, мой текущий, например, выполняет код из флешки, подключённой по QSPI. В разработке — вполне норм. Для меня на данный момент образец боли это CYW54907 от Cypress
Загрузчик у них хранится вообще в ROM, которая зашита диалогом. Стартует он по хард ресету и ищет скрипт конфигурации, который может находиться либо в otp, либо во flash, либо вообще отсутствовать. Соответственно, единственная точка управления загрузкой — этот скрипт. В нём могут храниться пары регистр-значение, всякие калибровочные значения, а так же адрес вторичного загрузчика во флэше. Всё это в определённом формате.
Некоторые области OTP также используются для хранения ключей расшифровки прошивки налету, ключей проверки подписи загрузочного образа и пользовательских ключей. Доступ к этим областям можно ограничить специальным каналом дма.
Также есть пользовательская область OTP, её можно использовать как угодно, например для хранение кода самописного загрузчика.
Таким образом, otp может являться только вторичным загрузчиком.
Что касается шифрования образа — это делается утилитами, предоставляемого диалогом SDK. Можно и без них, но я лично так не делал. Затем зашифрованный образ зашивается во флэш и делается соответствующая (неотменяемая) запись в otp, разрешающая secure boot. После чего образ проверяется ROM загрузчиком, после каждого ребута. И если что-то не сошлось мы получаем кирпич, вместо контроллера.
Также на продакшн можно отключить дебаггер, завершить скрипт конфигурации и запретить доступ к отп каким либо иным способом, кроме защищённого канала DMA.
Тогда, в отличие от первого случая, будет абсолютный кирпич)
можете посоветовать какой-нибудь микроконтроллер с встроенным BLE?
cc2642r1f, cc2652r1f ,nRF5340
Чем BLE Pairing отличается от BLE Bonding?
При пейринге ключи шифрования не сохраняются. Отключили девайс - при следующем подключении пейрим снова.
При бондинге ключи сохраняются, соответственно не нужно повторять процедуру пейринга каждый раз.
Получается для работы bonding(га) нужна энергонезависимая память. Так?
Сколько бит ключи шифрования в BLE?
В BLE есть Serial Port Profile (SPP)?
Можно ли собрать стек BLE на NoRTOS прошивках?
Нужна ли BLE стеку RTOS?
Bluetooth Low Energy: подробный гайд для начинающих. Соединения и сервисы