linux kernel 模块多文件编译
/***************************************************************************
* linux kernel 模块多文件编译
* 声明:
* 本文主要是记录在调试驱动的阶段,我们可能会更倾向于使用模块插入的方式
* 来进行驱动调试,这样可以大大缩短调试时间。之前在调试gt9xx Touch的时候也
* 是采用这种方式,这里还是记录一下,日后方便查找。
*
* 2016-2-2 深圳 南山平山村 曾剑锋
**************************************************************************/ 一、cat Makefile
ifneq ($(KERNELRELEASE),)
# gt9xxm.o去掉后缀就是生成的.ko的名字
# 多文件编译注意gt9xxm.o、gt9xxm-objs的命名方式
obj-m := gt9xxm.o
gt9xxm-objs := gt9xx.o gt9xx_update.o goodix_tool.o
else
KDIR := /home/zengjf/kernel # 指定内核所在的目录
all:
make -C $(KDIR) M=$(PWD) modules clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers *.order
endif 二、输出结果:
zengjf@zengjf:~/kernel/drivers/input/touchscreen/gt9xx$ ls -al
total
drwxrwxr-x zengjf zengjf Jan : .
drwxrwxr-x zengjf zengjf Jan : ..
-rwxrw-rw- zengjf zengjf Jan : goodix_tool.c
-rw-rw-r-- zengjf zengjf Jan : goodix_tool.o
-rw-rw-r-- zengjf zengjf Jan : .goodix_tool.o.cmd
-rwxrw-rw- zengjf zengjf Jan : gt9xx.c
-rwxrw-rw- zengjf zengjf Nov gt9xx_firmware.h
-rwxrw-rw- zengjf zengjf Jan : gt9xx.h
-rw-rw-r-- zengjf zengjf Jan : gt9xxm.ko
-rw-rw-r-- zengjf zengjf Jan : .gt9xxm.ko.cmd
-rw-rw-r-- zengjf zengjf Jan : gt9xxm.mod.c
-rw-rw-r-- zengjf zengjf Jan : gt9xxm.mod.o
-rw-rw-r-- zengjf zengjf Jan : .gt9xxm.mod.o.cmd
-rw-rw-r-- zengjf zengjf Jan : gt9xxm.o
-rw-rw-r-- zengjf zengjf Jan : .gt9xxm.o.cmd
-rw-rw-r-- zengjf zengjf Jan : gt9xx.o
-rw-rw-r-- zengjf zengjf Jan : .gt9xx.o.cmd
-rwxrw-rw- zengjf zengjf Nov gt9xx_update.c
-rw-rw-r-- zengjf zengjf Jan : gt9xx_update.o
-rw-rw-r-- zengjf zengjf Jan : .gt9xx_update.o.cmd
-rw-rw-r-- zengjf zengjf Jan : Makefile
-rw-rw-r-- zengjf zengjf Jan : modules.order
-rw-rw-r-- zengjf zengjf Jan : Module.symvers
drwxrwxr-x zengjf zengjf Jan : .tmp_versions
zengjf@zengjf:~/kernel/drivers/input/touchscreen/gt9xx$
linux kernel 模块多文件编译的更多相关文章
- Android 怎样在linux kernel 中读写文件
前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net ...
- Linux kernel 模块 hello 测试
原文链接:https://www.cnblogs.com/nerohwang/p/3621316.html hello.c 文件: #include <linux/kernel.h> /* ...
- Linux kernel模块管理相关详解
Linux内核模块化设计 1. Linux内核设计:单内核.模块化(动态装载和卸载) (1) Linux:单内核设计,但充分借鉴了微内核体系的设计的优点:为内核引入了模块化机制:(2) 内核的组成部分 ...
- linux kernel 的配置及编译
1. 执行make menuconfig 配置内核 2. 执行make zImage 编译内核 3. 执行make modules 编译模块 4. 内核源代码的配置及编译系统 Makefile Kco ...
- Ubuntu的多文件编译以及c语言的数组、函数
闲言少叙,直接切入主题. 一.Linux下的多文件编译(Ubuntu系统). 对于小程序来说,往往一个.c文件就足够了,里面包含了各种主函数和功能函数,以及函数的声明等等.但是这样的弊端主要有两点,一 ...
- Linux Kernel 代码艺术——编译时断言
本系列文章主要写我在阅读Linux内核过程中,关注的比较难以理解但又设计巧妙的代码片段(不关注OS的各个模块的设计思想,此部分我准备写在“深入理解Linux Kernel” 系列文章中),一来通过内核 ...
- Linux课程实践二:编译模块实现内核数据操控
一.内核模块原理 1. Linux内核增加功能 Linux内核整体结构很庞大,包含了很多的组件,现在有两种方法将需要的功能包含进内核当中: - 静态加载:将所有的功能都编译进Linux内核. - 动态 ...
- 编译android的linux kernel goldfish
https://source.android.com/source/building-kernels.html $ export PATH=/home/hzh/oldhome/learn/androi ...
- linux 内核头文件 linux kernel header
概述:在进行有关系统软件的安装的时候(编译一个新的驱动,或者安装一个系统级别的测试工具,例如systemtap),经常需要重新编译内核,相应的问题往往与内核头文件有关.那么,什么是内核头文件,为什么需 ...
随机推荐
- git撤销删除
问题描述: 使用git时本地文件删除了,提交至github,希望撤销修改,找回源文件 问题解决: (1)查看git log,查看日志信息 注: 使用 git log 可以查看提交的日志 ...
- [转载]ASP.NET对路径"xxxxx"的访问被拒绝的解决方法小结
异常详细信息: System.UnauthorizedAccessException: 对路径“D:/temp1/MyTest.txt”的访问被拒绝 在windows 2003下,在运行web ...
- epoll 知识总结
poll/select/epoll 对比 http://www.cnblogs.com/apprentice89/p/3234677.html ---有待继续学习 http://blog.chi ...
- TensorFlow 基本使用
使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使用 ten ...
- hdu 4324 Triangle LOVE(拓扑排序,基础)
题目 /***************************参考自****************************/ http://www.cnblogs.com/newpanderking ...
- 核稀疏表示分类(KSRC)
参考:<Kernel SparseRepresention-Based Classifier> 原文地址:http://www.cnblogs.com/Rosanna/p/3372153. ...
- Git 使用方法
Git 常用命令 git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息.标记等内容 git remo ...
- Tomcat启用Gzip压缩
原理简介 HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求服务器对应资源后,从服务器端将资源文件压缩,再输出到客户端,由客户端的浏览器负责解压缩并 浏览.相对于普通的 ...
- 【转】Windows Server 2008修改远程桌面连接数
按照下面的设置是成功了的,我设置的连接数是5个. http://jingyan.baidu.com/article/154b463150d1b128ca8f4194.html
- 在浏览器控制台输出内容 console.log(string);
在浏览器控制台中写如数据 1添加 <script type="text/javascript">djConfig = { isDebug: true };< ...