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
 |