⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sst25vf016bdrv.h

📁 SmartARM2300 SPI_读写串行NORFlash
💻 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 + -