LL01/code_boot_out/qm/app/boot_app_cfg.h
2025-04-26 16:03:23 +08:00

177 lines
7.0 KiB
C
Raw Permalink 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.

/** ##########################################################################
** Filename :
** Project :
** Module :
** Processor :
** Version :
** Compiler :
** Date/Time :
** Abstract :
** Contents :
** Note :
**
** (c) Copyright dmdz Co.,Ltd
** --------------------------------------------------------------------------
** R E V I S I O N H I S T O R Y
** --------------------------------------------------------------------------
** Date Ver Author Description
** -20230602- --V1.0-- --mingyea--- --修改--
** #########################################################################*/
#ifndef BOOT_APP_CFG_H__
#define BOOT_APP_CFG_H__
/*---------------------------------------------------------------------------
- I N C L U D E F I L E S
----------------------------------------------------------------------------*/
#if 0
#include "common_types.h"
#include "gpio.h"
#include "flash_cfg.h"
#include "nvic.h"
#include "device_registers.h"
#else
#include "common_types.h"
#include "common_cfg.h"
#include "gpio.h"
//#include "wdog.h"
#endif
/*---------------------------------------------------------------------------
- D E F I N E S / M A C R O S
----------------------------------------------------------------------------*/
//暫時放這裡 手冊上可能不是這地址
#define FLASH_APP_BASE ((uint32_t)0x00008000) /*!< FLASH(up to 1 MB) base address in the alias region */
#define FLASH_ASW_MAX_ADDR 0x0001C000u //0X7D000-0X7FFFF 預留為其他用途
// app 的偏移地址
// app 的偏移地址
#define BOOT_APP_START FLASH_APP_BASE
#define BOOT_APP_VECTOR_OFFSET 0x00000100u
//app的起始地址
//app的起始地址
#define APP_ADRRESS_START BOOT_APP_START //(FLASH_APP_BASE + BOOT_APP_START)
#define APP_ADRRESS_VECTOR (FLASH_APP_BASE + BOOT_APP_VECTOR_OFFSET)
#define APP_VALID_FLAG_1_ADDR (APP_ADRRESS_START) //首地址,也做为标志
#define APP_VALID_ADDR_OFFSET 0x10u //0X100 //倒推回來的偏移地址
//app 的 有效標志所在的地址
#define APP_VALID_FLAG1_ADDR (APP_ADRRESS_START) //144 开头的地址,
#define APP_VALID_FLAG_ADDR (FLASH_ASW_MAX_ADDR-APP_VALID_ADDR_OFFSET) //0xFF9FF0
#define APP_VALID_FLAG_IN_ADDR 0x0001BFCCu // //(FLASH_P_BLOCK_SIZES-APP_VALID_ADDR_OFFSET) //144最大12k = 0x0008 0000
#define BOOT_CALIBRATION_START_ADDR 0x00007800u
#define APP_CALIBRATION_START_ADDR 0x0001BBCCu
#define P_APP_VALID_FLAG_ADDR_U32 ((u32 *)APP_VALID_FLAG_ADDR)
#define P_APP_VALID_FLAG_ADDR_U8 ((u8 *)APP_VALID_FLAG_ADDR)
#define FLAG_APP_VALID_FLAG_DATA 0xAAAA04E5ul //app valid flag
#define FLAG_APP_VALID_FLAG_DATA0 0xaau //app valid flag
#define FLAG_APP_VALID_FLAG_DATA1 0xaau //app valid flag
#define FLAG_APP_VALID_FLAG_DATA2 0x04u //app valid flag
#define FLAG_APP_VALID_FLAG_DATA3 0xe5u //app valid flag
//以下從 fe-5ha移植
#define FLAG_REPROGRAM_ID 0x01U
#define FLAG_RESET_ID 0x02U
#define FLAG_FINGERPRINT_ID 0x03U
//這是RAM 相關的,重擦除標志
#define FLAG_BASE_SIZE 0x04U
//CAL的起始地址
#define CAL_ADRRESS_START (FLASH_ASW_MAX_ADDR)
#define CAL_ADRRESS_LEN (0X800u)
//#define APP_USER_CONST_ADDR_OFFSET 0X800 //倒推回來的偏移地址--用戶一些用戶數據
//#define APP_USER_CONST_ADDR (FLASH_ASW_MAX_ADDR-APP_USER_CONST_ADDR_OFFSET) //144 最大512k = 0x0008 0000
#define FLAG_BASE_ADDR 0x20007FC0u //0x1200U //0x3FF8U
#define FLAG_REPROGRAM_ADDR (FLAG_BASE_ADDR + 0u) //重編程請求的地址
#define FLAG_REPROGRAM_LEN 4u
#define FLAG_REPROGRAM_DATA 0xA5A5E534U //重編程請求的值
#define FLAG_REPROGRAM_u8_DATA0 0xA5U //重編程請求的值
#define FLAG_REPROGRAM_u8_DATA1 0xA5U //重編程請求的值
#define FLAG_REPROGRAM_u8_DATA2 0xE5U //重編程請求的值
#define FLAG_REPROGRAM_u8_DATA3 0x34U //重編程請求的值
#define FLAG_JUMP_TO_BOOT_RESPONSE_ADDR (u32)(FLAG_BASE_ADDR + 0x04u) //標志用於跳轉到boot時要應答的數據
#define FLAG_JUMP_TO_BOOT_RESPONSE_LEN (4u) //標志用於跳轉到boot時要應答的數據
#define FLAG_JUMP_TO_BOOT_RESPONSE_INIT ((u32)0xaa769021) //無效值
#define FLAG_JUMP_TO_BOOT_RESPONSE_11_01 ((u32)0x554b1101) //復位的應答
#define FLAG_JUMP_TO_BOOT_RESPONSE_11_03 ((u32)0x554b1103) //復位的應答
#define FLAG_JUMP_TO_BOOT_RESPONSE_10_02 ((u32)0x554b1002) //編程的應答
#define FLAG_JUMP_TO_BOOT_RESPONSE_10_01 ((u32)0x554b1001) //默認的應答
#define FLAG_JUMP_TO_APP_RESPONSE_11_01_PRE ((u32)0x55491101) //復位的應答----因为跳转前先又进入boot所以加以区分
#define FLAG_JUMP_TO_APP_RESPONSE_11_03_PRE ((u32)0x55491103) //復位的應答
#define FLAG_JUMP_TO_APP_RESPONSE_10_02_PRE ((u32)0x55491002) //編程的應答
#define FLAG_JUMP_TO_APP_RESPONSE_10_01_PRE ((u32)0x55491001) //默認的應答
#define FLAG_JUMP_TO_APP_RESPONSE_11_01 ((u32)0x554a1101) //復位的應答----因为跳转前先又进入boot所以加以区分
#define FLAG_JUMP_TO_APP_RESPONSE_11_03 ((u32)0x554a1103) //復位的應答
#define FLAG_JUMP_TO_APP_RESPONSE_10_02 ((u32)0x554a1002) //編程的應答
#define FLAG_JUMP_TO_APP_RESPONSE_10_01 ((u32)0x554a1001) //默認的應答
#if 1
#define FLAG_RAM_WDOG_ADDR 0x20007800 //看門狗在ram中運行
#define FLAG_RAM_DRIVER_ADDR 0x20007000 //驅動在driver中運行
#define FLAG_RAM_RE_START_ADDR FLAG_RAM_DRIVER_ADDR
#endif
#define RAM_TOTAL_SIZES 0x00008000UL //32k
#define RAM_WDOG_ADDR FLAG_RAM_WDOG_ADDR //看門狗在ram中運行--和icf上一致 ,目前用来别的用途
#define RAM_NO_INIT_ADDR 0x20007C00u //看門狗在ram中運行--和icf上一致 ,目前用来别的用途
//#define FlagReadHandle(addr,size,buf) Boot_MemCpy((u8 *)buf,(const u8 *)addr,size)
//#define FlagWriteHandle(addr,size,buf) Boot_MemCpy((u8 *)addr,(const u8 *)buf,size)
#define ResetMCUHandle() SystemSoftwareReset()
//#define Boot_ComControlHandle() 0
//#define Boot_CheckProgramming() 0
/*---------------------------------------------------------------------------
- T Y P E D E F I N I T I O N S
----------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
- G L O B A L V A R I A B L E S
- only configuration table allowed here,variables are not allowed!
----------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
- C O N S T A N T S
----------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
- F U N C T I O N P R O T O T Y P E
----------------------------------------------------------------------------*/
#endif /* __BOOT_APP_CFG_H__ */