中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: sata硬盘接口的问题! 上一主题 | 下一主题
zhgwbzhd
高级用户





积分 506
发帖 187
注册 2005-12-4
状态 离线
『楼 主』:  sata硬盘接口的问题!

现在的硬盘很多都是sata,原来是ide。
对硬盘读写可通过int13.
现在使用int13对sata和ide硬盘都可以进行读写。这个测试完毕。
但是使用io对硬盘进行读写时。用ide没问题,可以使用1f0进行端口的读写。
可是在使用sata时,就不能写成功。
所以我认为是参数不正确,那位朋友知道的可以指点一下。谢谢。

2006-9-29 23:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhgwbzhd
高级用户





积分 506
发帖 187
注册 2005-12-4
状态 离线
『第 2 楼』:  

目前只是解决了把sata硬盘认作是第1硬盘的可以解决了。

2006-9-30 03:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jasonjason
新手上路





积分 6
发帖 2
注册 2007-1-24
状态 离线
『第 3 楼』:  急,在dos7.1里如何读取硬盘序列号?在线等待

急,在dos7.1里如何读取硬盘序列号?在线等待

2007-3-1 04:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netwinxp
高级用户





积分 741
发帖 366
注册 2007-7-25
状态 离线
『第 4 楼』:  

SATA IDE模式仍然映射1F0/170口,这个问题不大。对于SATA AHCI模式你可能需要从PCICFG取得分配到的I/O口基址,然后向取得的I/O口发ATA命令看上面是否挂有硬盘。

[ Last edited by netwinxp on 2008-7-1 at 06:44 PM ]

2008-7-1 18:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
libeili
新手上路





积分 7
发帖 5
注册 2008-1-14
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by netwinxp at 2008-7-1 06:15 PM:
SATA IDE模式仍然映射1F0/170口,这个问题不大。对于SATA AHCI模式你可能需要从PCICFG取得分配到的I/O口基址,然后向取得的I/O口发ATA命令看上面是否挂有硬 ...

同意此种说法,但是AHCI只是intel公司的一个协议,如果主板支持AHCI的话,可以通过AHCI来访问sata硬盘,具体的端口访问以及fis表及command表的设置需要参考AHCI spec,如果是其它公司的就要看相应spec了

2008-8-22 16:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netwinxp
高级用户





积分 741
发帖 366
注册 2007-7-25
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by libeili at 2008-8-22 16:11:
同意此种说法,但是AHCI只是intel公司的一个协议,如果主板支持AHCI的话,可以通过AHCI来访问sata硬盘,具体的端口访问以及fis表及command表的设置需要参考AHCI spec,如果是其它公司的就要看相应spec了

硬盘控制器只不过是用来向硬盘发送ATA命令的芯片,一般的ATA读写命令兼容所有的EIDE、PATA、SATA硬盘控制器和硬盘,仅仅用PIO读写而不使用的NCQ的话就不需要用SATA专用的ATA命令。通过PIO模式读写硬盘主要要解决两个问题:
1、IO口基址,不同的Port或Channel对应的口不同。
2、设备选择,大多数PATA、EIDE每个Channel对应两个设备(也有单通道的,只支持一个设备),所以要在ATA包填写DEV段的内容。

2008-9-28 13:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Carolwhy
新手上路





积分 2
发帖 1
注册 2009-2-4
状态 离线
『第 7 楼』:  sata 硬盘 在AHCI 模式下如何读取硬盘

我现在已经可把Ahci base address读取出来了,可是下面应该如何操作ATA命令呢,可以用WINIO的读取内存函数操作吗,还有在AHCI spec中的port control register中没有找到data寄存器阿,如何读书据呢,望高手赐教。非常感谢

2009-2-9 10:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: