这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 关于vxWorks系统ATA硬盘的DMA的方面的资料

共5条 1/1 1 跳转至

关于vxWorks系统ATA硬盘的DMA的方面的资料

菜鸟
2007-08-22 12:53:02     打赏

谢谢版主,我很需要这方面的资料。。。
我的邮箱是:stillwell006@163.com
我的qq号:284017710




关键词: 关于     vxWorks     系统     硬盘     方面的     面的         

菜鸟
2007-08-22 18:44:44     打赏
2楼

谢谢tony版主,上面有的参数设置和我早先设置有些一样,,,我自己在仔细看看,,
应该会有很大帮助。。。甚谢!


菜鸟
2007-08-22 22:40:28     打赏
3楼

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


菜鸟
2007-08-24 09:04:21     打赏
4楼

请问第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++;

}

}


菜鸟
2007-09-06 18:34:04     打赏
5楼

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


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]