2026-01-05 09:40:42 +08:00
|
|
|
|
/*
|
|
|
|
|
|
* launcher_fun.h
|
|
|
|
|
|
*
|
|
|
|
|
|
* Created on: Jul 28, 2025
|
|
|
|
|
|
* Author: cc
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef _BOOTLOAD_FUN_H_
|
|
|
|
|
|
#define _BOOTLOAD_FUN_H_
|
|
|
|
|
|
|
|
|
|
|
|
#include "ch564.h"
|
|
|
|
|
|
#include "uart.h"
|
|
|
|
|
|
#include "mcu_flash.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define BCOMM_CMD_Handshake 0xC0
|
|
|
|
|
|
#define BCOMM_CMD_Jump 0xC1
|
|
|
|
|
|
#define BCOMM_CMD_SetInfo 0xC2
|
|
|
|
|
|
#define BCOMM_CMD_WriteFlash 0xC3
|
|
|
|
|
|
#define BCOMM_CMD_ReadFlash 0xC4
|
|
|
|
|
|
#define BCOMM_CMD_EraseFlash 0xC5
|
|
|
|
|
|
#define BCOMM_CMD_WriteEEPROM 0xC6
|
|
|
|
|
|
#define BCOMM_CMD_ReadEEPROM 0xC7
|
|
|
|
|
|
#define BCOMM_CMD_EraseEEPROM 0xC8
|
|
|
|
|
|
#define BCOMM_CMD_CheckData 0xC9
|
|
|
|
|
|
|
|
|
|
|
|
#define BCOMM_CMD_ReplySUCC 0x00
|
|
|
|
|
|
#define BCOMM_CMD_ReplyFAIL 0x01
|
|
|
|
|
|
|
|
|
|
|
|
#define BCOMM_ParaSize 4096
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
|
|
{
|
|
|
|
|
|
BCOMM_FMT_TXAddr,
|
|
|
|
|
|
BCOMM_FMT_SN,
|
|
|
|
|
|
BCOMM_FMT_TYPE,
|
|
|
|
|
|
BCOMM_FMT_RXAddr,
|
|
|
|
|
|
BCOMM_FMT_LEN_L,
|
|
|
|
|
|
BCOMM_FMT_LEN_H,
|
|
|
|
|
|
BCOMM_FMT_CKS,
|
|
|
|
|
|
BCOMM_FMT_CMD,
|
|
|
|
|
|
BCOMM_FMT_PARAM,
|
|
|
|
|
|
}BOOTLOAD_COMM_FMT_e;
|
|
|
|
|
|
|
|
|
|
|
|
#define UPDATE_RECORD_INFO_Size 0x28
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
|
|
2026-01-19 16:39:22 +08:00
|
|
|
|
/* - Ŀǰ<C4BF><C7B0>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>һ<EFBFBD>£<EFBFBD><C2A3>ⲿ<EFBFBD><E2B2BF>Flashд<68><D0B4><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>¼<EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
|
|
|
|
|
|
* - Launcher<EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MCU Flash д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>ⲿFlash<EFBFBD>а<EFBFBD><EFBFBD>˵ĵ<EFBFBD>MCU Flash<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>Launcher<EFBFBD>н<EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿFlash<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD> APP<EFBFBD><EFBFBD>Ҳ<EFBFBD>ǿ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD>
|
|
|
|
|
|
* - <EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ⲿFlash <EFBFBD>̼<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
*
|
|
|
|
|
|
* */
|
2026-01-05 09:40:42 +08:00
|
|
|
|
|
|
|
|
|
|
uint32_t mcuflash_fw_count; //MCU flash <20>̼<EFBFBD>д<EFBFBD><D0B4><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>
|
|
|
|
|
|
uint32_t mcuflash_fw_succ; //MCU flash <20>̼<EFBFBD>д<EFBFBD><D0B4><EFBFBD>ɹ<EFBFBD><C9B9>ܴ<EFBFBD><DCB4><EFBFBD>
|
|
|
|
|
|
uint32_t mcuflash_fw_fail; //MCU flash <20>̼<EFBFBD>д<EFBFBD><D0B4>ʧ<EFBFBD><CAA7><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
}UPDATE_RECORD_T;
|
|
|
|
|
|
|
2026-01-19 16:39:22 +08:00
|
|
|
|
extern G_SYS_FEATURE_T g_app_feature; //SPI Flash APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
extern G_SYS_FEATURE_T g_mcu_app_feature; //MCU Flash APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
extern G_SYS_FEATURE_T g_update_flag; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ
|
|
|
|
|
|
extern UPDATE_RECORD_T g_update_recode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
|
2026-01-05 09:40:42 +08:00
|
|
|
|
|
|
|
|
|
|
extern uint8_t g_jump_flag; //<2F><>ת<EFBFBD><D7AA>־λ
|
|
|
|
|
|
extern uint32_t g_Boot_Tick; //Bootʱ<74><CAB1><EFBFBD><EFBFBD> <20><>λ<EFBFBD><CEBB>ms
|
|
|
|
|
|
extern uint32_t g_Boot_Time; //Bootʱ<74><CAB1> <20><>λ<EFBFBD><CEBB>ms
|
|
|
|
|
|
|
|
|
|
|
|
uint16_t CRC16_Check(uint8_t * aStr, uint16_t len);
|
|
|
|
|
|
uint8_t Launcher_Uart_Upgrade_Process(UART_t *g_rev);
|
|
|
|
|
|
|
|
|
|
|
|
uint8_t Read_APP_Feature(void);
|
|
|
|
|
|
uint8_t MCU_APP_Write(void);
|
|
|
|
|
|
uint8_t SPIFLASH_Read_Update_Recode(UPDATE_RECORD_T *info);
|
|
|
|
|
|
uint8_t SPIFLASH_Write_Update_Recode(UPDATE_RECORD_T *info);
|
2026-01-19 16:39:22 +08:00
|
|
|
|
uint8_t SPIFLASH_Read_APP_Update_Flag_Info(G_SYS_FEATURE_T *feature_info);
|
|
|
|
|
|
uint8_t SPIFLASH_Write_APP_Upate_Flag_Info(G_SYS_FEATURE_T *flag_info);
|
2026-01-05 09:40:42 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* MCU_DRIVER_INC_LAUNCHER_FUN_H_ */
|