linux驱动
以linux驱动为主,包含一些基础小知识和框架等等
symcsu
这个作者很懒,什么都没留下…
展开
-
设备树的reg属性
reg`属性通常包含一系列的地址和长度对,它们指定了设备在物理或虚拟地址空间中的位置和大小。在这个上下文中,`reg`属性告诉操作系统UART(通用异步接收/发送器)设备从物理地址`0x101f0000`开始,占用4096字节的地址空间。- `reg`属性指定了设备的基地址`0x101f0000`和映射的地址范围大小`0x1000`(4096字节)。- `uart0`是节点的标签,`serial@101f0000`是节点的名称和它的基地址。- `interrupts`属性指定了设备使用的中断号。原创 2024-04-22 17:10:59 · 1014 阅读 · 0 评论 -
应用程序open如何调用到驱动程序的open函数,inode和file的理解+主次设备号
在该函数中通过inode结构体中的成员变量(inode->i_rdev 包含设备号),在 cdev_map 中查找设备号所对应的字符设备驱动程序cdev 结构体的成员变量kobject,利用该成员变量找到对应的 cdev 结构体,此时,完成由设备驱动节点(inode)找到对应设备驱动(cdev)的步骤。1.知道主设备号与次设备号,可通过dev_t dev = MKDEV(主设备号,次设备号)获得设备号;驱动只有一份,存在多个同类字符设备的时候,得由驱动来区分不同的设备,怎么区别呢?原创 2024-03-30 20:11:04 · 869 阅读 · 0 评论 -
100ask imx6ull 驱动(设备树)装载步骤
将生成的arch/arm/boot/dts/100ask_imx6ull-14x14.dtb 传给~/nfs_rootfs/将 *.ko 以及所需要的执行文件传给~/nfs_rootfs/4:将设备树文件传到板子的/boot/ 目录下。2. 回到linux内核目录下,执行命令。3:make 驱动代码。6: 查看设备节点信息。原创 2023-12-15 17:04:27 · 723 阅读 · 0 评论 -
利用gpio直接创建中断请求
【代码】利用gpio直接创建中断请求。原创 2023-11-28 21:37:52 · 418 阅读 · 0 评论 -
获取硬件中断号的方法及其resource的内容
先从平台设备pedv中获得IRQ类型的资源:irq。irq->start就是其中断号。原创 2023-11-28 20:53:24 · 436 阅读 · 0 评论 -
usb设备驱动程序(一)
dmesg 命令主要用来显示内核信息。使用 dmesg 可以有效诊断机器硬件故障或者添加硬件出现的问题。另外,使用 dmesg 可以确定您的服务器安装了哪些硬件。每次系统重启,系统都会检查所有硬件并将信息记录下来。执行/bin/dmesg 命令可以查看该记录,开机信息亦保存在/var/log目录中,名称为dmesg的文件里。2.插拔usb设备,并用dmesg 查看信息。原创 2023-12-24 21:14:30 · 624 阅读 · 0 评论 -
usb设备驱动程序(二)
lsusb -v -d 0x2bdf: 查看usb描述符等信息 (Ubuntu中使用)2bdf为ID号。2.usb驱动程序框架。原创 2023-12-26 10:20:45 · 535 阅读 · 0 评论 -
驱动框架之_gpio_and_pinctrl-设备树的修改
有 些 芯 片 只 提 供 文 档 , 那 就 去 阅 读 文 档 , 一 般 在 内 核 源 码 目 录Documentation\devicetree\bindings\pinctrl 下面,保存有该厂家的文档。如果连文档都没有,那只能参考内核源码中的设备树文件,在内核源码目录。界面中选择引脚, 配置它的功能,这就可以自动生成 Pinctrl。”后运行,打开 IMX6ULL 的配置文件“回车 即可定位到,然后将信息添加进去。在设备树文件中输入 /1:设置设备树中的信息。最后一步,网络搜索。原创 2023-12-16 15:15:51 · 531 阅读 · 0 评论 -
使用liusb读取鼠标数据(同步传输)
【代码】使用liusb读取鼠标数据(同步传输)原创 2024-01-02 14:18:18 · 692 阅读 · 0 评论 -
使用liusb读取鼠标数据(异步传输)
【代码】使用liusb读取鼠标数据(异步传输)原创 2024-01-02 15:37:10 · 645 阅读 · 1 评论 -
总线设备驱动框架
4. 注意: 所谓的platform_device并不是与字符设备、块设备和网络设备并列的概念,而是Linux系统提供的一种附加手段,例如,把内部集成的I2C、RTC、SPI、LCD、看门狗等控制器都归纳为platform_device,而它们本身就是字符设备。1.知道主设备号与次设备号,可通过dev_t dev = MKDEv(主设备号,次设备号)获得设号;1.platform_device:修改设备树,添加设备(device)节点,设备树节点部分会被转换为 platform_device。原创 2024-03-18 19:59:08 · 842 阅读 · 0 评论 -
字符设备驱动框架——LED为例(有待完善)
修改于韦东山老师的代码修改。原创 2023-12-15 21:55:16 · 422 阅读 · 0 评论 -
register_chrdev函数使用
注册函数不仅仅有register_chrdev 还有其他,见上文。原创 2023-12-15 21:42:59 · 636 阅读 · 0 评论