首页 > 其他分享 >内核编译obj-m和obj-y的区别

内核编译obj-m和obj-y的区别

时间:2023-10-20 17:46:16浏览次数:56  
标签:文件 obj kernel 编译 内核 test

在内核编译时,主要涉及一下文件:

kernel/arch/arm/configs/*.defconfig

kernel/driver/*/Makefile

kernel/driver/*/Kconfig

如果我们想要往内核中增加新的节点,还要涉及到设备树文件,kernel/arch/arm/boot/dts/

在进行模块编译时,主要有两个选项,obj-m和obj-y,而与内核密切相关的是obj-y选项,下面对两者之间的区别简单总结一下。

以test.c文件为例:

obj-m += test.o

obj-y += test.o

其中:

obj-m表示把文件test.o作为"模块"进行编译,不会编译到内核,但是会生成一个独立的 "test.ko" 文件;

obj-y表示把test.o文件编译进内核;

编译进内核的某个程序,若想以模块的方式进行执行,请参阅hello.ko-Makefile,只需把hello.o改成相应的****.o即可。
————————————————
版权声明:本文为CSDN博主「江南3708」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_28779021/article/details/78583981

 

标签:文件,obj,kernel,编译,内核,test
From: https://www.cnblogs.com/im18620660608/p/17777621.html

相关文章

  • 【Linux驱动】内核模块编译 —— make modules 的使用(单模块编译、多模块编译)
    编译驱动一般采用的是将驱动编译成模块(.ko文件),然后加载到内核,这其中就用到了makemodules命令。目录一、单模块编译1、一个c文件编译成一个ko文件2、多个文件编译成一个ko文件二、多模块编译(多文件多模块)一、单模块编译1、一个c文件编译成一个ko文件下面是最简......
  • 《Linux内核完全注释》(1)
    1概述1.1Linux发展1.1.1UnixUnix诞生于1969年,1972年用C语言进行改写,使其能够广泛推广。1.1.2Minix基于Unix,一群老师研发了minix用于教学,但是由于不开源,功能也不够,只够用于教学。这激发了Linus开发了Linux操作系统。1.1.3GNU计划在1984年,为了推广开源操作系统,让大家都......
  • TypeError: Object of type 'Animal' is not JSON serializable/ 自定义对象 转json串
     importjsonclassAnimal(object):def__init__(self):self.name='tom'def__repr__(self):returnf'mynameis{self.name}&ilikeapple'd1={'county':'china','name':Ani......
  • 麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo
    前言  在国产麒麟系统上实现C++三维仿真,使用OSG技术,其他基于web的技术也是可以但是交互上鼠标拽托等交互相对差一些,所以这块需要斟酌选择到底是何种技术来取舍。  本篇在厂家指定的麒麟系统上编译OSG。 环境系统版本:银河麒麟桌面操作系统V10(SP1)(注意:不对外提供)......
  • 安装编译工具 Microsoft Visual C++ Build Tools
    安装编译工具MicrosoftVisualC++BuildTools 一、下载VS2019下载地址如下:https://gitee.com/ivy258/vc2019-code-2022/tree/master/bag  或者从如下百度网盘中下载: 二、安装VS2019 ......
  • 关于Python的打包与编译
    1、nuitka编译成一个so文件nuitka3--module--include-module=target_file_or_dirtarget_file_or_dir2、compileall编译成pycpython3-mcompileall-b<dir>#删除相关的py文件find<dir>-name'*.py'-typef-print-execrm{}\;3、bdist_wheel打包whl文......
  • PyTorch大更新,编译代码速度暴增35倍!视觉模型一键部署,头显Quest 3可用
    前言 最近,在Pytorch发布会上,发布移动端Pytorch解决方案ExecuTorch,实现在移动端设备上大范围地部署AI工具,并推出最新版本Pytorch2.1,推理速度大幅提升。本文转载自新智元仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典......
  • linux 内核 --- 关抢占/关中断,临界区
     preempt_disable()local_irq_disable()/local_irq_save(flags)spin_lock()spin_lock_irq()/spin_lock_irqsave(lock,flags)spin_lock()会调用preempt_disable()导致本核的抢占调度被关闭(preempt_disable函数实际增加preempt_count来达到此效果),spin_lock_irq()是local_i......
  • OpenCV4.1.0编译时提示“CV_BGR2GRAY”: 未声明的标识符
    OpenCV版本为4.1.0使用CV_BGR2GRAY时报错:“CV_BGR2GRAY”:未声明的标识符解决方法一:添加头文件:#include<opencv2/imgproc/types_c.h>解决方法二:在新版本中,CV_BGR2GRAY被COLOR_BGR2GRAY替换,只需将CV改成COLOR即可。翻译搜索复制......
  • latexmk+make+条件编译一键编译论文生成 明评版/盲评版 单面版/双面版
    用latexmk+make编译latex项目假设latex项目的目录结构如下:.├──build│  ├──aux│  ├──各种临时文件│  └──release│  ├──thesis.pdf│  └──thesis.synctex.gz├──data│  ├──abstract.tex│  ├─......