在编写LED驱动中,已经通过ioremap()函数获得了对应的LED寄存器的虚拟地址,为什么不能直接控制GPJ2DAT_VA中的值?还要先将buf通过 copy_from_user函数从用户空间写到内核空间中,再去判断wbuf的值再去配置对应的寄存器呢?是因为驱动加载的时候已经进入到了内核中,不会去读取用户空间的数据了吗?下面是部分程序,本人初学驱动,对这方面还不是很了解,请大佬不吝赐教ret = copy_from_user(wbuf,buf,len);
if(ret!=0)
{
printk("failed to copy from user\n");
return -1;
}
 
if(wbuf[0]=='0')
{
*GPJ2DAT_VA &=~0xf;
*GPJ2DAT_VA |=0xe;
}————————————————
版权声明:本文为CSDN博主「ZJE_ANDY」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014453898/article/details/60144021