Files
RCU_C1P_Launcher/MCU_Driver/inc/bootload_fun.h
caocong 094fd76a72 新增:首次提交
首次提交,上传Launcher工程
2026-01-05 09:40:42 +08:00

85 lines
2.5 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* 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 {
uint32_t spiflash_fw_count; //外部flash 固件写入总次数
uint32_t spiflash_fw_succ; //外部flash 固件写入成功总次数
uint32_t spiflash_fw_fail; //外部flash 固件写入失败总次数
uint32_t spiflash_logic_count; //外部flash 配置写入总次数
uint32_t spiflash_logic_succ; //外部flash 配置写入成功总次数
uint32_t spiflash_logic_fail; //外部flash 配置写入失败总次数
uint32_t mcuflash_fw_count; //MCU flash 固件写入总次数
uint32_t mcuflash_fw_succ; //MCU flash 固件写入成功总次数
uint32_t mcuflash_fw_fail; //MCU flash 固件写入失败总次数
uint32_t mcuflash_fw_failcount; //MCU flash 固件当前写入失败次数,每次更新固件后清除该计数
}UPDATE_RECORD_T;
extern G_SYS_FEATURE_T g_app_feature;
extern G_SYS_FEATURE_T g_mcu_app_feature;
extern UPDATE_RECORD_T g_update_recode; //升级信息
extern uint8_t g_jump_flag; //跳转标志位
extern uint32_t g_Boot_Tick; //Boot时间戳 单位ms
extern uint32_t g_Boot_Time; //Boot时间 单位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);
void Jump_APP(uint32_t addr);
#endif /* MCU_DRIVER_INC_LAUNCHER_FUN_H_ */