谢谢版主,我很需要这方面的资料。。。
我的邮箱是:stillwell006@163.com
我的qq号:284017710
关于vxWorks系统ATA硬盘的DMA的方面的资料


configtype = 0x066b; /*配置类型,就是选择transfer mode、transfer bits、transfer unit、geometry parameters 等参数 */
请问"0x066b"是什么意思,是怎么得来的。。?^_^
在config.h中(ataresources那块位置)设置了transfer mode、transfer bits、transfer unit、geometry parameters 等参数后,还要再ataDrv()中再设置么?
谢谢!

请问第4步中的I/O操作函数是tornado文件中的还是自定义的?
我在tornado2.2中找过了,好像没有这些函数啊。。。?
第四步:
重新定义io操作函数,如下:
uint8 atainbyte (uint32 port)
{
return (*(volatile uint8 *)port);
}
void atainwordstring (uint32 port, uint16 *pdata, int count)
{
while(count--)
{
*pdata++ = *((volatile uint16 *)port);
}
}
void atainlongstring (uint32 port, uint32 *pdata, int count)
{
while(count--)
{
*pdata++ = *((volatile uint32 *)port);
}
}
void ataoutbyte (uint32 port, uint8 data)
{
*((volatile uint8 *)port) = data;
}
void ataoutwordstring (uint32 port, uint16 *pdata, int count)
{
while(count--)
{
*((volatile uint16 *)port) = *pdata++;
}
}
void ataoutlongstring (uint32 port, uint32 *pdata, int count)
{
while(count--)
{
*((volatile uint32 *)port) = *pdata++;
}
}

在设置相关参数的后,用fopen与fwrite函数写硬盘,80M文件用时15妙,硬盘的缓存为512K的,,,,是否是此种硬盘的DMA了,,,感觉还不太快啊。。。
有谁这方面比较有经验些,,,,指点下,谢谢了