/** ########################################################################## ** 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--- --修改-- ** #########################################################################*/ /*--------------------------------------------------------------------------- - I N C L U D E F I L E S ----------------------------------------------------------------------------*/ #include "common_types.h" #include "error.h" #include "gpio.h" #include "nvm.h" #include "cpu.h" /*--------------------------------------------------------------------------- - D E F I N E S / M A C R O S ----------------------------------------------------------------------------*/ #ifdef NVM_FLASH_DEBUG_EN #define NVM_FLASH_PAGE_SIZE 512u //字节 #define NVM_FLASH_SECTOR_SIZE 2048u //字节 #define NVM_FLASH_TEST_ADDR 0x00016000 #define TestPageNum ((NVM_FLASH_TEST_ADDR - 0x00000000)/NVM_FLASH_SECTOR_SIZE) #endif /*--------------------------------------------------------------------------- - T Y P E D E F I N I T I O N S ----------------------------------------------------------------------------*/ #ifdef NVM_FLASH_DEBUG_EN #pragma pack(4) typedef struct { u8 state; u8 read_project; u8 write_project; u8 result; u16 page_id; u32 addr; u8 wr_data[NVM_FLASH_SECTOR_SIZE]; u8 rd_data[NVM_FLASH_SECTOR_SIZE]; u8 test[20]; }nvm_flash_test_s; #pragma pack() #endif /*--------------------------------------------------------------------------- - S T A T I C V A R I A B L E S ----------------------------------------------------------------------------*/ #ifdef NVM_FLASH_DEBUG_EN nvm_flash_test_s g_nvm_flash_test; #endif /*--------------------------------------------------------------------------- * G L O B A L V A R I A B L E S ----------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------- - 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 ----------------------------------------------------------------------------*/ #ifdef NVM_FLASH_DEBUG_EN /*--------------------------------------------------------------------------- |Prototype : |Called by : |Preconditions : |Input parameters : |Output parameters : |Return value : |Description : ----------------------------------------------------------------------------*/ void nvm_falsh_init(void) { // } #define NVM_TEST_ON() //NVM_TEST_ON() #define NVM_TEST_OFF() //NVM_TEST_OFF() /*--------------------------------------------------------------------------- |Prototype : |Called by : |Preconditions : |Input parameters : |Output parameters : |Return value : |Description : ----------------------------------------------------------------------------*/ void nvm_flash_test(void) { #if 1 u16 i; for (i=0;i