
Linux驱动
Linux驱动
我才不要写代码呢
这个作者很懒,什么都没留下…
展开
-
Linux驱动入门(N)字符设备之ioctl
ioctl在2.6以后的内核版本被修改成了unlocked_ioctl,它们两个有什么区别,我也不知道。unlocked_ioctl出了减少了一个inode参数以外,是完全兼容ioctl的。只是在注册回调函数时要注意一下 int (*ioctl)(struct inode *inode, struct file *filp, unsigned int cmd, unsigned longarg) int (*unlocked_ioctl) (struct usb_interface *intf,原创 2020-08-06 14:29:53 · 268 阅读 · 0 评论 -
Linux驱动开发入门(一)驱动的概念
驱动的概念什么是驱动?驱动的分类什么是驱动?缺少驱动的电脑是什么样的? 试想一下,你有一台缺少USB驱动的电脑。那么当你电脑上插入一个U盘的时候,U盘只是和电脑的物理接口连在一起,通了电。因为没有软件驱动,没进行USB通信,无法读取到U盘内的数据。就不会和正常一样提示移动设备插入,不能在文件系统中打开U盘。 正如缺少USB驱动的电脑无法操原创 2020-08-03 11:21:59 · 613 阅读 · 0 评论 -
Linux驱动开发入门(二)VS code驱动开发配置
开发环境配置VS code安装配置VS code安装VS code是一款功能强大的开源编辑器,能够在各个平台安装使用,如Linux、Widows、Mac。而我们Linux驱动直接运行在Linux上,所以下载安装在Linux平台。示例机系统为Ubuntu 20.04 。下载官网:https://code.visualstudio.com根据系统不同选择对应安装包,这里我选deb安装命令示例(code_名称为安装包名,可能会有差异)sudo dpkg -i code_1.46.1-15924原创 2020-08-03 14:12:41 · 3311 阅读 · 1 评论 -
Linux驱动开发入门(三)Hello Kernel
根据上一章的配置,我们的VS编辑器已经可以开发驱动了。那么按照程序员的国际惯例,第一个应用程序Hello world,而开始我们内核驱动的第一个程序Hello kernel。在VS code中新建C文件,如kernel_test.c输入如下代码#include <linux/init.h>#include <linux/module.h>int __init test_init(void){ printk("%s", __func__); return原创 2020-08-03 18:01:35 · 1224 阅读 · 0 评论