- 12
- 0
- 约6.51千字
- 约 7页
- 2017-07-10 发布于河南
- 举报
copy_to_user的使用失误
copy_to_user的使用失误2011-01-19 15:44copy_to_user是编写驱动时经常遇到的函数这个函数的主要作用就是从内核空间拷贝一块儿数据到用户空间。它有如下三个参数:?????? To 目标地址,这个地址是用户空间的地址;?????? From 源地址,这个地址是内核空间的地址;?????? N 将要拷贝的数据的字节数。如果数据拷贝成功,则返回零;否则,返回没有拷贝成功的数据字节数。让人比较头疼的是平时字符型驱动写习惯了,在read函数中执行完此函数就直接返回了。一直以为用户空间调用read的返回值就是copy_to_user()函数的返回值,今天在看音频驱动的时候发现它的一个用法,一直认为是错的,到现在头脑才清醒一点:copy_to_user()执行完只是表示从内核空间复制了一块数据到用户空间,但是read函数可能还没有执行结束呢。下面是我看到的代码,顺便将4020音频的读写过程梳理一下:static ssize_t sep4020_audio_read(struct file *file, char *buffer,size_t count, loff_t * ppos){?#ifdef DEBUG?printk(audio_read: count=%d\n, count);?#endif??const char *buffer0 = buffer;?
您可能关注的文档
最近下载
- 第一单元第1节+从互联到物联 课件+2025-2026学年川教版(2024)初中信息科技八年级上册.pptx VIP
- 举报信范文范文.docx VIP
- 素养导向的单元重构:初中数学二次根式复习课的教学设计与实施.docx VIP
- 高速公路桥梁常见病害成因及预防措施.doc VIP
- 公路收费及监控员考试培训试卷(2025).docx VIP
- 阳关三叠F调正谱伴奏原调伴奏谱.pdf VIP
- YF-001-03-2015研发中心交付项目角色成员价值贡献度评估方法.pdf
- 智能田间管路系统设计方案.docx VIP
- 提高住院患者大小便标本送检率PDCA.pptx
- 年产8万吨丁二烯工艺设计10000字【论文】 .docx VIP
原创力文档

文档评论(0)