linux
文章平均质量分 73
hanguangce
这个作者很懒,什么都没留下…
展开
-
I2C 协议 linux设备驱动和控制器驱动
i2c原创 2021-04-09 13:35:07 · 358 阅读 · 0 评论 -
dts 属性 pinctrl-names = “default“ 作用
之前一直有困惑 这属性 到底有没用,到底设置了没有[ 2.198826] Call trace:[ 2.198852] dump_backtrace+0x0/0x178[ 2.198863] show_stack+0x14/0x20[ 2.198891] dump_stack+0x94/0xb4[ 2.198912] pinctrl_commit_state+0xf8/0x158[ 2.198925] pinctrl_select_state+0x...原创 2022-02-26 16:17:38 · 1397 阅读 · 1 评论 -
rk sdmmc sdio
[ 1.146254] rockchip-iodomain ff770000.syscon:io-domains: Setting to 3000000 done[ 1.146256] CPU: 5 PID: 45 Comm: kworker/5:1 Not tainted 4.4.227-g334d0b436-dirty #25[ 1.146256] Hardware name: Pine64 RockPro64 (DT)[ 1.146259] Workqueue: even...原创 2021-08-03 21:42:59 · 1152 阅读 · 0 评论 -
qemu arm64 crash gdb
tar -xvfqemu-5.1.0./configure --target-list=aarch64-softmmumake生成qemutar -xvfcrash-7.2.9make target=ARM64(如果编译报错 是环境问题)编译生成crash编译:make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4 defconfigmake ARCH=arm64 CROSS_COMP...原创 2021-05-05 22:35:49 · 350 阅读 · 0 评论 -
power_supply 探究设备 关系
makefile: obj-$(CONFIG_MTK_CHARGER) += charger_class.o mtk_basic_charger.o mtk_charger.o mtk_charger_algorithm_class.o mtk_charger_intf.o adapter_class.o mtk_pd_adapter.o mtk_pd.o mtk_pd_hal.o mtk_pulse_charger.oobj-$(CONFIG_CHARGER_TYPE_MT6357)...原创 2021-04-29 18:09:19 · 3261 阅读 · 4 评论 -
进程调度时机
进程调度现在用的是完全公平算法策略;调度是个过程,需要时间和合适的时机。一般上下文 分为中断上下文和进程上下文。所谓上下文就是说当前代码运行所处的环境,假如说 当前cpu正在处理某个进程A的 计算任务,此时就算是再进程上下文。突然有个硬件信号,中断来了,cpu开始跑中断的任务了。这个时候就算是 中断上下文了(终端环境)。中断处理完会返回进程上下文。上面说到一个进程A再进程上下文状态,如果能保存好进程A的上下文信息,那么就可以从后面中断跑完后继续执行进程A暂停的任务(无论之前进程是再用户态还是内核态,因为原创 2021-04-27 15:06:55 · 413 阅读 · 0 评论 -
自旋锁和 信号量 互斥量 理解
自旋锁就是锁住资源 等待 资源没有被其他 线程拿到资源的锁,如果现在资源没有被锁住 ,那就锁住 资源执行流程。信号量,也是资源 被锁住 ,但是如果拿不到解锁条件,就放在等待队列。等到拿到资源时候 会被唤醒( 循环后面过程, 执行一次调度,主动切换到其他任务,等其他任务释放互斥锁时会唤醒当前任务,继续执行下面的函数)不同点: 信号量在创建时需要设置一个初始值,表示同时可以有几个任务可以访问该信号量保护的共享资源,初始值为1就变成互斥锁。 信号量加锁和解锁 可以在不同线程...原创 2021-04-26 18:01:31 · 174 阅读 · 0 评论 -
工作队列 和等待队列
队列就是一个链表,用来便于统一管理需要相同资源的进程唤醒队列进程就是修改其状态 为可运行,用于调度过程调度原创 2021-04-26 16:04:34 · 659 阅读 · 0 评论 -
进程调度关系--待续
进程 刚开始被调度 优先级会变低吗?如果一运行优先级被降低 ,如果这个时候有中断发生,岂不会 极有可能被其他进程抢占了原创 2021-04-20 21:29:04 · 153 阅读 · 0 评论 -
进程 内核空间 关系 《选摘》
内核转载 2021-04-17 00:35:15 · 377 阅读 · 0 评论 -
probe 加载过程 和初始化关系
1、probe 是进程里面跑的吗?2、probe 可以睡眠吗?睡眠后怎么被再次唤醒并继续执行?3、probe 调度和执行顺序4、probe 没跑完 系统怎处理probe 是驱动用的探测函数,明白一点 探测的目的。驱动的加载是需要条件的,问了保证系统的精简 ,probe作为一个判断条件,通过检查对应设备是否存在当前硬件系统中,通常是如果存在 就允许加载驱动,当然也有例外,就是有些模块存在但是探测不到,所以会在让probe函数 探测成功。 我们来看下 通常一个driver驱动...原创 2021-04-15 10:48:24 · 1665 阅读 · 0 评论 -
write class文件过程 的 trace 信息
下面是一个 写sys 节点的 调用信息[ 104.653189] <0>-(0)[1112:system_server]Call trace:[ 104.653804] <0>-(0)[1112:system_server] __irq_startup+0x80/0x88[ 104.654559] <0>-(0)[1112:system_server] irq_startup+0x40/0x11c[ 104.655304] <0>-...原创 2021-04-14 17:34:31 · 375 阅读 · 0 评论 -
open 函数 与 系统调用关系
fs/open.c文件里面有如下SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode){ if (force_o_largefile()) flags |= O_LARGEFILE; return do_sys_open(AT_FDCWD, filename, flags, mode);}在include/linux/syscalls.h 里面有这个宏...原创 2021-04-13 14:30:21 · 386 阅读 · 0 评论 -
romfs 文件系统和devtmpfs 文件系统
网上有很多关于romfs文件系统的介绍,文件接口简单 ,只读文件系统 之前对linux文件系统不了解,只知道是管理文件的系统,之前只停留在数据管理概念阶段 ,现在看看代码研究了下 大致思想,未完。。 我找了下 linux/fs/里面比较简单的一个文件系统romfs。因为是只读 那么省掉好多事情,数据文件和文件信息 是按照链表方式分布的。链表头(super block)-》文件头1(包含下一个文件的地址,文件类型,本长度,校验信息,文件名字)+文件数据 ...原创 2021-04-12 13:48:28 · 1169 阅读 · 0 评论 -
UART 和 N_GSM协议 及 linux设备驱动TTY关系
i2c原创 2021-04-09 13:59:47 · 1120 阅读 · 1 评论 -
SPI 协议 linux设备驱动和控制器驱动
linux spi驱动目录 在kernel\drivers\spi原创 2021-04-09 13:33:18 · 722 阅读 · 0 评论 -
linux 启动过程
start_kernel()原创 2021-04-09 13:21:23 · 330 阅读 · 0 评论