驱动开发
文章平均质量分 70
犩未
这个作者很懒,什么都没留下…
展开
-
驱动——platform驱动总线三种匹配方式
三种platform驱动匹配方式代码案例以及现象原创 2022-11-29 20:30:26 · 1995 阅读 · 0 评论 -
驱动——按键中断控制LED灯实验
三个按键实现按键中断要求:按键按一下灯亮,再按一下灯灭原创 2022-11-28 21:07:03 · 3593 阅读 · 0 评论 -
驱动——gpio子系统(LED灯的操控实验)
使用GPIO子系统操控6盏LED灯的亮灭原创 2022-11-24 16:56:33 · 1231 阅读 · 1 评论 -
驱动——设备树属性获取相关实验
通过键名获取数值相关API获取设备树属性原创 2022-11-23 20:35:38 · 362 阅读 · 0 评论 -
驱动——串口工具点灯实验
a:分配字符设备驱动(struct cdev *cdev_alloc(void))echo 1 > /dev/myled0 ---->led1灯点亮。echo 0 > /dev/myled0 ---->led1灯熄灭。echo 1 > /dev/myled1 ---->led1灯点亮。echo 0 > /dev/myled1 ---->led1灯熄灭。echo 1 > /dev/myled2 ---->led1灯点亮。echo 0 > /dev/myled2 ---->led1灯熄灭。原创 2022-11-19 16:00:43 · 755 阅读 · 0 评论 -
驱动——ioctl数组及结构体传递
2>在long mydev_ioctl (struct file *file, unsigned int cmd, unsigned long arg)接口函数内,使用copy_from_user接收用户空间拷贝过来的信息,并进行打印,再使用copy_to_user函数将修改后的结构体信息拷贝到用户空间。4>通过dmesg查看内核层的打印信息,结果如下所示,应用层传递的数组信息以及结构体信息成功传递到内核层。3>编写用户程序,通过ioctl函数传递信息给内核空间,从而达到想要的操作结果,并进行打印。原创 2022-11-17 19:44:14 · 1184 阅读 · 0 评论 -
驱动——LED灯循环闪烁
3、通过copy_from_user函数从用户空间读取信息,对要进行操作的灯进行判断,并对相应寄存器进行操作。1、创建LED灯点亮所需要的GPIO寄存器的结构体,并对寄存器地址进行宏定义。使用结构体形式对寄存器地址进行映射,实现3盏LED灯的循环点亮。返回值: 成功返回虚拟地址,失败返回NULL。返回值: 成功返回0 失败返回未拷贝的字节数。函数功能:将物理地址映射为虚拟地址。@offset:映射之后的虚拟地址。@size:映射大小,单位字节。@from:用户空间首地址。@offset:物理地址。原创 2022-11-16 20:18:53 · 3043 阅读 · 0 评论 -
驱动——通用makefile文件代码
通过终端给变量进行赋值,并使用条件判断语句对要生成的架构进行判断,执行相应的语句。通过终端给变量进行赋值,并执行相应的语句。2.如何指定文件名?原创 2022-11-14 21:10:22 · 175 阅读 · 0 评论