Files
templates/c/protocan-boot/ports/stm32-common/pcan_boot_stm32.h
T
Andrey c6390ae1c9 feat(protocan-boot): Добавь порты MCU и сервисы загрузки
Обеспечь единый процесс обновления для STM32F103/F407/G474 и TMS320F2812/F28335: discovery, служебные ответы, BUSY, тайм-аут сессии и подтверждение приложения. Добавь самостоятельные проекты CCS, аппаратные хранилища и Python-клиент.

Совместимость: структуры конфигурации и порта расширены, поэтому потребители должны пересобраться и обнулить новые поля. Для C28x callbacks используют pcan_boot_byte_t; периодический pcan_boot_poll обслуживает discovery и настроенный тайм-аут.
2026-10-23 14:16:19 +03:00

11 lines
1.4 KiB
C

#ifndef PCAN_BOOT_STM32_H /* Защищает общие объявления двух STM32-портов от повторного включения. */
#define PCAN_BOOT_STM32_H /* Фиксирует включение интерфейса single-slot загрузчика. */
#include "../../include/pcan_boot.h" /* Использует актуальные именованные поля конфигурации и callbacks ядра. */
typedef struct { /* Состояние принадлежит одному загрузчику и одному выделенному bxCAN. */
pcan_boot_t boot; /* Хранит сессию, manifest, CRC потока и состояние общего автомата. */
void *can; /* Ссылается на CAN_HandleTypeDef bxCAN либо FDCAN_HandleTypeDef G474; время жизни задаёт проект. */
uint32_t written; /* Следующее допустимое смещение записи, в байтах от начала приложения. */
bool ready; /* Разрешает reset только после проверки Flash и успешного COMMIT текущего образа. */
} pcan_boot_stm32_t; /* Не содержит startup, main или обработчиков прерываний проекта. */
#endif /* Завершает общий интерфейс STM32F103/F407. */