入手学习linux编程,目前状况如下:
1.在驱动程序中使用中断读取外部IO数据,多通道、数据量较大,在驱动程序进行验证,数据正确。
2.在驱动程序中的read函数中使用copy_to_user将中断采集的数据buf复制到用户空间
3.在用户空间中使用read读取驱动层采集的数据,并以文件形式写入硬盘。
问题:当长时间采集时,在应用层读取硬盘文件时就会发现有数据错开的问题,大部分时候对,数据频率高的通道发生概率大。请问有没有知道这样的情况下使用copy_to_user是否有限制,比如对IO端口的访问量、访问次数等,或者对这样的内存数据拷贝有什么隐藏的条件??
请各位指点,谢谢!!