E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
initcall
Linux驱动初始化/退出
驱动初始化/退出参考1.
initcall
和module_init-知乎(zhihu.com)MODULE宏MODULES宏用于区分,驱动内置与模块加载。
0欧姆
·
2024-01-29 13:44
Linux
linux
驱动开发
linux内核
initcall
放置在各个section中函数执行流程
前言linux以及嵌入式一些代码,我们看到core_
initcall
、device_
initcall
等等需要链接器分配各个section,并且在启动该模块时候执行。
良知犹存
·
2024-01-07 02:21
Linux
linux
linux设备驱动中的module_init
linux中系统对驱动程序的加载提供了两种方式静态编译进内核和动态加载,并且驱动开发者通常会提供一个intxxx_init(void)函数,并通过诸如module_init(xxx_init)、early_
initcall
飘忽不定的bug
·
2024-01-02 00:59
经验分享
linux
驱动开发
运维
Linux 中
initcall
机制详解
源码基于:Linux5.40.前言Linux对驱动程序提供静态编译进内核和动态加载两种方式,当采用静态方式时,开发者如果想要在系统中启动这个驱动通常调用类似xxx_init()接口。最直观的做法:开发者试图添加一个驱动初始化程序时,在内核启动init程序的某个地方直接添加调用自己驱动程序的xxx_init()接口函数,在内核启动时就自然会启动这个驱动程序,类似:voidkernel_init(){
私房菜
·
2023-11-04 16:47
unix/linux
linux
initcall
module_init
device_init
selinux源码分析
selinux驱动模块位置:\linux-4.5-rc1\security1.selinux核心驱动的加载1)selinux文件节点的创建:在selinuxfs.c文件中,__
initcall
(init_sel_fs
bruk_spp
·
2023-10-10 15:34
linux
selinux
Linux启动速度优化方法总结
文章目录一、启动耗时统计printktimeinitcall_debugbootgraphbootchartgpio+示波器二、内核优化方法kernel压缩方式加载位置内核裁剪预设置lpj数值
initcall
嵌入式Linux充电站
·
2023-09-17 06:25
Linux内核
Linux驱动
linux
驱动开发
Linux内核
【Linux】内核宏定义解释postcore_
initcall
,arch_
initcall
,subsys_
initcall
postcore_initcallpostcore_
initcall
(pcibus_class_init)是一个宏,用于在Linux内核初始化过程中注册一个后期初始化函数。
逆风水手
·
2023-09-13 07:41
Linux
linux
运维
服务器
uboot学习笔记之七-第三个函数board_init_r
函数执行完成,C语言环境就算完全建立起来了.下面就完全是C的代码了.返回crt0.S,执行board_init_r(common/board_r.c),完成board_init_f没有完成的初始化工作,通过调用
initcall
_run_list
six2me
·
2023-09-09 13:23
嵌入式之uboot学习
学习
linux
Linux Kernel module_init执行过程
#definemodule_init(x)__
initcall
(x);#define__
initcall
(fn)device_
initcall
(fn)#definedevice_
initcall
(fn)
Megahertz66
·
2023-09-06 20:14
linux
networking
linux
kernel
linux kernel3.4.11 sock_init 调用过程
而是通过core_
initcall
(sock_init);/*earlyinitcall*/core_initcalls定义如下:/*Ininclude\linux\init.h*/#definecore_
initcall
Megahertz66
·
2023-09-06 20:13
linux
networking
linux
kernel
socket
boot
Binder驱动的注册流程
device_
initcall
(binder_init);staticint__initbinder_init(void){intret;char*device_name,*device_names,*
付凯强
·
2023-08-29 13:18
5. 驱动开发
的基本情况1.3.1相关文件1.3.2九鼎移植的内核中led驱动1.3.3案例分析驱动框架的使用1.3.4典型的驱动开发行业现状1.4初步分析led驱动框架源码1.4.1涉及到的文件1.4.2subsys_
initcall
1.4.3led_class_attrs1.4.4led_classdev_register1.5
不-语
·
2023-08-20 16:18
linux--驱动开发
驱动开发
驱动
Linux
Linux驱动
驱动框架
Linux内核基础 —
initcall
机制
Linux内核基础—
initcall
机制1.
initcall
的由来2.
initcall
源码2.1静态加载,`#ifndefMODULE`__define_
initcall
对应的段:`.
initcall
`
ʚ兔子的先森ɞ
·
2023-08-06 16:24
Linux
linux
驱动开发
linux
initcall
linux flash驱动设计思想总结
问题1:linux内核中的subsys_
initcall
是干什么的?
u011624475
·
2023-07-27 20:44
LINUX
acpi-pci(hotplug)总结
1.pci初始化memory@memory-153:~$cat/boot/System.map-3.16.0|greppci|grep__initcallffffffff81e5bba0t__
initcall
_pcibus_class_init2ffffffff81e5bba8t
翟云云
·
2023-04-16 00:12
Linux kernel启动流程--Apple的学习笔记
image.png在kernel5.4.16中搜索__
initcall
_start,可以发现lds中定义了开始和结尾标识符,然后c语言中不定义,直接引用。
applecai
·
2023-04-12 14:47
Linux boot 时 USB 的初始化过程分析1
接口驱动)(不包括hub)相关其他有关模块及顺序linux-5.11ok6410a中与usb相关的模块如下drivers/usb$nmbuilt-in.a|grepinitcall00000000d__
initcall
__pop_
·
2023-04-11 20:50
USB
linux
运维
服务器
详解 ARM PMU (Performance Monitoring Unit)
本文会详细讲解ARMPMU模块原理及代码流程kernelversion=4.14.90,arch=arm64初始化流程:arch/arm64/kernel/perf_event.cdevice_
initcall
寒霜落叶YIO
·
2023-04-07 02:49
Linux
kernel
ARM
PMU
PERF
编译进内核的驱动是如何工作的
module_init__
initcall
##level##_start关联到".
initcall
##level##.init"段和".
initcall
##level##s.init"段执行.
initcall
Paranoid-up
·
2023-03-30 04:14
Linux驱动V2.0
#
内核模块
arm开发
linux
驱动开发
C语言
嵌入式
【Linux API 分析】module_init与module_exit
文章目录1、前言2、调用层次分析2.1module_init2.2__
initcall
2.3device_
initcall
2.4___define_
initcall
2.5、module_init调用顺序汇总
卍一十二画卍
·
2023-03-29 19:05
Linux
API接口详解
linux
物联网
嵌入式硬件
Linux驱动开发
Linux
API
Linux系统启动过程中的
initcall
实现原理和调试方法
1.介绍在linuxkernel启动过程中,通过
initcall
机制调用初始化函数。
initcall
作为kernel经典设计机制之一延续至今。
Linux与SoC
·
2022-12-15 19:47
linux
服务器
华为atlas500小站开机学习
armbaudrate=115200board=hi3559av100board_name=hi3559av100bootargs=cma=90Mmem=4032Mconsole=ttyAMA2,115200
initcall
_debugramdisk_size
无证驾驶梁嗖嗖
·
2022-05-23 16:50
学习
华为
module_init() 、core_
initcall
() 、 early_
initcall
()的对比与分析
一般情况下,驱动使用device_
initcall
或者module_init。而early_
initcall
一般用更早,通常是驱动初始化前的一段时间,由初始化硬件子系统的部分所使用。
布枝盗
·
2022-01-13 16:52
C语言 module_init函数与
initcall
案例详解
module_init这个函数对做驱动的人来说肯定很熟悉,这篇文章用来跟一下这个函数的实现。在include/linux/init.h里面有module_init的定义,自然,因为一个module可以在内核启动时自动加载进内核,也可以由我们手动在需要时加载进内核,基于这种场景,内核使用了MODULE这个宏,见代码:#ifndefMODULE#ifndef__ASSEMBLY__...#define
·
2021-08-25 10:41
浅尝辄止38-module init2
书接浅尝辄止37-moduleinit1__
initcall
6_start昨天说,__
initcall
6_start与.
initcall
6.init是等价的,为了研究它,可以grep一下,就能在kernel
阿棍儿_Leon
·
2021-06-04 18:11
kotlin 类继承的演示
openclassPerson(name:String,age:Int){varcurrentName=name;varage=age;init{"
initcall
${currentName}name:
物是人非事事休欲语泪先流
·
2020-10-10 02:20
深入理解Linux网络技术内幕 第7章 组件初始化的内核基础架构
组件初始化的内核基础架构引导期间的内核选项注册关键字两遍分析使用引导选项配置网络设备模块初始化代码新模型:宏卷标引导期间初始化函数xxx_
initcall
宏__
initcall
和__exitcall和模块内存最优化
未羊_z
·
2020-09-16 06:07
深入理解LINUX网络技术内幕
内核
linux
编译内核出现问题: undefined reference to `__gnu_mcount_nc'
在编译内核时出现了如下错误:init/built-in.o:Infunction`do_one_
initcall
':calibrate.c:(.text+0x14):undefinedreferenceto
菜鸟冲锋号
·
2020-09-14 10:42
#
系统_Linux
Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键 批量修改文件名等...
http://blog.sina.com.cn/s/blog_62e7fe670101dg9d.htmllinux下二进制文件查找:strings0000.ts|grep-o"T"|wc-lgrep_
initcall
weixin_30756499
·
2020-09-14 04:15
video_register_device 创建节点的顺序/dev/video11,2,3
可以通过如下的方式改变驱动挂载循序subsys_
initcall
()module_init()late_
initcall
()...
zougui0812
·
2020-08-24 12:34
kernel
关键函数
rtc驱动框架分析
本驱动框架的代码以linux3.1.0为主1.rtc的启动代码分析subsys_
initcall
(rtc_init),说明rtc框架的初始化是在
initcall
4来调用的。
鹤冲云霄
·
2020-08-24 11:35
linux驱动
CONFIG_RTC_SYSTOHC
CONFIG_RTC_SYSTOHC,则会编译systohc.cobj-$(CONFIG_RTC_SYSTOHC)+=systohc.osystohc.c中只有一个函数,会在kernel初始化的后期自动执行late_
initcall
tiantao2012
·
2020-08-24 10:36
Linux
源码分析
linux系统时间初始化
driver/rtc/hctosys.c该文件中只有一个函数:rtc_hctosys,该函数通过宏定义late_
initcall
放在特殊的段,在系统启动时会调用该函数.该函数主要有两个动作:1.rtc_read_time
青蛙嘎嘎
·
2020-08-24 08:02
---------linux
driver-------
RTC何时更新系统时间
这个过程是在drivers/rtc/hctosys.c驱动中实现的,这个驱动实际只有一个init函数,并且把自己的init函数声明为late_
initcall
,这样可以保证RTC驱动已经正常运转。
kickxxx
·
2020-08-24 08:56
嵌入式Linux
Linux内核---17.platform_device的添加过程
函数调用过程如下:start_kernel-->rest_init-->开启一个线程:kernel_init-->do_basic_setup-->do_initcalls();//for循环将所有的__
initcall
wangcong02345
·
2020-08-20 12:24
linux内核
binder机制底层驱动浅析
binder驱动相关的文件路径:kernel/drivers/staging/android/binder.ckernel/drivers/staging/android/binder.hdevice_
initcall
wh8272878
·
2020-08-18 10:01
技术文档
linux 中module_init()加载顺序
目录阶段一:阶段二:阶段三:阶段一:kernel-3.18\include\linux\init.h中Linux内核为不同驱动的加载顺序对应不同的优先级,定义了一些宏:#definepure_
initcall
shafa00419
·
2020-08-15 15:16
Linux
Driver
Linux驱动Day01
2、内核模块的三要素a、入口(加载)函数注册—>>>module_init();typedefint(*
initcall
_t)(void);module_init(initfn)int__initxxx
求知小鱼儿
·
2020-08-15 12:58
Linux驱动编程
内核
嵌入式
011_GPIO的初始化
生成.o文件代表最终被编译进了内核除了menuconfig配置文件,还可以通过.o文件来判定该文件是否编译进了内核在gpio-exynos4.c文件最下面一行core_
initcall
(exynos4_
zxy131072
·
2020-08-15 12:05
itop-4412
inux
Ddriver
嵌入式学习笔记(十一)- GPIO的初始化
GPIO的初始化调用GPIO调用过程查看内核代码中gpio的设备,lsdrivers/gpio/*.o可以看到被编译进内核的gpio驱动找到编译的gpio源码打开查看gpio-exynos4.ccore_
initcall
xubaipei柏培
·
2020-08-15 11:59
嵌入式
Linux内核启动过程分析(十)-----RTC驱动分析
参考https://blog.csdn.net/xuao20060793/article/details/46433263这篇博文RTC驱动分析:Class.c(drivers\rtc):subsys_
initcall
嵌入式攻城狮小白
·
2020-08-14 07:04
Linux内核
Linux那些事儿 之 我是PCI(5)初始化(二)
.
initcall
2.init子节中的两个函数已经见识过了,该轮到.
initcall
3.init子节里的了,就是上边儿表中的acpi_pci_init和pci_access_init,这两个又是谁先谁后那
fudan_abc
·
2020-08-14 06:01
Linux那些事儿
之
我是PCI
Linux spi驱动分析(一)----总线驱动
二、设备注册在系统启动的时候,会按照顺序执行一些初始化程序,比如device_
initcall
和module_init等宏。
辉辉308
·
2020-08-14 03:13
Linux
SPI子系统
第一章 网络子系统初始化--基于Linux3.10
即由pure_
initcall
函数定义的函数先于core_
initcall
定义的
shichaog
·
2020-08-12 12:51
网络
linux的I2C驱动——ID匹配
如果将驱动编译入内核,定义如下:#definedevice_
initcall
(fn)__define_initc
Smile_Smilling
·
2020-08-11 11:17
linux驱动
i2c子系统分析:源码2. kernel-3.18\drivers\i2c\i2c-core.c
/*i2c_core.c分析postcore_
initcall
(i2c_init);module_exit(i2c_exit);#ifdefCONFIG_I2C_COMPAT//此宏为关重要的数据结构:
zhigouliu
·
2020-08-10 05:33
i2c子系统分析
GPIO的初始化
gpioexynos4”被编译进了内核–生成.o文件代表最终被编译进了内核–除了menuconfig配置文件,还可以通过.o文件来判定该文件是否编译进了内核在gpio-exynos4.c文件最下面一行–core_
initcall
zxy131072
·
2020-08-09 04:16
itop4412
MTK USB 子系统
一、USB子系统初始化1.kernel/drivers/usb/core/usb.c1subsys_
initcall
(usb_init);1staticint__initusb_init(void)2{
weixin_30938149
·
2020-08-09 00:17
Linux驱动开发(6)——GPIO初始化
gpio-exynos4.c文件的最后一行core_
initcall
(exynos4_gpiolib_init);core_
initcall
代表在linux初始化过程中会调用exynos4_gpiolib_init
孙太忙
·
2020-08-08 16:48
Linux嵌入式
Linux中USB协议栈的框架简介
文本旨在简单介绍一下Linux中USB协议栈的代码框架:下图是USB协议栈相关数据结构的关系图:下面结合上图看一下系统初始化的流程:1.USB子系统初始化:\drivers\usb\core\usb.csubsys_
initcall
anqian8401
·
2020-08-04 13:23
上一页
1
2
3
4
5
6
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他