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

📄 nand.h

📁 周立公开发板
💻 H
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			Nand.h
** Last modified Date:  2007-9-20
** Last Version:		1.0
** Descriptions:		对Nand型Flash K9F28XXUOC进行编程、擦除等操作 
**
**------------------------------------------------------------------------------------------------------
** Created by:			Yuping  Wang    杨市平
** Created date:		2007-9-20
** Version:				1.0
** Descriptions:		The original version    初始版本
**
**------------------------------------------------------------------------------------------------------
** Modified by:         杨市平
** Modified date:       2008-03-18
** Version:             V1.1
** Descriptions:   
**
********************************************************************************************************/
#ifndef __NAND_H
#define __NAND_H

#ifndef __GLOBAL_NAND
#define __EXTERN    extern
#else   
#define __EXTERN
#endif

#define K9FXX_SET_ADDR_A        0x00                                    /* 设置读写指针指向A区          */
#define K9FXX_SET_ADDR_B        0x01                                    /* 设置读写指针指向B区          */
#define K9FXX_SET_ADDR_C        0x50                                    /* 设置读写指针指向C区          */

#define K9FXX_READ_ID           0x90                                    /* 读器件ID                     */

#define K9FXX_RESET             0xff                                    /* 复位芯片                     */

#define K9FXX_BLOCK_PROGRAM_1   0x80                                    /* 块编程指令1                  */
#define K9FXX_BLOCK_PROGRAM_2   0x10                                    /* 块编程指令2                  */

#define K9FXX_BLOCK_ERASE_1     0x60                                    /* 块擦除指令1                  */
#define K9FXX_BLOCK_ERASE_2     0xd0                                    /* 块擦除指令2                  */

#define K9FXX_READ_STATUS       0x70                                    /* 读器件状态                   */

#define K9FXX_BUSY              (1 << 6)                                /* 器件忙标志                   */

#define K9FXX_OK                (1 << 0)                                /* 器件操作成功标志             */

/*********************************************************************************************************
** Function name:			nandReadStatus
**
** Descriptions:			读Nand Flash的状态
**							
**
** input parameters:		无
** Returned value:			当前Nand
**
** Created by:				杨市平
** Created Date:			2008/03/18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
__EXTERN uint8   nandReadStatus (void);

/*********************************************************************************************************
** Function name:			nandOK
**
** Descriptions:			判断芯片操作是否完成
**							
**
** input parameters:		无
** Returned value:			TURE:   完成
**                          FALSE:  失败
** Created by:				杨市平
** Created Date:			2008/03/18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
__EXTERN uint8 nandOK (void);

/*********************************************************************************************************
** Function name:			nandSectorReadA
**
** Descriptions:			读芯片扇区
**							
**
** input parameters:		pucBuf: 指向缓存的指针,大小必须>=512字节
**                          uiCoL : 以列地址的索引
                            uiRow : 以页面为单位的索引
                            uiNum : 写入的字节数
** Returned value:			无
**                          
** Created by:				杨市平
** Created Date:			2008/03/18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
__EXTERN void nandSectorReadA (uint8 *pucBuf, uint32 uiCol, uint8 uiRow, uint32 uiNum);


/*********************************************************************************************************
** Function name:			nandSectorCRead
**
** Descriptions:			读芯片C区
**							
**
** input parameters:		pucBuf: 指向缓存的指针,大小必须>=16字节
**                          uiCoL : 以列地址的索引
                            uiRow : 以页面为单位的索引
                            uiCNum: 写入的字节数
** Returned value:			无
** Created by:				杨市平
** Created Date:			2008/03/18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
__EXTERN void nandSectorCRead (uint8 *pucBuf, uint32 uiCol, uint8 uiRow, uint32 uiCNum);


/*********************************************************************************************************
** Function name:			nandSectorProgram
**
** Descriptions:			编程芯片扇区
**							
**
** input parameters:		pucBuf: 指向要存数据的指针,大小必须>=512字节
**                          uiCoL : 以列地址的索引
                            uiRow : 以页面为单位的索引
                            uiNum : 写入的字节数
** Returned value:			TURE:   成功
**                          FALSE:  失败
** Created by:				杨市平
** Created Date:			2008/03/18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
__EXTERN uint8 nandSectorProgram (uint8 *pucBuf, uint32 uiCol, uint8 uiRow, uint32 uiNum);


/*********************************************************************************************************
** Function name:			nandSectorCProgram
**
** Descriptions:			编程芯片C区
**							
**
** input parameters:		pucBuf: 指向要存数据的指针,大小必须>=16字节
**                          uiCoL : 以列地址的索引
                            uiRow : 以页面为单位的索引
                            uiCNum : 写入的字节数
** Returned value:			TURE:   成功
**                          FALSE:  失败
** Created by:				杨市平
** Created Date:			2008/03/18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
__EXTERN uint8 nandSectorCProgram (uint8 *pucBuf, uint32 uiCol, uint8 uiRow, uint32 uiCNum);

/*********************************************************************************************************
** Function name:			nandBlockErase
**
** Descriptions:			块擦除
**							
**
** input parameters:		uiRow : 以页面为单位的索引
**                          
** Returned value:			TURE:   成功
**                          FALSE:  失败
** Created by:				杨市平
** Created Date:			2008/03/18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
__EXTERN uint8 nandBlockErase (uint32 uiRow);


/*********************************************************************************************************
** Function name:			nandReadID
**
** Descriptions:			读芯片ID
**							
**
** input parameters:		无
**                          
** Returned value:			芯片的ID号
**
** Created by:				杨市平
** Created Date:			2008/03/18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

__EXTERN uint16 nandReadID (void);
/*********************************************************************************************************
** Function name:			nandSectorCheck
**
** Descriptions:			校验扇区数据
**							
**
** input parameters:		pucBuf: 要校验的数据,大小必须>=512字节
**                          uiCoL : 以列地址的索引
                            uiRow : 以页面为单位的索引
                            uiNum : 写入的字节数
** Returned value:			TURE: 数据正确
**                          FALSE:数据错误
**                          
** Created by:				杨市平
** Created Date:			2008/03/18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
__EXTERN uint8 nandSectorCheck (uint8 *pucBuf, uint32 uiCol, uint8 uiRow, uint32 uiNum);


/*********************************************************************************************************
** Function name:			nandSectorCCheck
**
** Descriptions:			校验C区数据
**							
**
** input parameters:		pucBuf: 要校验的数据,大小必须>=16字节
**                          uiCoL : 以列地址的索引
                            uiRow : 以页面为单位的索引
                            uiCNum : 写入的字节数
** Returned value:			TURE: 数据正确
**                          FALSE:数据错误
**                          
** Created by:				杨市平
** Created Date:			2008/03/18
**-------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

__EXTERN uint8 nandSectorCCheck (uint8 *pucBuf, uint32 uiCol, uint8 uiRow, uint32 uiCNum);

#endif                                                                  /*  __NAND_H                   */
/*********************************************************************************************************
**                            End Of File                               
********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -