?? nandflash.h
字號(hào):
#define rb 16
#define re 20
#define ce 17
#define cle 19
#define ale 28
#define we 29
#define pf_out 1
#define pf_in 0
#define setdata1 1
#define setdata0 0
#define pNAND_COMMAND_REG (volatile char *)0x24000000
#define pNAND_ADDRESS_REG (volatile char *)0x24000000
#define pNAND_DATA_REG (volatile char *)0x24000000
#pragma pack(1)
int pf_direction(int pf, int pf_direction);
int pf_outset(int pf, int setdata);
int pf_set(int pf);
int pf_clear(int pf);
void nandflash_cle_on();
void nandflash_cle_off();
void nandflash_ce_on();
bool nandflash_ce_off();
void nandflash_we_on();
void nandflash_we_off();
void nandflash_ale_on();
void nandflash_ale_off();
void nandflash_re_on();
void nandflash_re_off();
void nandflash_rb_on();
void nandflash_rb_off();
void delay(int time);
int nandflash_init(); //初始化pf為輸出,返回0出錯(cuò)
bool nandflash_exit();
void create_initial_invalid_block_table(); //無效模塊初始化設(shè)置
unsigned int set_block_address(unsigned int Block_Address ,int block_count);
bool check_is_invalid_block(unsigned int Block_Address);
unsigned char check_block_read(int NAND_Addr);
void write_command(unsigned char command); //寫命令
void write_flash_command(unsigned char write_data);
bool nd_block_erase(unsigned int Block_Address); //檫除模塊數(shù)據(jù)
bool Page_data_write(unsigned int Block_Address,unsigned short Page_Address,unsigned char *psrc);//頁寫數(shù)據(jù)
bool Page_data_read(unsigned int Block_Address,unsigned short Page_Address,unsigned char *psrc);//頁讀數(shù)據(jù)
void write_addr(int nand_addr);//寫地址
void write_flash_addr(unsigned char write_data);
void Wait_NAND_RADY(int pf);
void NAND_Finish(int pf);
unsigned char statue_read(void);
unsigned char ReadByte(void);
typedef struct Invalid_Block{
int bad_block;
struct Invalid_Block *next;
}BAD_BLOCK;
struct Invalid_Block_Table{
struct Invalid_Block value;
};
struct NAND_Address{ //地址表中的地址結(jié)構(gòu)
struct NAND_Address *pre;
struct NAND_Address *next;
unsigned int value;
unsigned char NAND_Address_A0_A7;
unsigned char NAND_Address_A8_A11;
unsigned char NAND_Address_A12_A19;
unsigned char NAND_Address_A20_A27;
unsigned char NAND_Address_A28;
};
struct NAND_Address_Table{//初始化時(shí)就得到的地址表
struct NAND_Address current;
};
//char nanda = 0;
//volatile char * const nandflash = &(nanda);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -