自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Linux 内核数据结构解析--无锁链表

无锁链表定义在include/linux/llist.h。无锁链表是一种单向链表定义:struct llist_head { struct llist_node *first;};struct llist_node { struct llist_node *next;};以下基于llist.h的头文件注解:1. 多生产者,多消费者的场景:生产者可以调用llist_add,消费者可以调用llist_del_all。无需加锁使用。llist_del_first不能无锁使用,

2021-07-11 11:30:59 1453

原创 Linux 内核数据结构解析--哈希链表

一、Hash表的基本定义1.1 Hash的概念散列表(Hash table,也叫哈希表),是一种数据结构,可以用于存储Key-Value键值对。也就是说,通过Key来映射到具体的Value。通常用于查找。将Key映射到Value的函数叫做Hash函数,而存储Key-Value的表叫做Hash表。Hasn表常用数组来存储。1.2 常用的Hash函数1.3 常用的处理碰撞的方法如果说存储空间是无线的,那只要定义一个与需要存储的键值对数量等同的数组即可,这样每一个元素都有对应的存储空间,但实际

2021-07-10 22:58:21 1054 1

原创 GD32 时钟配置解析(以GD32F405为例)

占坑

2021-06-27 22:10:42 15631 2

原创 Devicetree SpecificationRelease 之(6)DEVICETREE SOURCE (DTS) FORMAT (VERSION 1)

Devicetree Source (DTS)格式是设备树的文本表示形式,dtc可以将其处理为内核所期望的二进制设备树形式。下面的描述不是DTS的正式语法定义,而是描述用于表示设备树的基本构造。

2021-06-20 16:42:45 153

原创 Devicetree SpecificationRelease 之(3)DEVICE NODE REQUIREMENTS

3.1 Base Device Node Types下面的部分指定了符合dtspec的设备树中所需的基本设备节点集的要求。

2021-06-20 09:54:00 282

原创 Devicetree SpecificationRelease 之(2)THE DEVICETREE

2.1 OverviewDTSpec采用了一个称为设备树的数据结构来描述系统的硬件信息。引导程序将设备树加载到客户端程序的内存中,并将指向该设备树的指针传递给客户端。

2021-06-19 23:11:11 389

原创 Devicetree SpecificationRelease 之(1)Introduction

设备树文档官方网址:Specifications - DeviceTree

2021-06-15 23:36:40 383 1

原创 Linux 内核数据结构解析--双向链表

链表 队列 映射 二叉树

2021-06-14 22:48:18 584 2

原创 Ubuntu 内核模块编译Makefile模板

obj-m := test.oKERNELDIR := /lib/modules/$(shell uname -r)/buildPWD := $(shell pwd)default: $(MAKE) -C $(KERNELDIR) M=$(PWD) modulesclean: rm -r *.o *.ko *.mod.*

2021-06-14 22:36:20 293

原创 Linux 内核 Kobject/Kset/Ktype解析

占位

2021-06-14 21:05:07 128

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除