驱动开发
文章平均质量分 53
sydyh43
这个作者很懒,什么都没留下…
展开
-
基于I2C协议的驱动开发
基于底层I2C驱动的二次开发驱动原创 2022-06-25 14:58:16 · 460 阅读 · 0 评论 -
PCIe的个人入门学习
待补充原创 2022-03-15 15:40:51 · 318 阅读 · 0 评论 -
两个进程能同时进入内核态嘛
1、当一个进程从用户态进入到内核态的时候,在内核态期间进程进入休眠模式。此时,另外一个进程又从用户态进入内核态,那这个进程能继续往下执行嘛?两个进程此时用的是同一份内核栈嘛?2、验证2.1、构建场景1,两个进程调用同一个接口(open),此接口内核态下进入休眠模式。int dyh_test_open(struct inode *node, struct file *filp){ int *p = NULL; p = (int *)current_thread_info(); pri原创 2022-02-07 17:54:31 · 708 阅读 · 0 评论 -
多路IO复用,如何唤醒准备好的fd
1、先来看一段应用层的代码 /* 打开三个文件 */ if((fds[0].fd = open("/dev/in0", O_RDONLY|O_NONBLOCK)) < 0) { printf("open in0 error!\n"); return -1; } if((fds[1].fd = open("/dev/in1", O_RDONLY|O_NONBLOCK)) < 0) { printf("open in1 error!\n"); return -1;原创 2022-01-14 14:53:54 · 241 阅读 · 0 评论 -
基于SPI协议的驱动开发
1、linux下的spi协议框架一般spi-core以下的spi_master有芯片厂家开发完成。因此只需要完成SPI协议基础上的二次开发,比方说基于SPI协议实现网络数据的传输,或者SPI外围器件的控制,或者blalalala2、代码框架2.1、dts的配置,生成spi_master/*配置GPIO口模式为SPI模式*/spixxx_pins: spixxx_pins{ anyka,pins = <15 16 25 26 >; anyka,func.原创 2021-11-06 13:20:33 · 956 阅读 · 0 评论 -
编译驱动ko,多个.c文件情况下,怎么写makefile
https://blog.csdn.net/p1279030826/article/details/108040129原创 2021-01-09 19:37:29 · 2298 阅读 · 0 评论 -
SD卡拔插的识别和总线添加和删除
https://blog.csdn.net/zqixiao_09/category_6163492.htmlhttps://blog.csdn.net/weixin_42262944/category_9758652.html?spm=1001.2014.3001.5482转载 2021-08-13 16:07:25 · 108 阅读 · 0 评论 -
字符驱动的模板
一、字符驱动模块的模板1、字符设备节点创建2、阻塞和非阻塞3、file_operations注册4、信号5、中断(中断上下部分)6、锁7、定时器二、模板2.1、头文件<my_module.h>#ifndef __MY_MODULE_H__#define __MY_MODULE_H__#include <linux/kernel.h>#include <linux/module.h>#include <linux/moduleparam.原创 2021-07-03 21:44:15 · 82 阅读 · 0 评论 -
如何在内核中操作某个文件?
一、如何在内核中操作文件1、在应用层,可以通过open,read,write函数实现文件的操作。那内核里面呢?二、操作函数1. 分析在用户态,读写文件可以通过read和write这两个系统调用来完成(C库函数实际上是对系统调用的封装)。但是,在内核态没有这样的系统调用,我们又该如何读写文件呢?阅读Linux内核源码,可以知道陷入内核执行的是实际执行的是sys_read和sys_write这两个函数,但是这两个函数没有使用EXPORT_SYMBOL导出,也就是说其他模块不能使用。在fs翻译 2021-03-08 14:13:42 · 221 阅读 · 0 评论