初始版本
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
#ifndef __MAIN_H
|
||||
#define __MAIN_H
|
||||
#include "bsp.h"
|
||||
#include "UartDebug.h"
|
||||
|
||||
#define CRC16_BASE 0xA001
|
||||
|
||||
#define APP_START_FLAG 0x55AA5A5A
|
||||
#define APP_UPDATE_FLAG 0xA5A5AA55
|
||||
|
||||
typedef enum {
|
||||
UPDATE_CMD_NULL,
|
||||
UPDATE_CMD_SLAVE_RES, //从机应答主机下发
|
||||
UPDATE_CMD_SLAVE_REQ_DATA, //从机请求主机下发数据
|
||||
UPDATE_CMD_MASTER_REQ = 0x81, //主机请求升级
|
||||
UPDATE_CMD_MASTRE_RES_DATA, //主机发送数据
|
||||
}UpdateCmd_m;
|
||||
|
||||
//帧头结构体
|
||||
typedef struct {
|
||||
uint8_t Header;
|
||||
uint8_t DevMac[6];
|
||||
uint8_t Cmd;
|
||||
uint8_t PayloadLen;
|
||||
}__attribute__ ((packed))FrameHeader_t, *FrameH;
|
||||
|
||||
//主机下发升级请求载荷结构体
|
||||
typedef struct {
|
||||
uint16_t PackageNum;
|
||||
uint32_t AppSize;
|
||||
uint32_t AppCrc32;
|
||||
}__attribute__ ((packed))UpDataRequset_t, *UDReq;
|
||||
|
||||
//从机请求下发结构体
|
||||
typedef struct {
|
||||
uint16_t PackageIndex;
|
||||
uint32_t PackageNum;
|
||||
}__attribute__ ((packed))GetDataRequest_t, *GDReq;
|
||||
|
||||
//主机应答下发数据结构体
|
||||
typedef struct {
|
||||
uint16_t PackageIndex;
|
||||
uint16_t PackageNum;
|
||||
uint8_t DataLen;
|
||||
}__attribute__ ((packed))DownResponse_t, *DownRes;
|
||||
|
||||
typedef enum {
|
||||
BL_IDLE,
|
||||
BL_ERASE_FLASH,
|
||||
BL_GET_DATA,
|
||||
BL_WAIT_REV,
|
||||
BL_GET_DATA_TIMEOUT,
|
||||
BL_START_APP,
|
||||
BL_RESET
|
||||
}BootStatus_m;
|
||||
|
||||
typedef struct {
|
||||
BootPara_t Para;
|
||||
BootStatus_m Status;
|
||||
|
||||
uint32_t AppPackageCnt;
|
||||
uint32_t AppPackageIdx;
|
||||
uint32_t RevErrCnt;
|
||||
|
||||
uint32_t FeedDogDlyCnt;
|
||||
uint32_t BootLoader1mSDlyCnt;
|
||||
|
||||
bool RxFlag;
|
||||
uint32_t UartRevTimeOutCnt;
|
||||
uint8_t RxBuff[260];
|
||||
uint16_t RxLen;
|
||||
uint16_t UpDateFlag;
|
||||
}BootLoader_t;
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user