70 lines
1.6 KiB
C
70 lines
1.6 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_*/
|
|
|
|
|