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),经常需要重新编译内核,相应的问题往往与内核头文件有关.那么,什么是内核头文件,为什么需 ...
随机推荐
- Directx3D SimpleSample Sample
在d3d 2010 june这个版本里的samples 不知道为什么SimpleSample Sample 这个 它的documents基本等于没有 Starting point for new Di ...
- make -f dc_debug.mak 提示错误"/usr/bin/ld:can not find -l***"解决办法
在公司不同服务器上"make -f ***"程序的时候,有的服务器可以编译通过,有的却提示"/usr/bin/ld:can not find -l***"的错误 ...
- struts2+hibernate+spring+jquery返回json List列表
1.引入包:struts2-json-plugin-2.1.8.1.jar json-lib-2.1.jar commons-collections-3.2.1.jar commons-beanuti ...
- android.os.DeadObjectException memory near r0: 异常处理 Consumer closed input channel or an error occurred. events=0x9
原地址:http://www.cnblogs.com/wanqieddy/p/3495338.html android.os.DeadObjectException memory near r0: 异 ...
- 时序列数据库武斗大会之TSDB名录 Part 2
[编者按] 刘斌,OneAPM后端研发工程师,拥有10多年编程经验,参与过大型金融.通信以及Android手机操作系的开发,熟悉Linux及后台开发技术.曾参与翻译过<第一本Docker书> ...
- 【面试题013】在O(1)时间删除链表结点
[面试题013]在O(1)时间删除链表结点 我们要删除结点i,我们可以把结点i的下一个结点j的内容复制到结点i,然后呢把结点i的指针指向结点j的下一个结点.然后在删除结点j. 1.如果结点i位于链表 ...
- hdu 1536/1944 / POJ 2960 / ZOJ 3084 S-Nim 博弈论
简单的SG函数应用!!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #inclu ...
- Android AlarmManager的取消
取消alarm使用AlarmManager.cancel()函数,传入参数是个PendingIntent实例. 该函数会将所有跟这个PendingIntent相同的Alarm全部取消,怎么判断两者是否 ...
- 【转载】jxl操作excel 字体 背景色 合并单元格 列宽等 .
package com.email.jav; import java.io.File;import java.io.IOException;import java.net.URL; import jx ...
- linux 踢出用户方法
linux系统root用户可强制踢制其它登录用户, 首先以root登录以便查看全部的在线用户信息,可用w命令查看登录用户信息 强制踢人命令格式:pkill -kill -t tty 解释: pkill ...