天嵌 ARM开发社区

 找回密码
 注册
查看: 1531|回复: 1

copy_form_user 失败

[复制链接]
单斗鱼 发表于 2012-4-21 12:48:27 | 显示全部楼层 |阅读模式
驱动层
//_________________________________________________________________________________
#define MAX_CS 8
#define MAX_OFFSET 192
#define MAXCOPYDATA 1024
static unsigned char cpdata[MAXBUFF];
static ssize_t led_3d_write(struct file *file, const char __user *buf, size_t count, loff_t * ppos)
{
        unsigned char *cpd=cpdata;
        int texx,cc;unsigned char teyy;

        memset(cpd,1,MAXBUFF);
        copy_from_user(cpd,buf,MAXCOPYDATA);
        printk(KERN_ALERT"/-------------------------- \n");
        printk(KERN_ALERT"cpd[0]-->teyy=%x \n",cpd[0]);
        printk(KERN_ALERT"cpd[1]-->teyy=%x \n",cpd[1]);
        printk(KERN_ALERT"/-------------------------- \n");
}
//_________________________________________________________________________________
用户层
main()
{
    int fd,x;
    char* filename;
        unsigned char display[5000];
        unsigned char cop[2];
       unsigned char val,*disp=display;

           cop[1]=val=*argv[4];
           printf("argv[4]=%x \n",val);
           cop[0]=val=*argv[3];
           printf("argv[3]=%x \n",val);          
           memcpy(display,cop,2);
}

//_________________________________________________________________________________

运行[\u@\h\W]#./ledtest  /dev/led on a 4
为什么printk 出的结果
有时为
cpd[0]-->teyy=61
cpd[1]-->teyy=34

有时为
cpd[0]-->teyy=0
cpd[1]-->teyy=0
由于什么原因引起这copy_form_user 失败的?







TQ_guoxixiao 发表于 2012-4-25 14:49:46 | 显示全部楼层
没看到你调用led_3d_write这个函数,copy_form_user 也没有执行呀。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-9-28 13:23 , Processed in 1.045938 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表