随笔分类 - linux kernel
linux 内核软件
摘要:相关文档: register_driver 到 probe 函数调用 https://www.cnblogs.com/zhangzhiwei122/p/16125014.html register_driver 函数,检查 dts 中是否有对应的设备,如果有匹配的设备,就调用 really_prob
阅读全文
摘要:版权声明:本文为CSDN博主「spongebob1912」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/spongebob1912/article/details/109496964 简述 soc内部管脚众多,
阅读全文
摘要:作者:TASK_RUNNING链接:https://www.jianshu.com/p/60e7238876a2 我们在驱动编程时,如果程序内使用了死循环,则一般会使CPU的占用率达到100%,某些情况下,我们希望降低CPU使用率,那应该怎么办呢? 1. schedule_timeout sched
阅读全文
摘要:版权声明:本文为CSDN博主「luckywang1103」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/luckywang1103/article/details/47859995 这里以内核usb gadge
阅读全文
摘要:上一篇:v4l2 驱动-ioctl 调用流程 https://www.cnblogs.com/zhangzhiwei122/p/16156730.html 原文链接:https://blog.csdn.net/liujun3512159/article/details/123857276 V4L2是
阅读全文
摘要:下一篇:v4l2 应用流程调用流程 https://www.cnblogs.com/zhangzhiwei122/p/16156750.html 原文链接:https://blog.csdn.net/lxllinux/article/details/81745452 ioctl详解 进入ioctl都
阅读全文
摘要:中断硬件相关 arm64 中断分类 sync exception; irq ; fiq ; serror; arm64 中断处理相关寄存器: SP_EL0,SP_EL1,SPSR_EL1,ELR_EL1,ESR_EL1,VBAR_EL1 硬件处理过程: a:保存PSTATE到SPSR_EL1; b:
阅读全文
摘要:上一篇: RESERVEDMEM_OF_DECLARE 对 dts 中预留的内存进行匹配和初始化 https://www.cnblogs.com/zhangzhiwei122/p/16125744.html 另外,dts 中,通常使用 memory-region 将设备和 reserved memo
阅读全文
摘要:RESERVEDMEM_OF_DECLARE 在 include/linux/of_reserved_mem.h 11struct reserved_mem { 12 const char *name; 13 unsigned long fdt_node; 14 unsigned long phan
阅读全文
摘要:module_init 这个宏定义在 include/linux/module.h module 的含义,即 模块; 有两类: builtin 的模块 (存在在 Image 中) 或者 独立的模块(存在在 xx.ko 中) 根据当前在编译 builtin 还是 编译 独立模块, module 宏有不
阅读全文
摘要:上一篇: module_init 宏解析 https://www.cnblogs.com/zhangzhiwei122/p/16125406.html module_i2c_driver module_i2c_driver 是一个宏,简化 i2c driver 模块中的重复代码 linux/incl
阅读全文
摘要:上一篇: module_i2c_diver 声明到 i2c_add_driver https://www.cnblogs.com/zhangzhiwei122/p/16125079.html i2c_add_driver ->i2c_register_driver linux/include/lin
阅读全文
摘要:版权声明:本文为CSDN博主「tangyongxiang_cn」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/tangyongxiang_cn/article/details/121704682 preempt
阅读全文
摘要:调度器 sched_class 结构体 调度器 需要做的动作都抽象出来,放在 接口 sched_class 里面,结构体定义在 linux/kernel/sched/sched.h 里面都是 函数指针, 定义了各种调度操作。 示例: enqueue_task - 将 task * p 加入到 rq
阅读全文
摘要:上一篇: vmalloc 机制和初始化 - 虚拟地址连续但是物理地址不连续的内存分配 https://www.cnblogs.com/zhangzhiwei122/p/16102827.html 前面的文章中,描述了 内核 中使用的 各种地址空间 和 物理内存 的管理机制。 这篇文章,描述 用户态进
阅读全文
摘要:上一篇: slub 分配器 - kmem_cache_init kmalloc / kfree https://www.cnblogs.com/zhangzhiwei122/p/16102021.html start_kernel -> mm_init -> vmalloc_init 818/* 8
阅读全文
摘要:上一篇: arm64内存-kmem_cache-slub-分配器-结构体和框架 https://www.cnblogs.com/zhangzhiwei122/p/16101959.html slub分配器-转载 篇优秀博文 推荐: 图解slub https://www.cnblogs.com/lin
阅读全文
摘要:上一篇 : arm64内存-memblock交接内存给zoned frame allocator (buddy system) https://www.cnblogs.com/zhangzhiwei122/p/16100012.html start_kernel -> mm_init -> kmem
阅读全文
摘要:上一篇:page alloc init https://www.cnblogs.com/zhangzhiwei122/p/16099528.html start_kernel -> mm_init -> mem_init 818/* 819 * Set up kernel memory alloca
阅读全文
摘要:上一篇:build all zonelists https://www.cnblogs.com/zhangzhiwei122/p/16099490.html start_kernel ->page_alloc_init 848asmlinkage __visible void __init __no
阅读全文