随笔分类 -  linux驱动

摘要:[SDIO] SD card 初始化及常用命令解析 https://blog.csdn.net/u010443710/article/details/107014873 cmd0命令,是单向命令,host->device。不能保证硬件连接。 cmd8命令,是双向命令,能接收到ack,说明硬件通信是o 阅读全文
posted @ 2022-07-12 11:17 高山小路 阅读(1449) 评论(0) 推荐(0) 编辑
摘要:一、进程的状态 就绪,运行,睡眠(深度,浅度),停止(手动停止程序,如ctrl+z,gdb 调试,fg/bg实现停止和就绪的切换),僵尸(子进程退出,父进程没有wait) 二、进程的创建 1.进程资源分配单位,包括mm fs signal,pid等资源 2.fork,就是把描述进程资源的task s 阅读全文
posted @ 2022-05-26 18:26 高山小路 阅读(44) 评论(0) 推荐(1) 编辑
摘要:在驱动开发,或者linux内核,里面有很多双向队列的使用。 里面自己简单自己模仿写了一下代码,记录双向队列的实现。 #include <stdio.h> #include<stdlib.h> #define offsetof(type,member) (int)(&((type )0)->membe 阅读全文
posted @ 2022-05-25 20:16 高山小路 阅读(109) 评论(0) 推荐(0) 编辑
摘要:1.设备树是一个dts文件,利用dtc工具,可以编译成dtb,或者dtb,反编译为dts. 2.uboot在启动的时候,通过r2寄存器,告诉kernel的dtb位置,此时的dtb是紧凑结构 3.kernel启动,会展开dtb,变成kernel内部定义的数据结构,device_node。https:/ 阅读全文
posted @ 2022-05-24 12:00 高山小路 阅读(75) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/wang_518/article/details/108913575 linux内核中的内存分配 1、devm_kzalloc & devm_kfree 函数devm_kzalloc和kzalloc一样都是内核内存分配函数,但是devm_kzalloc是跟 阅读全文
posted @ 2022-05-20 15:50 高山小路 阅读(124) 评论(0) 推荐(0) 编辑
摘要:设计驱动阻塞机制,通过等待队列wait_queue来实现 1.schedules之后,等待信号,函数就退出了,原因是什么?******** 答: signal_pending( current )―――》检查当前进程是否有信号处理,返回不为0表示有信号需要处理。 if(signal_pending( 阅读全文
posted @ 2022-05-20 12:41 高山小路 阅读(265) 评论(0) 推荐(0) 编辑
摘要:1.问题产生的原因: a.目前是多核架构,smp,会导致多个核,操作同一个数据,出现数据不一致的情况 b.单核,由于中断的存在,也有可能造成数据不一致 c.cpu代码,在编译可能乱序,不是人为的顺序执行,在执行的时候,也可能乱序,导致数据不同步 2.问题的存在,目前提出来的解决办法。 a.开关中断, 阅读全文
posted @ 2022-05-19 17:12 高山小路 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1.前面2篇文章,都是内存设备,没有操作具体的硬件设备,对于驱动开发来说,没有操作硬件的驱动,那都是假驱动。 2.设置驱动和设备不分开,也不符合linux驱动框架,对于总线,设备,驱动框架来说,必须分开。 3.对于平台设备,都是基于dts,来创建平台性的设备,用户dts里面的compatible和驱 阅读全文
posted @ 2022-05-19 16:41 高山小路 阅读(19) 评论(0) 推荐(0) 编辑
摘要:前面一篇文章,自己记录了字符设备开发。实现内存数据的读写,但是有个问题,设备的创建,需要依靠手动的mknod来创建,有没有改进,直接加载驱动, 就可以完成设备的自动创建了,这里增加了class_create的创建,实现驱动的加载和设备创建,同步触发。对应平台性的设备来说,这样的创建,也是可以接受的。 阅读全文
posted @ 2022-05-19 15:56 高山小路 阅读(24) 评论(0) 推荐(0) 编辑
摘要:本驱动笔记,都是记录宋宝华的驱动书籍,代码也是参考他的,撰写文章,主要记录学习心得 1.字符驱动,作者用globalmem这样的例子来讲解驱动。 问题1.insmod globalmem.ko驱动。如何和mknod 创建的设备绑定的。 答:通过主设备号来绑定。 问题2.insmod globalme 阅读全文
posted @ 2022-05-19 13:50 高山小路 阅读(62) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示