自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 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 1297 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 1092

原创 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 313

原创 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 2938 4

原创 进程调度时机

进程调度现在用的是完全公平算法策略;调度是个过程,需要时间和合适的时机。一般上下文 分为中断上下文和进程上下文。所谓上下文就是说当前代码运行所处的环境,假如说 当前cpu正在处理某个进程A的 计算任务,此时就算是再进程上下文。突然有个硬件信号,中断来了,cpu开始跑中断的任务了。这个时候就算是 中断上下文了(终端环境)。中断处理完会返回进程上下文。上面说到一个进程A再进程上下文状态,如果能保存好进程A的上下文信息,那么就可以从后面中断跑完后继续执行进程A暂停的任务(无论之前进程是再用户态还是内核态,因为

2021-04-27 15:06:55 385

原创 自旋锁和 信号量 互斥量 理解

自旋锁就是锁住资源 等待 资源没有被其他 线程拿到资源的锁,如果现在资源没有被锁住 ,那就锁住 资源执行流程。信号量,也是资源 被锁住 ,但是如果拿不到解锁条件,就放在等待队列。等到拿到资源时候 会被唤醒( 循环后面过程, 执行一次调度,主动切换到其他任务,等其他任务释放互斥锁时会唤醒当前任务,继续执行下面的函数)不同点: 信号量在创建时需要设置一个初始值,表示同时可以有几个任务可以访问该信号量保护的共享资源,初始值为1就变成互斥锁。 信号量加锁和解锁 可以在不同线程...

2021-04-26 18:01:31 155

原创 工作队列 和等待队列

队列就是一个链表,用来便于统一管理需要相同资源的进程唤醒队列进程就是修改其状态 为可运行,用于调度过程调度

2021-04-26 16:04:34 611

原创 进程调度关系--待续

进程 刚开始被调度 优先级会变低吗?如果一运行优先级被降低 ,如果这个时候有中断发生,岂不会 极有可能被其他进程抢占了

2021-04-20 21:29:04 125

转载 进程 内核空间 关系 《选摘》

内核

2021-04-17 00:35:15 357

原创 probe 加载过程 和初始化关系

1、probe 是进程里面跑的吗?2、probe 可以睡眠吗?睡眠后怎么被再次唤醒并继续执行?3、probe 调度和执行顺序4、probe 没跑完 系统怎处理probe 是驱动用的探测函数,明白一点 探测的目的。驱动的加载是需要条件的,问了保证系统的精简 ,probe作为一个判断条件,通过检查对应设备是否存在当前硬件系统中,通常是如果存在 就允许加载驱动,当然也有例外,就是有些模块存在但是探测不到,所以会在让probe函数 探测成功。 我们来看下 通常一个driver驱动...

2021-04-15 10:48:24 1526

原创 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 359

原创 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 358

原创 led驱动 为什么要创建线程

通常led驱动里面大部分是 根据硬件编排设计好 控制驱动程序,会预留出接口给用户控制 : /sys/class/leds/xx/birgness进程要把led的基本流程跑完,如果说不跑完直接 等着,用户给接口参数的时候在继续跑,那第一个 用户操作指令 ,还要负责把之前进程没有跑完的跑完。如果另外开一个线程就不一样了,之前的进程继续跑。用户控制接口的时候 ,只需要跑接口里面的代码需要的代码就行。...

2021-04-13 09:37:04 132

原创 romfs 文件系统和devtmpfs 文件系统

网上有很多关于romfs文件系统的介绍,文件接口简单 ,只读文件系统 之前对linux文件系统不了解,只知道是管理文件的系统,之前只停留在数据管理概念阶段 ,现在看看代码研究了下 大致思想,未完。。 我找了下 linux/fs/里面比较简单的一个文件系统romfs。因为是只读 那么省掉好多事情,数据文件和文件信息 是按照链表方式分布的。链表头(super block)-》文件头1(包含下一个文件的地址,文件类型,本长度,校验信息,文件名字)+文件数据 ...

2021-04-12 13:48:28 1113

原创 UART 和 N_GSM协议 及 linux设备驱动TTY关系

i2c

2021-04-09 13:59:47 968 1

原创 I2C 协议 linux设备驱动和控制器驱动

i2c

2021-04-09 13:35:07 337

原创 SPI 协议 linux设备驱动和控制器驱动

linux spi驱动目录 在kernel\drivers\spi

2021-04-09 13:33:18 646

原创 linux 启动过程

start_kernel()

2021-04-09 13:21:23 300

空空如也

空空如也

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

TA关注的人

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