![](https://img-blog.csdnimg.cn/20200217133333796.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux内核
文章平均质量分 89
Linux内核源码学习
知否,知否
世事洞明皆学问
展开
-
Linux MTD子系统(二)——mtdblock驱动分析
mtdX 和 mtdblockX实际上是同一个设备,mtdX是字符设备,mtdblockX是块设备mtdblockX存在的目的主要是为了挂载存在Flash里面的文件系统(例如yaffs2,jffs2)原创 2023-06-17 23:25:15 · 3466 阅读 · 2 评论 -
【嵌入式单元测试】C语言单元测试框架搭建
嵌入式单元测试框架搭建原创 2022-07-15 16:16:55 · 3266 阅读 · 3 评论 -
Linux MTD子系统(一)
MTD(Memory Technology Device)子系统(代表内存技术设备)为原始闪存设备提供了一个抽象层。 当使用不同的闪存类型和技术(例如NAND,OneNAND,NOR 等)时,可以使用相同的API。原创 2021-08-21 16:48:21 · 2176 阅读 · 1 评论 -
Linux input子系统(一)
Linux输入设备Linux将按键、键盘、鼠标、触摸屏等设备统称为输入设备,其本质还是字符设备。在一般情况下,这些输入设备在被按下时会产生一个中断或者由CPU定时轮询这些输入设备,如果输入有效,那么cpu会将读到的键值存在缓冲区,驱动的read接口就可以让用户层获取到这些键值。对于上述流程,在cpu读到有效键值之后的处理都是一样的,也就是read接口只会读取键值,不会关心具体是哪个设备。因此,Linux就设计了一个input框架来处理输入事件,这就是——input子系统。总结起来就是——Linux内核原创 2021-10-10 22:27:54 · 1182 阅读 · 1 评论 -
【NAND文件系统】UBIFS介绍
UBIFS 是诺基亚工程师在塞格德大学的帮助下开发的一种新的闪存文件系统。 在某种程度上,UBIFS 可以被视为 JFFS2 文件系统的下一代。UBIFS工作在UBI卷之上,不能在MTD设备之上运行,也不能在block设备上运行。......原创 2022-06-16 15:35:33 · 6213 阅读 · 0 评论 -
【文件系统】如何在ubi之上运行squashfs
UBI提供了能够在ubi卷之上创建只读块设备的特性,这使得squashfs也能够“运行”在ubi卷之上。原创 2022-06-22 15:25:58 · 3555 阅读 · 5 评论 -
【NAND文件系统】UBI介绍
UBI全称Unsorted Block Images,是一种原始flash设备的卷管理系统。这个系统能在一个物理的flash设备上管理多个卷并且能在整个flash芯片上实现损耗均衡。原创 2022-06-17 16:45:31 · 8120 阅读 · 1 评论 -
CONFIG_MTD_PARTITIONED_MASTER说明
CONFIG_MTD_PARTITIONED_MASTER对于许多用例,拥有一个用于整个设备的设备节点是有帮助的。MTD 设备以及各个分区的设备节点。例如,这允许查询整个设备的属性。一个常见的习惯用法是创建一个额外的分区,它跨越在整个设备上。这个补丁做了一个配置选项,CONFIG_MTD_PARTITIONED_MASTER,这使得主分区即使在设备已经建立分区的情况下仍然存在。 默认情况下不会打开,因为它提供了向后不兼容的设备编号。总结就是一句话:将整个flash设备当作一个分区注册进内核原创 2021-08-20 14:05:44 · 439 阅读 · 0 评论 -
container_of宏定义分析
container_of(ptr, type, member) 位于Linux内核源码Kernel.h中:#define offset_of(type, memb) \ ((unsigned long)(&((type *)0)->memb))#define container_of(ptr, type, member) ({ \ con...原创 2020-02-17 14:51:58 · 612 阅读 · 0 评论