![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux驱动
文章平均质量分 86
小野嵌入式
这个作者很懒,什么都没留下…
展开
-
内核模块高级-多文件编译、加载、参数传递、模块依赖
对于比较复杂的驱动程序,常常会把它的功能进行拆分,由不同的文件实现,这样也能进行并行开发,缩短开发周期。多文件编译的简单例子如下:ext.cMakefile其中KERNELDIR是内核源码目录所在的路径。新增了ext.c及ext.h,在里面定义了xxx_init机xxx_exit函数。在Makefile里面的第2行“mymod-objs=mod.o ext.o”表示mymod模块是由mod.o和ext.o两个目标文件共同生成的,最后生成的文件为mymod.ko。原创 2024-07-21 21:54:47 · 636 阅读 · 0 评论 -
内核模块编写及编译
操作系统是运行在硬件层之上的,给应用程序提供运行环境的裸机程序。目前操作系统有两种典型的内核实现模式:1、单内核(宏内核):所有子模块代码编译到一个比较大的可执行文件(镜像文件)中。各子模块代码共用同一套运行资源,各模块间的交互直接通过函数调用来进行。如:linux 2、微内核:只将任务管理、内存管理、启动管理最其本的三个子模块编译到一个微型可执行文件中。其它子模块则各自编译成独立的后台服务程序,这些服务程序与微型内核以及APP间主要通过各种IPC进行通讯。如:windows 。原创 2024-07-14 10:20:30 · 535 阅读 · 1 评论