我已经编程了两个星期的AHCI驱动程序.我已经阅读了本文和英特尔的串行ATA高级主机控制器接口(AHCI)1.3.有一个例子,它展示了如何通过DMA模式读取扇区(osdev.org).我已成功完成此操作(ATA_CMD_READ_DMA 0xC8),但当我尝试将扇区(ATA_CMD_WRITE_DMA 0xCA)写入设备时,HBA设置错误
Offset 30h: PxSERR – Port x Serial ATA Error - Handshake Error
Run Code Online (Sandbox Code Playgroud)
(这是从英特尔AHCI规范解码).我不明白为什么会这样.请帮我.
另外,我试图发出命令IDENTIFY 0xEC,但没有成功...
drivers ×1