⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ide.h

📁 MP3 Cyclone的source code 利用FPGGA實現MP3的功能
💻 H
字号:

/******************************************************
ide.h

Contains register and bit field definitions for IDE.
******************************************************/

// Bits!
// Alternate status register.
typedef enum
{
  AltStatusRegBitERR  = 1,
  AltStatusRegBitIDX  = 2,
  AltStatusRegBitCORR = 4,
  AltStatusRegBitDRQ  = 8,
  AltStatusRegBitDSC  = 0x10,
  AltStatusRegBitDF   = 0x20,
  AltStatusRegBitDRDY = 0x40,
  AltStatusRegBitBSY  = 0x80
} IDE_ALTERNATE_STATUS_REGISTER_BITS;

// Could have an enum for command codes.

// Device control register
typedef enum
{
  DevControlRegBitNIEN = 2,
  DevControlRegBitSRST = 4,
} IDE_DEVICE_CONTROL_REGISTER_BITS;

// Device/Head register
typedef enum
{
  DevHeadRegBitHeads   = 0xF,
  DevHeadRegBitDEV     = 0x10,
  DevHeadRegBitLBAMode = 0x40,
} IDE_DEVICE_HEAD_REGISTER_BITS;

// Error register
typedef enum
{
  ErrorRegBitAMNF = 1,
  ErrorRegBitTKNONF = 2,
  ErrorRegBitABRT = 4,
  ErrorRegBitMCR = 8,
  ErrorRegBitIDNF = 0x10,
  ErrorRegBitMC = 0x20,
  ErrorRegBitUNC = 0x40,
} IDE_ERROR_REGISTER_BITS;

// Status register
typedef enum
{
  StatusRegBitERR  = 1,
  StatusRegBitIDX  = 2,
  StatusRegBitCORR = 4,
  StatusRegBitDRQ  = 8,
  StatusRegBitDSC  = 0x10,
  StatusRegBitDF   = 0x20,
  StatusRegBitDRDY = 0x40,
  StatusRegBitBSY  = 0x80
} IDE_STATUS_REGISTER_BITS;


typedef enum
{
  IdentifyDeviceCmd = 0xEC,
  ReadSectorWithRetries = 0x20,
  ReadSectorWithoutRetries = 0x21,
  WriteSectorWithRetries = 0x30,
  WriteSectorWithoutRetries = 0x31,
  InitializeDeviceParameters = 0x91,
  ExecuteDeviceDiagnostic = 0x90,
  DMAReadSectorWithRetries = 0xC8,
  DMAReadSectorWithoutRetries = 0xC9,
  DMAWriteSectorWithRetries = 0xCA,
  DMAWriteSectorWithoutRetries = 0xCB,
} IDE_COMMANDS;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -