protocan-boot: support single-slot targets

This commit is contained in:
2026-08-31 01:06:16 +03:00
parent 5f3a9879d5
commit 648457e587
4 changed files with 67 additions and 6 deletions

View File

@@ -2,7 +2,7 @@
`protocan-boot` — переносимое C99-ядро адресной прошивки приборов по classic
CAN 2.0B и 29-битному ProtoCAN ID. Оно реализует сессию обновления, два
логических слота по 512 КиБ, последовательную запись 8-байтовых блоков,
логических слота по 512 КиБ либо single-slot обновление, последовательную запись 8-байтовых блоков,
CRC32, проверку совместимости, продолжение по номеру следующего блока и
безопасный выбор неактивного слота.
@@ -10,6 +10,11 @@ CRC32, проверку совместимости, продолжение по
linker script, обработчиков прерываний, криптографии и перехода в приложение.
Эти операции предоставляет проект через таблицу callbacks.
Для STM32G474VET6 из `candleLight_fw` задаются `slot_count = 1` и
`max_image_size = 480 * 1024`. В этом режиме запись идёт в единственную
область приложения, callback `set_pending_slot` не требуется, а аппаратный
rollback недоступен. Значение `slot_count = 0` сохраняет прежний A/B-режим.
## Слои
```text