linux驱动
文章平均质量分 89
Yengi
they say it's a matter of time!
谢谢关注,欢迎交流分享。
展开
-
ds18b20-温度传感器-linux驱动-杂项设备
使用混杂设备驱动框架。原创 2023-04-12 14:53:52 · 1371 阅读 · 1 评论 -
ring_log内核双向循环链表实现环形日志-6M缓冲区_proc接口_读取写入日志
由于procfs的默认操作函数只使用一页的缓存,在处理较大的proc文件时就有点麻烦,并且在输出一系列结构体中的数据时也比较不灵活,需要自己在read_proc函数中实现迭代,容易出现Bug。seq函数最早是在2001年就引入了,但以前内核中一直用得不多,而到了2.6内核后,许多/proc的只读文件中大量使用了seq函数处理。第一个参数是一个指向文件的指针,第二个参数是一个回调函数,用于向 seq_file 中写入数据,第三个参数是一个指向私有数据的指针,可用于传递一些上下文信息给回调函数。原创 2023-03-23 21:29:10 · 431 阅读 · 0 评论 -
设备驱动分类、设备号、字符设备
设备驱动分为三大类:字符设备、块设备、网络设备1.字符设备该设备对数据的处理按照字节流的形式进行的,支持顺序访问(是有时间的概念),也可以支持随机访问典型的字符设备:串口、键盘、触摸屏、摄像头、I2C、SPI、声卡、帧缓冲设备顺序访问的设备:串口、键盘、触摸屏随机访问的设备:帧缓冲设备2.块设备该设备的处理按照若干个块来进行的。一个块的固定大小512字节、4096字节。这类设备支持随机访问,这种以块和随机访问能够提高数据存储效率。原创 2022-12-31 17:09:38 · 2245 阅读 · 0 评论 -
微内核、宏内核、内核模块、printk
name:变量的名字type:变量或数组元素的类型nump:保存数组元素个数的指针,可选。默认写NULL。perm:在sysfs文件系统中对应的文件的权限属性,决定哪些用户能够传递哪些参数,如果该用户权限过低,则无法通过命令行传递参数给该内核模块。//baud变量 static int port [ 4 ] = {//port数组 static int port_cnt = 0;//记录module_param_array传递数组的长度 static char * name = "vcom"原创 2022-12-24 00:32:58 · 913 阅读 · 0 评论 -
BSP板机支持包、linux启动分析、ARM裸机编程
Board Support Package,板级支持包。它来源于嵌入式操作系统与硬件无关的设计思想,操作系统被设计为运行在虚拟的硬件平台上。对于具体的硬件平台,与硬件相关的代码都被封装在BSP中,由BSP向上提供虚拟的硬件平台,BSP与操作系统通过定义好的接口进行交互。以前嵌入式芯片厂商,会提供双系统(WinCE与Linux)平台的板级开发包,详细如下:BSP是所有与硬件相关的代码体的集合。一个成熟的商用操作系统,其被广泛应用的必要条件之一就是能够支持众多的硬件平台,并实现应用程序的硬件无关性。一般来说,这原创 2022-12-05 23:32:43 · 1129 阅读 · 0 评论