📄 nf_drv.h
字号:
Nf_send_command_even (NF_SEQUENTIAL_DATA_INPUT_CMD); \
Nf_send_address_even ( add_byte ); \
Nf_send_address_even ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_even ( ((Byte*)&add_sect)[2] ); \
Nf_send_address_even ( ((Byte*)&add_sect)[1] )
#define Nf_send_cl_address_odd(add_sect, add_byte) \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[1] )
#define Nf_read_open_A_area_odd(add_sect, add_byte ) \
Nf_send_command_odd (NF_READ_A_AREA_CMD); \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[1] ); \
Nf_wait_busy_odd()
#define Nf_read_open_B_area_odd(add_sect, add_byte ) \
Nf_send_command_odd (NF_READ_B_AREA_CMD); \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[1] ); \
Nf_wait_busy_odd()
#define Nf_read_open_C_area_odd(add_sect, add_byte ) \
Nf_send_command_odd (NF_READ_C_AREA_CMD); \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[1] ); \
Nf_wait_busy_odd()
#define Nf_write_open_A_area_odd(add_sect, add_byte) \
Nf_send_command_odd (NF_READ_A_AREA_CMD); \
Nf_send_command_odd (NF_SEQUENTIAL_DATA_INPUT_CMD); \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[1] )
#define Nf_write_open_B_area_odd(add_sect, add_byte) \
Nf_send_command_odd (NF_READ_B_AREA_CMD); \
Nf_send_command_odd (NF_SEQUENTIAL_DATA_INPUT_CMD); \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[1] )
#define Nf_write_open_C_area_odd(add_sect, add_byte) \
Nf_send_command_odd (NF_READ_C_AREA_CMD); \
Nf_send_command_odd (NF_SEQUENTIAL_DATA_INPUT_CMD); \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[1] )
#else
#define Nf_send_cl_address_even(add_sect, add_byte) \
Nf_send_address_even ( add_byte ); \
Nf_send_address_even ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_even ( ((Byte*)&add_sect)[2] )
#define Nf_read_open_A_area_even(add_sect, add_byte ) \
Nf_send_command_even (NF_READ_A_AREA_CMD); \
Nf_send_address_even ( add_byte ); \
Nf_send_address_even ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_even ( ((Byte*)&add_sect)[2] ); \
Nf_wait_busy_even()
#define Nf_read_open_B_area_even(add_sect, add_byte ) \
Nf_send_command_even (NF_READ_B_AREA_CMD); \
Nf_send_address_even ( add_byte ); \
Nf_send_address_even ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_even ( ((Byte*)&add_sect)[2] ); \
Nf_wait_busy_even()
#define Nf_read_open_C_area_even(add_sect, add_byte ) \
Nf_send_command_even (NF_READ_C_AREA_CMD); \
Nf_send_address_even ( add_byte ); \
Nf_send_address_even ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_even ( ((Byte*)&add_sect)[2] ); \
Nf_wait_busy_even()
#define Nf_write_open_A_area_even(add_sect, add_byte) \
Nf_send_command_even (NF_READ_A_AREA_CMD); \
Nf_send_command_even (NF_SEQUENTIAL_DATA_INPUT_CMD); \
Nf_send_address_even ( add_byte ); \
Nf_send_address_even ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_even ( ((Byte*)&add_sect)[2] )
#define Nf_write_open_B_area_even(add_sect, add_byte) \
Nf_send_command_even (NF_READ_B_AREA_CMD); \
Nf_send_command_even (NF_SEQUENTIAL_DATA_INPUT_CMD); \
Nf_send_address_even ( add_byte ); \
Nf_send_address_even ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_even ( ((Byte*)&add_sect)[2] )
#define Nf_write_open_C_area_even(add_sect, add_byte) \
Nf_send_command_even (NF_READ_C_AREA_CMD); \
Nf_send_command_even (NF_SEQUENTIAL_DATA_INPUT_CMD); \
Nf_send_address_even ( add_byte ); \
Nf_send_address_even ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_even ( ((Byte*)&add_sect)[2] )
#define Nf_send_cl_address_odd(add_sect, add_byte) \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] )
#define Nf_read_open_A_area_odd(add_sect, add_byte ) \
Nf_send_command_odd (NF_READ_A_AREA_CMD); \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] ); \
Nf_wait_busy_odd()
#define Nf_read_open_B_area_odd(add_sect, add_byte ) \
Nf_send_command_odd (NF_READ_B_AREA_CMD); \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] ); \
Nf_wait_busy_odd()
#define Nf_read_open_C_area_odd(add_sect, add_byte ) \
Nf_send_command_odd (NF_READ_C_AREA_CMD); \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] ); \
Nf_wait_busy_odd()
#define Nf_write_open_A_area_odd(add_sect, add_byte) \
Nf_send_command_odd (NF_READ_A_AREA_CMD); \
Nf_send_command_odd (NF_SEQUENTIAL_DATA_INPUT_CMD); \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] )
#define Nf_write_open_B_area_odd(add_sect, add_byte) \
Nf_send_command_odd (NF_READ_B_AREA_CMD); \
Nf_send_command_odd (NF_SEQUENTIAL_DATA_INPUT_CMD); \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] )
#define Nf_write_open_C_area_odd(add_sect, add_byte) \
Nf_send_command_odd (NF_READ_C_AREA_CMD); \
Nf_send_command_odd (NF_SEQUENTIAL_DATA_INPUT_CMD); \
Nf_send_address_odd ( add_byte ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[3] ); \
Nf_send_address_odd ( ((Byte*)&add_sect)[2] )
#endif
#endif
/*_____ D E C L A R A T I O N ______________________________________________*/
extern void nf_download_buffer(void); /* copy the content of gl_buffer on the card */
extern void nf_upload_buffer(void); /* load the content of the card on gl_buffer */
void nf_init_spare(void); /* init the first redundant data of a block */
void nf_calc_logical_block(); /* calulate the value of logical block in spare area */
void nf_update_spare_data(void); /* write only the redundant information */
void nf_init_buffer(void); /* initialize the buffer gl_buffer with 0xFF */
void nf_copy_block_head(void); /* copy the first sectors of a block */
void nf_copy_block_tail(void); /* copy the last sectors of a block */
void nf_reassign_block(void); /* reassign the physical block on the look up table */
bit nf_block_erase (Uint32); /* erase one block */
void nf_erase_all_block(void); /* erase all block */
bit nf_read_spare_byte(void); /* LUT generation */
#endif /* _NF_DRV_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -