Возможность безопасного полевого обновления встроенного программного обеспечения (IAP — In-Application Programming и OTA — Over-The-Air) является обязательным требованием как для промышленных инверторов и серверных блоков питания на базе микроконтроллеров NSSine™ NS800RT, так и для интеллектуальных автомобильных приводов (клапаны термоменеджмента, электронные дефлекторы, активные решётки радиатора) на базе чипов NovoGenius® NSUC1610 / NSUC1602 / NSUC1612. В настоящем руководстве объединены две ключевые методики из официальных технических статей Novosense.
1. Архитектура внутрисхемного обновления IAP для микроконтроллера NS800RT5039
Микроконтроллер реального времени NS800RT5039 оснащён встроенной энергонезависимой памятью Flash с поддержкой кода коррекции ошибок (ECC) и аппаратным криптографическим контролем целостности:
- Разметка памяти (Bootloader + Application): начальные сектора Flash-памяти отводятся под защищённый от перезаписи загрузчик (Bootloader), а оставшееся пространство делится на активный раздел приложения и буферный раздел (либо используется схема с внешним QSPI-накопителем).
- Перенос драйвера Flash API в ОЗУ (ITCM/SRAM): поскольку во время стирания и программирования сектора чтение инструкций из того же банка Flash невозможно, функции стирания/записи и таблица векторов прерываний на время операции копируются и исполняются из сверхбыстрой памяти инструкций ITCM.
- Контроль целостности и защита от сбоя питания: заголовок образа прошивки содержит контрольную сумму CRC32 и магический маркер валидности, который записывается в последнюю очередь после полной верификации всех страниц приложения. При пропадании питания во время обновления загрузчик при следующем старте автоматически остаётся в режиме ожидания повторной загрузки по интерфейсу SCI (UART), CAN FD или SPI.
2. Защищённое обновление прошивки по шине LIN (LIN OTA + UDS) на базе NSUC1610-Q1
Автомобильные исполнительные механизмы на базе интегрированного SoC NSUC1610-Q1 (ARM Cortex-M3 + LIN-трансивер + 4-полумостовой драйвер) подключаются к зональному контроллеру по однопроводной шине LIN со скоростью до 19,2 кбит/с:
- Стек протоколов ISO 17987-2 (LIN TP) + ISO 14229 (UDS): диагностические запросы передаются через стандартные кадры диагностики ведущего (`0x3C`) и ведомого (`0x3D`) узлов. Реализуется стандартная последовательность сервисов UDS: переход в сессию программирования (`0x10 0x02`), разблокировка защищённого доступа (`0x27 SecurityAccess` по алгоритму Seed & Key), стирание памяти (`0x31 RoutineControl`), запрос загрузки (`0x34 RequestDownload`), поблочная передача данных (`0x36 TransferData`), завершение передачи (`0x37 RequestTransferExit`) и аппаратный сброс (`0x11 ECUReset`).
- Криптографическая проверка подлинности прошивки (SHA256 + RSA2048): для соответствия требованиям автомобильной кибербезопасности ISO/SAE 21434 перед активацией загруженного образа загрузчик NSUC1610-Q1 вычисляет хеш-сумму прошивки по алгоритму SHA-256 и проверяет цифровую подпись RSA-2048 с помощью публичного ключа автопроизводителя, хранящегося в защищённой области памяти.
- Оптимизация времени обновления по шине LIN: за счёт конвейерной записи страниц Flash параллельно с приёмом следующего транспортного блока LIN TP полное обновление прикладной прошивки узла NSUC1610-Q1 выполняется за минимальное время без нарушения таймингов сети LIN.
3. Источники
- Реализация внутрисхемного обновления IAP на микроконтроллере NS800RT5039 (novosns.com)
- Архитектура защищённого обновления прошивки LIN OTA для автомобильного SoC NSUC1610 (novosns.com)
Источник: Технические статьи Novosense (2026-05) · открыть материал на novosns.com



