#ifndef __INTERFACE_BOOT_H_ #define __INTERFACE_BOOT_H_ #include #include #include "stdint.h" #include //#define WDTGPIO GPIO_H13 #define WDTGPIO GPIO_F5 typedef struct { volatile uint8_t canBootloaderUpgrade; //CAN升级标志位 uint8_t test1; uint8_t test2; uint8_t test3; } SystemDataRecord;//这个结构体需与APP同步 typedef enum{ NORMAL_ON = 0, CAN_BOOTLOADER_UPGRADE, }UpgradeFlag; #define Update_Flg_E2adr 0x0 //占用1个字节 #define BOOT0_VERSION_E2adr 0x1 //占用5个字节 日期+时间+版本号 20 24 08 08 01 #define BOOT1_VERSION_E2adr 0x6 //占用5个字节 日期+时间+版本号 20 24 08 08 01 #define APP_VERSION_E2adr 0xB //占用5个字节 日期+时间+版本号 20 24 08 08 01 #define BOOT_DES_IP 0x10 //占用4个字节 下载IP 192.168.17.3 #define ENTER_UPDATE_MODE 0x1 #define READ_VERSION 0x100 #define CRC_UPDATE 0x101 #define Write_VERSION 0x103 #define ENTER_APP 0x102 #define EXCUTE_APP 0x02 #define FEEDDOG_HEADER 0x200 //接收到的喂狗can帧帧头 //外部函数 void bootmian(void *signal_id); void reboot_global(sdrv_rom_ctrl_boot_mode_e boot_mode); void bootInterfaceInit(void); //外部变量 extern uint32_t OTA_CANTxID;//默认发送ID为0x02 extern uint32_t OTA_CANRxID;//默认接收ID为0x01 extern uint32_t WDT_CANRxID;//默认接收ID为0x03 extern SystemDataRecord g_systemDataRecord ; extern uint16_t FrameHeader;//帧头 extern bool boot_can_flag;//帧头 extern bool boot_eth_flag;//帧头 //喂狗 extern void feedWatchdog(void); #endif /*__INTERFACE_BOOT_H_*/