Stay hungry! Stay foolish!
蓝牙之SSP过程分析 蓝牙之SSP过程分析
[TOC] 背景 Kernel: v5.4.18 Bluetooth:v5.2 Bluez: v5.53 相关概念SSP:Secure Simple PairingOOB: Out of Band Host A: 手机Host B: PC
2021-09-08
蓝牙相关知识 蓝牙相关知识
蓝牙相关知识[TOC] 背景蓝牙协议:v5.2蓝牙官网:https://www.bluetooth.com/specifications/specs/ 前段时间,v5.3版本已经发布 主要应用领域 数据传输,主要物联网 音频传输,手机、
2021-09-06
Linux之蓝牙相关代码浅析 Linux之蓝牙相关代码浅析
Linux之蓝牙相关代码浅析[TOC] 主要记录一些整体的概念、框架和简单介绍,不涉及具体的原理和实现细节 Linux协议栈Kernel: v5.4.18Bluez官网:http://www.bluez.org/ Linux蓝牙协
2021-09-06
Kernel之中断处理底半部机制 Kernel之中断处理底半部机制
Kernel之中断处理底半部机制[TOC] 主要记录一些整体的概念、框架和简单介绍,不涉及具体的原理和实现细节 背景查看系统相关中断: cat /proc/interrupts 中断服务程序要求尽量短小精悍,耗时短。
2021-09-06
Kernel之init相关 Kernel之init相关
Kernel之init相关[TOC] 主要记录一些整体的概念、框架和简单介绍,不涉及具体的原理和实现细节 背景在看驱动代码的时候经常会看到module_init、subsys_initcall等xxx_init相关的代码,以前只知道是该驱动
2021-09-06
kernel之最简单字符设备驱动模板 kernel之最简单字符设备驱动模板
kernel之字符设备驱动模块一个最简单的字符驱动模板: /* 设备结构体 */ struct xxx_dev_t { struct cdev cdev; ... } xxx_dev; /* 读设备 */ sta
2021-08-14
kernel之工作队列workqueue kernel之工作队列workqueue
背景之前在触摸驱动(比如汇顶等)的代码里,会看到INIT_WORK等相关字眼,只知道是和工作队列相关,没有深入研究学习。最近在看蓝牙HCI相关代码中,又看到了INIT_WORK等,觉得工作队列(workqueue)需要好好看看,并记录下 工
2021-08-14
内核启动参数cmdline 内核启动参数cmdline
背景我们常用cmdline去控制某些功能的开启或关闭,或是传递一些参数。在系统下,我们可以使用cat /proc/cmdline来查看启动参数,那uboot或是grub的启动参数cmdline是怎么传递解析的呢? 传递与解析以arm64为例
2021-08-07
只读模式引发的升级问题 只读模式引发的升级问题
问题及解决最近在升级系统的时候,遇到一个很奇怪的问题,报错如下: 正在设置 network-manager (1.22.10-1kylin8) ... ln: 无法创建符号链接'/etc/resolv.conf&
2021-08-07
likely与unlikely函数 likely与unlikely函数
likely与unlikely函数if (unlikely(ac.nodemask != nodemask)) { ... } 使用likely ,执行if后面语句的可能性大些,编译器将if{}是的内容编译到前面, 使
2021-07-22
宏#if IS_ENABLED(CONFIG_XXX)与#ifdef CONFIG_XXX 宏#if IS_ENABLED(CONFIG_XXX)与#ifdef CONFIG_XXX
背景 kernel: v5.4.18 最近在合一个蓝牙驱动,遇到一个需要注意的小细节,特此记录!驱动打成Y,没问题;打成M,有问题后来定位问题在#ifdef CONFIG_XXX,使用#if IS_ENABLED(CONFIG_XXX
2021-07-22
内核定时器API之timer_setup 内核定时器API之timer_setup
内核定时器API之timer_setup最近在写一个测试驱动demo,发现以前用的init_timer用不了了,后面发现现在新的内核都用timer_setup()了,特此记录 从4.14 Linux内核开始使用带有三个args的timer_
2021-07-22
1 / 6