2025-04-26 16:03:23 +08:00

75 lines
2.5 KiB
C

/** ##########################################################################
** Filename :
** Project :
** Module :
** Processor :
** Version : 1.0
** 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 NVM_H__
#define NVM_H__
/*---------------------------------------------------------------------------
- I N C L U D E F I L E S
----------------------------------------------------------------------------*/
#include "common_types.h"
#include "nvm_cfg.h"
#include "gpio.h"
#include "flash.h"
#include "eeprom.h"
#include "eeprom_seq.h"
#include "eeprom_state_machine.h"
/*---------------------------------------------------------------------------
- D E F I N E S / M A C R O S
----------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
- T Y P E D E F I N I T I O N S
----------------------------------------------------------------------------*/
typedef enum
{
NVM_TYPE_EEPROM=0,
NVM_TYPE_RAM,
NVM_TYPE_FLASH
}nvm_type_e;
/*---------------------------------------------------------------------------
- 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
----------------------------------------------------------------------------*/
u8 ram_write_bytes(u32 addr,u8 *p_data,u16 len);
u8 ram_read_bytes(u32 addr,u8 *p_data,u16 len);
u8 flash_read_bytes(u32 addr,u8 *p_data,u16 len);
void nvm_init(void);
void nvm_task(void);
u8 nvm_read_bytes(nvm_type_e type,u32 addr, u8 *p_data, u16 num);
u8 nvm_write_bytes(nvm_type_e type,u32 addr, u8 *p_data, u16 num);
#endif