📄 sst25vf016bdrv.h
字号:
/****************************************Copyright (c)*****************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**--------------File Info----------------------------------------------------------------------------------
** File Name: SST25VF016BDrv.h
** Last modified Date: 2008.02.18
** Last Version: V1.1
** Descriptions: SST25VF016B的操作函数
**
**---------------------------------------------------------------------------------------------------------
** Created By: Litiantian
** Created date: 2007.04.25
** Version: V1.0
** Descriptions: First version
**
**---------------------------------------------------------------------------------------------------------
** Modified by: zhangzheng
** Modified date: 2008.02.18
** Version: V1.1
** Descriptions: 本版本进行了以下修改:
(1) 提高写效率
(2) 修改扇区擦除操作的BUG。
**********************************************************************************************************/
#ifndef __F016BDRV_H
#define __F016BDRV_H
typedef enum ERTYPE{Sec1,Sec8,Sec16,Chip} F016bErType; /* 扇区擦除方式定义 */
typedef enum IDTYPE{Manu_ID,Dev_ID,Jedec_ID} F016bIdType; /* 定义芯片ID的类型 */
/* Manu_ID : 厂商ID */
/* Dev_ID : 设备ID */
/* Jedec_ID: F016B值为0xBF2541 */
enum PARAMETER_TYPE{F016BInvalid}; /* 定义1个常量,代表无效参数 */
enum OptResult{F016BERROR,F016BOK}; /* 定义操作结果 */
#define __F016B_MAX_ADDR 0x1FFFFF /* 定义芯片内部最大地址 */
#define __F016B_SEC_MAX 0x1FF /* 定义最大扇区号 */
#define __F016B_SEC_SIZE 0x1000 /* 扇区大小 */
#define __F016B_CS (1 << 16) /* P0.16口为25VF016B的片选 */
/**********************************************************************************************************
** Function name: sstf016bInit
** Descriptions: 初始化SPI
** input parameters: None
** output parameters: None
** Returned value: None
** Created by: Litiantian
** Created Date: 2007.04.16
**---------------------------------------------------------------------------------------------------------
** Modified by: zhangzheng
** Modified date: 2008.02.18
**---------------------------------------------------------------------------------------------------------
**********************************************************************************************************/
extern void sstf016bInit (void);
/**********************************************************************************************************
** Function name: sstf016bRd
** Descriptions: SST25VF016B的读函数
** input parameters: Dst: 目标地址,范围 0x0 - MAX_ADDR(MAX_ADDR = 0x1FFFFF)
** NByte: 要读取的数据字节数
** output parameters: RcvBufPt:接收缓存的指针
** Returned value: F016BERROR: 错误; F016BOK: 成功
** Created by: Litiantian
** Created Date: 2007.04.16
**---------------------------------------------------------------------------------------------------------
** Modified by: zhangzheng
** Modified date: 2008.02.18
**---------------------------------------------------------------------------------------------------------
**********************************************************************************************************/
extern uint8 sstf016bRd (uint32 Dst,
uint32 NByte,
uint8 *RcvBufPt);
/**********************************************************************************************************
** Function name: sstf016bRdID
** Descriptions: SST25VF016B的读ID函数,可选择读ID
** input parameters: IDType: ID类型,用户可在Jedec_ID,Dev_ID,Manu_ID三者里选择
** output parameters: RcvbufPt: 存储ID变量的指针
** Returned value: F016BERROR: 错误; F016BOK: 成功
** Created by: Litiantian
** Created Date: 2007.04.16
**---------------------------------------------------------------------------------------------------------
** Modified by: zhangzheng
** Modified date: 2008.02.18
**---------------------------------------------------------------------------------------------------------
**********************************************************************************************************/
extern uint8 sstf016bRdID (F016bIdType IDType, uint32 *RcvbufPt);
/**********************************************************************************************************
** Function name: sstf016bWr
** Descriptions: SST25VF016B的写函数,可写1个和多个数据到指定地址
** input parameters: Dst: 目标地址,范围 0x0 - MAX_ADDR(MAX_ADDR = 0x1FFFFF)
** SndbufPt: 发送缓存区指针
** NByte: 要写的数据字节数
** output parameters: None
** Returned value: F016BERROR: 错误; F016BOK: 成功
** Created by: Litiantian
** Created Date: 2007.04.16
**---------------------------------------------------------------------------------------------------------
** Modified by: zhangzheng
** Modified date: 2008.02.18
**---------------------------------------------------------------------------------------------------------
**********************************************************************************************************/
extern uint8 sstf016bWr (uint32 Dst,
uint8 *SndbufPt,
uint32 NByte);
/**********************************************************************************************************
** Function name: sstf016bErase
** Descriptions: 根据指定的扇区号选取最高效的算法擦除
** input parameters: sec1: 起始扇区号,范围(0~511)
** sec2: 终止扇区号,范围(0~511)
** output parameters: None
** Returned value: F016BERROR: 错误; F016BOK: 成功
** Created by: Litiantian
** Created Date: 2007.04.16
**---------------------------------------------------------------------------------------------------------
** Modified by: zhangzheng
** Modified date: 2008.02.18
**---------------------------------------------------------------------------------------------------------
**********************************************************************************************************/
extern uint8 sstf016bErase (uint32 sec1, uint32 sec2);
/**********************************************************************************************************
** Function name: sstf016bIsExist
** Descriptions: 检测SPINorFlash是否存在
** input parameters: None
** output parameters: None
** Returned value: F016BERROR: 不存在; F016BOK: 存在
** Created by: zhangzheng
** Created Date: 2008.02.18
**---------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**---------------------------------------------------------------------------------------------------------
**********************************************************************************************************/
extern uint8 sstf016bIsExist (void);
#endif
/**********************************************************************************************************
END FILE
**********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -