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
							 |