evenaye
驱动牛犊
驱动牛犊
  • 注册日期2007-04-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
阅读:2731回复:11

linux下驱动如何读写用户空间?

楼主#
更多 发布于:2007-12-07 15:24
写驱动中,碰到个问题
应用层调用ioctl,向驱动传递一个指针(用户指针),驱动实现对该地址的读写功能
这个该怎么弄?
直接用copy_to_user和copy_from_user不对。
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
沙发#
发布于:2007-12-08 17:26
就用他们。
走走看看开源好 Solaris vs Linux
wave.lu
驱动牛犊
驱动牛犊
  • 注册日期2007-11-29
  • 最后登录2008-01-02
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望10点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-01-02 12:53
在用户空间直接就可以使用ioctl。楼主的做法是不是太复杂了?
shyxdx
驱动牛犊
驱动牛犊
  • 注册日期2006-05-22
  • 最后登录2008-01-16
  • 粉丝0
  • 关注0
  • 积分110分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-01-08 17:49
unsigned long old_fs_value = get_fs();

set_fs(get_ds());     /* after this we can access the user space data */
open(filename, O_CREAT|O_RDWR|o_EXCL, 0640);
...
close();
set_fs(old_fs_value); /* restore fs... */
cnwarror
驱动小牛
驱动小牛
  • 注册日期2005-08-20
  • 最后登录2013-07-31
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望257点
  • 贡献值0点
  • 好评度134点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-02-11 14:19
驱动如何读写用户空间
cnwarror
驱动小牛
驱动小牛
  • 注册日期2005-08-20
  • 最后登录2013-07-31
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望257点
  • 贡献值0点
  • 好评度134点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-02-11 14:36
  




易用专业的PCI、USB、LED方案

驱动如何读写用户空间
cnwarror
驱动小牛
驱动小牛
  • 注册日期2005-08-20
  • 最后登录2013-07-31
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望257点
  • 贡献值0点
  • 好评度134点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-02-11 14:37
  




易用专业的PCI、USB、LED方案

驱动如何读写用户空间
cnwarror
驱动小牛
驱动小牛
  • 注册日期2005-08-20
  • 最后登录2013-07-31
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望257点
  • 贡献值0点
  • 好评度134点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-02-11 14:41
驱动如何读写用户空间
cnwarror
驱动小牛
驱动小牛
  • 注册日期2005-08-20
  • 最后登录2013-07-31
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望257点
  • 贡献值0点
  • 好评度134点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2008-02-11 14:50
驱动如何读写用户空间
cnwarror
驱动小牛
驱动小牛
  • 注册日期2005-08-20
  • 最后登录2013-07-31
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望257点
  • 贡献值0点
  • 好评度134点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2008-02-11 15:15
写驱动中,碰到个问题
应用层调用ioctl,向驱动传递一个指针(用户指针),驱动实现对该地址的读写功能
这个该怎么弄?
cnwarror
驱动小牛
驱动小牛
  • 注册日期2005-08-20
  • 最后登录2013-07-31
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望257点
  • 贡献值0点
  • 好评度134点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2008-02-11 15:17
就用他们
hotfire
驱动牛犊
驱动牛犊
  • 注册日期2002-01-30
  • 最后登录2008-09-02
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2008-06-18 16:09
copy_from_user ((void*)(dest), (void __user *) user_ptr, len);
copy_to_user((void __user*)user_ptr, (void*) src, len);
游客

返回顶部