#ifndef F28335_CAN_BOOT_H #define F28335_CAN_BOOT_H #include "../../include/pcan_boot.h" /* Приложение задаёт версию из firmware_version.h до подключения этого заголовка. * Формат поля FW: major[31:24], minor[23:16], patch[15:0]. Ноль — запасное * значение при отсутствии версии сборки, а не прошитая здесь версия устройства. */ #ifndef F28335_CAN_BOOT_FIRMWARE_VERSION #define F28335_CAN_BOOT_FIRMWARE_VERSION 0UL /* Board supplies the build identity. */ #endif /* Адрес ProtoCAN состоит из Device Type (3 бита) и Device ID (4 бита). * ProductType — отдельный код совместимости прошивки; это не CAN ID и не RS-адрес. */ #define F28335_CAN_BOOT_DEVICE_TYPE 3U #define F28335_CAN_BOOT_DEVICE_ID 7U #define F28335_CAN_BOOT_PRODUCT 0x2833U #define F28335_CAN_BOOT_DEVICE_NAME "F28335-M95M02" /* Порядок интеграции приложения: * StartupWatchdog/EarlyInit сразу после InitSysCtrl; Init после настройки * таймера и EEPROM; Ready после старта прикладных подсистем; Service в main. * RxISR вызывается из CAN ISR, WatchdogAllowed проверяется перед кормлением * watchdog таймерным ISR. Resume применяется только отдельным загрузчиком. */ void F28335CanBoot_Init(void); void F28335CanBoot_EarlyInit(void); void F28335CanBoot_RxISR(void); void F28335CanBoot_Service(void); void F28335CanBoot_Ready(void); void F28335CanBoot_Resume(unsigned int session); unsigned int F28335CanBoot_WatchdogAllowed(void); #endif