📄 fcu_cf.h
字号:
/**
%file Fcu_cf.h
%desc
Header file for CF FCU driver.
%author Ofir Alon
*/
#ifndef __FCUCF_H
#define __FCUCF_H
#include "Config.h" // Global Configuration - do not remove!
#ifdef INTERNAL_MEM_CARD_READER
////////////////////////////////////////////////////////////////////////////////
// FCU command & values.
////////////////////////////////////////////////////////////////////////////////
typedef struct tagSFCUCFCOMMAND
{
BYTE byStatus;
BYTE byLocation;
BYTE byFeatures;
BYTE bySectors;
ULONG ulFlashAddr;
BYTE byCommand;
BYTE byOpType;
BYTE bySectorsInChunk; // Reserved for chunks mode of operation
BYTE bySpeed;
BYTE by16Bit;
BYTE byReserved[3];
} SFCUCFCOMMAND, *PSFCUCFCOMMAND;
// Operation types.
#define FCU_CF_OP_TYPE_READ 0x00
#define FCU_CF_OP_TYPE_WRITE 0x01
#define FCU_CF_OP_TYPE_NO_DATA 0x02
#define FCU_CF_OP_TYPE_READ_REG 0x00
#define FCU_CF_OP_TYPE_READ_CIS 0x01
// Command codes.
#define FCU_CF_CMND_READ_SECTORS 0x20
#define FCU_CF_CMND_WRITE_SECTORS 0x30
#define FCU_CF_NO_DATA_REQUEST_SENSE 0x03
#define FCU_CF_CMND_READ_DRIVE_ID 0xEC
// Register addresses.
#define FCU_CF_READ_REG_ERROR 0x00000001
#define FCU_CF_READ_REG_STATUS 0x00000007
#define FCU_CF_READ_REG_DUP_ERROR 0x0000000d
#define FCU_CF_READ_REG_ALT_STATUS 0x0000000e
// Speed options
#define FCU_CF_SPEED_SLOW 0x00
#define FCU_CF_SPEED_FAST 0x01
#define FCU_CF_SPEED_FAST_TEST 0x02
////////////////////////////////////////////////////////////////////////////////
// Function declarations.
////////////////////////////////////////////////////////////////////////////////
UINT
FcuCfOperation( FX_MEDIA* psMedia,
UINT uiOpId,
ULONG ulLogicalSector,
ULONG ulNumOfSectors,
PBYTE pbyBuffer );
#endif // INTERNAL_MEM_CARD_READER
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -