53 lines
1.9 KiB
C
53 lines
1.9 KiB
C
|
/****************************************************************************
|
||
|
|
||
|
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
|
||
|
|
||
|
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
|
||
|
be copied by any method or incorporated into another program without
|
||
|
the express written consent of Aerospace C.Power. This Information or any portion
|
||
|
thereof remains the property of Aerospace C.Power. The Information contained herein
|
||
|
is believed to be accurate and Aerospace C.Power assumes no responsibility or
|
||
|
liability for its use in any way and conveys no license or title under
|
||
|
any patent or copyright and makes no representation or warranty that this
|
||
|
Information is free from patent or copyright infringement.
|
||
|
****************************************************************************/
|
||
|
#ifndef _S_FLASH_H_
|
||
|
#define _S_FLASH_H_
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
SFCOP_Program =0x0,
|
||
|
SFCOP_Erase =0x1,
|
||
|
SFCOP_Read =0x2,
|
||
|
SFCOP_Opera =0x3
|
||
|
};
|
||
|
|
||
|
#define FLASH_SECTOR_SIZE 0x1000
|
||
|
#define GET_SEC_NUM(offset) ((offset)&0xFFFFF000)
|
||
|
#define GET_PAGE_NUM(offset) ((offset)&0x00000F00)
|
||
|
|
||
|
#define CMD_SECTOR_ERASE 0x20
|
||
|
#define CMD_WRITE_ENABLE 0x06
|
||
|
#define CMD_PAGE_PROGRAM 0x02
|
||
|
#define CMD_READ_DATA 0x03
|
||
|
#define CMD_READ_STS_REG1 0x05
|
||
|
#define CMD_READ_STS_REG2 0x35
|
||
|
#define CMD_WRITE_STS_REG2 0x31
|
||
|
#define CMD_RESET_ENABLE 0x66
|
||
|
#define CMD_RESET 0x99
|
||
|
|
||
|
#define DEFAULT_CMD_ADDR 0x00
|
||
|
|
||
|
void SFC_SET_SWM(uint32_t md, uint32_t cyc);
|
||
|
void SFC_OPR_SET(uint8_t cmd, uint32_t addr, uint8_t mode, uint32_t dlen);
|
||
|
void SFC_OPR_SET_AND_RAISE(uint8_t cmd, uint32_t addr, uint8_t mode, uint32_t dlen);
|
||
|
void SFC_SKIP_BUSY();
|
||
|
void SFC_BUFF_COPY(char *dst, char *src, uint32_t cnt);
|
||
|
void SFC_PE_WT_TIME(uint32_t t);
|
||
|
|
||
|
void sFlashInit(void);
|
||
|
void sFlashPageWrite(int offset, char *pBuf);
|
||
|
void sFlashPageRead(int offset, char *pBuf);
|
||
|
|
||
|
#endif
|