📄 nfdc2048.c
字号:
/* * $Log: V:/nfdc2048.c_v $ * * Rev 1.27 06 Oct 1997 18:37:34 ANDRY * no COBUX * * Rev 1.26 06 Oct 1997 18:04:34 ANDRY * 16-bit access only for interleave 2 cards, COBUX * * Rev 1.25 05 Oct 1997 12:02:32 danig * Support chip ID 0xEA * * Rev 1.24 10 Sep 1997 16:14:08 danig * Got rid of generic names * * Rev 1.23 08 Sep 1997 17:47:00 danig * fixed setAddress for big-endian * * Rev 1.22 04 Sep 1997 13:59:44 danig * Debug messages * * Rev 1.21 31 Aug 1997 15:18:04 danig * Registration routine return status * * Rev 1.20 28 Aug 1997 17:47:08 danig * Buffer\remapped per socket * * Rev 1.19 28 Jul 1997 15:10:36 danig * setPowerOnCallback & moved standard typedefs to flbase.h * * Rev 1.18 24 Jul 1997 18:04:12 amirban * FAR to FAR0 * * Rev 1.17 21 Jul 1997 18:56:00 danig * nandBuffer static * * Rev 1.16 20 Jul 1997 18:21:14 danig * Moved vendorID and chipID to Vars * * Rev 1.15 20 Jul 1997 17:15:06 amirban * Added Toshiba 8MB * * Rev 1.14 07 Jul 1997 15:22:26 amirban * Ver 2.0 * * Rev 1.13 02 Jul 1997 14:59:22 danig * More wait for socket to power up * * Rev 1.12 01 Jul 1997 13:39:54 danig * Wait for socket to power up * * Rev 1.11 22 Jun 1997 18:34:32 danig * Documentation * * Rev 1.10 12 Jun 1997 17:22:24 amirban * Allow long extra read/writes * * Rev 1.9 08 Jun 1997 19:18:06 danig * BIG_PAGE & FULL_PAGE moved to flash.h * * Rev 1.8 08 Jun 1997 17:03:40 amirban * Fast Toshiba and power on callback * * Rev 1.7 05 Jun 1997 12:31:38 amirban * Write corrections, and att reg changes * * Rev 1.6 03 Jun 1997 18:45:14 danig * powerUp() * * Rev 1.5 01 Jun 1997 13:42:52 amirban * Rewrite of read/write extra + major reduction * * Rev 1.4 25 May 1997 16:41:38 amirban * Bg-endian, Toshiba fix & simplifications * * Rev 1.3 18 May 1997 17:34:50 amirban * Use 'dataError' * * Rev 1.2 23 Apr 1997 11:02:14 danig * Update to TFFS revision 1.12 * * Rev 1.1 15 Apr 1997 18:48:02 danig * Fixed FAR pointer issues. * * Rev 1.0 08 Apr 1997 18:29:28 danig * Initial revision. *//************************************************************************//* *//* FAT-FTL Lite Software Development Kit *//* Copyright (C) M-Systems Ltd. 1995-1997 *//* *//************************************************************************/#include "flflash.h"#include "reedsol.h"#define NFDC2048 /* Support NFDC2048 ASIC controller */#define MAX_FLASH_DEVICES 16#define PAGES_PER_BLOCK 16 /* 16 pages per block on a single chip*/#define SYNDROM_BYTES 6 /* Number of syndrom bytes: 5 + 1 parity*//* Flash IDs*/#define KM29N16000_FLASH 0xec64#define KM29N32000_FLASH 0xece5#define KM29V64000_FLASH 0xece6#define NM29N16_FLASH 0x8f64#define NM29N32_FLASH 0x8fe5#define NM29N64_FLASH 0x8fe6#define TC5816_FLASH 0x9864#define TC5832_FLASH 0x98e5#define TC5864_FLASH 0x98e6/* Flash commands:*/#define SERIAL_DATA_INPUT 0x80#define READ_MODE 0x00#define READ_MODE_2 0x50#define RESET_FLASH 0xff#define SETUP_WRITE 0x10#define SETUP_ERASE 0x60#define CONFIRM_ERASE 0xd0#define READ_STATUS 0x70#define READ_ID 0x90#define SUSPEND_ERASE 0xb0#define REGISTER_READ 0xe0/* commands for moving flash pointer to areeas A,B or C of page*/typedef enum { AREA_A = READ_MODE, AREA_B = 0x1, AREA_C = READ_MODE_2 } PointerOp;typedef union { unsigned short w ; unsigned char b ; } WordByte; /*觚
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -