#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. */