Files
E3/interface_boot.h
2025-10-04 16:06:55 +08:00

70 lines
1.7 KiB
C

#ifndef __INTERFACE_BOOT_H_
#define __INTERFACE_BOOT_H_
#include <stdbool.h>
#include <stdio.h>
#include "stdint.h"
#include <rom_ctrl/rom_ctrl.h>
//#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_*/