29 lines
1.7 KiB
C
29 lines
1.7 KiB
C
#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
|