?? nand.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 + -