Files
Andrey 05be38a04a Обновить Flash/CAN, версии сборок и управление периферией
Добавить защищённое обновление приложения через RS и CAN с сохранением
загрузчика, проверкой CRC, восстановлением передачи и защитой EEPROM.
Подключить общий процесс сборки C2000 и автоматический счётчик версии
для согласованных RAM, Flash, CAN и паспортов бинарных образов.

Уточнить запуск ЦАП, обработку измерений и параметров нагрузки,
начальную индикацию и документацию регистров GAS.
Дополнить модели аппаратуры и изолировать заголовки CAN в тестах.

Проверка: 26 тестов выпуска, 4 теста восстановления CAN и восемь
программных моделей CAN, Flash, EEPROM, ЦАП, параметров и TESTLAMP.
2026-11-06 16:11:11 +03:00

19 lines
3.0 KiB
C

#ifndef CAN167_BOOT_H /* Исключает повторное объявление точек подключения загрузчика 167. */
#define CAN167_BOOT_H /* Один интерфейс используется главным циклом, CAN ISR и watchdog ISR. */
#include "f28335_can_application_config.h" /* Использует тот же аппаратный выбор и версию, что напрямую подключённый к CCS модуль templates. */
#if F28335_CAN_BOOT_APPLICATION_ENABLED /* Единый признак исключает расхождение интерфейса платы и реально скомпилированной общей реализации. */
#include "../protocan-boot/ports/tms320f28335/f28335_can_boot.h" /* Подключает существующий порт общей библиотеки без копирования протокола в 167. */
#include "../protocan-boot/ports/tms320f28335/f28335_boot_platform.h" /* Предоставляет handoff, ранний watchdog и определение реально запущенного слота. */
#define CAN167_AB_ENABLED 1 /* Разрешает защиту EEPROM и CAN-сервис для RAM и защищённой Flash при физически установленной M95M02. */
#else /* Остальные аппаратные варианты не получают ложного обещания A/B-обновления. */
#define CAN167_AB_ENABLED 0 /* Позволяет старым сборкам и host-моделям исключить зависимости загрузчика. */
#define F28335Boot_StartupWatchdog() ((void)0) /* Профиль AT25256B без CAN A/B сохраняет прежний watchdog приложения. */
#define F28335Boot_RunningSlot() 255U /* Значение FF означает отсутствие handoff от отдельного загрузчика. */
#define F28335CanBoot_Init(periph_id) ((void)(periph_id)) /* При выключенном A/B принимает тот же аппаратный номер, но не занимает служебные mailbox. */
#define F28335CanBoot_RxISR() ((void)0) /* Оставляет legacy CAN ISR независимым от выключенного сервиса. */
#define F28335CanBoot_Service() ((void)0) /* Главный цикл использует единый вызов для всех физических профилей. */
#define F28335CanBoot_Ready() ((void)0) /* Не публикует подтверждение кандидата, если загрузчик не подключён. */
#define F28335CanBoot_WatchdogAllowed() 1U /* Сохраняет прежнее обслуживание watchdog для самостоятельных образов. */
#endif /* Завершает выбор поддерживаемого способа загрузки. */
#endif /* Завершает защиту интерфейса CAN Boot проекта 167. */