LINUX驱动开发: UBUNTU下,比如我写了个.C 驱动文件。 之后我要把它放在哪里,我才能得到.ko文件
2016-10-31 14:02
239 查看
两种方法:
1,直接添加进内核。
a, 比如进入drivers/char/目录,把xxx.c文件拷贝到该目录
b, 修改drivers/char/Kconfig文件,自定义仿照其他选项,添加自己的选项XXX。
c, 修改drivers/char/Makefile文件,添加obj-$(CONFIG_XXX) += xxx.o
d, 进入内核根目录,make menuconfig,进入device drivers->character devices在这里面找到XXX选项,配置成“M”,也就是模块编译,会生成xxx.ko
2,随便建一个目录,写Makefile,这个Makefile里面,要指定内核源码根目录,并调用内核源码的Makefile,来编译当前目录的文件,类似一下格式,可在网上找一个Makefile来修改:
CFILES = xxx.c
DRIVER_NAME = xxxx
KSRC := /home/linux/linux-2.6.xxx
TARGET = $(DRIVER_NAME).ko
obj-m += $(DRIVER_NAME).o
$(DRIVER_NAME)-objs := $(CFILES:.c=.o)
default:
$(MAKE) -C $(KSRC) SUBDIRS=$(shell pwd) modules
1,直接添加进内核。
a, 比如进入drivers/char/目录,把xxx.c文件拷贝到该目录
b, 修改drivers/char/Kconfig文件,自定义仿照其他选项,添加自己的选项XXX。
c, 修改drivers/char/Makefile文件,添加obj-$(CONFIG_XXX) += xxx.o
d, 进入内核根目录,make menuconfig,进入device drivers->character devices在这里面找到XXX选项,配置成“M”,也就是模块编译,会生成xxx.ko
2,随便建一个目录,写Makefile,这个Makefile里面,要指定内核源码根目录,并调用内核源码的Makefile,来编译当前目录的文件,类似一下格式,可在网上找一个Makefile来修改:
CFILES = xxx.c
DRIVER_NAME = xxxx
KSRC := /home/linux/linux-2.6.xxx
TARGET = $(DRIVER_NAME).ko
obj-m += $(DRIVER_NAME).o
$(DRIVER_NAME)-objs := $(CFILES:.c=.o)
default:
$(MAKE) -C $(KSRC) SUBDIRS=$(shell pwd) modules
相关文章推荐
- Linux驱动开发第一步:怎么将.ko文件传入开发板
- linux ubuntu10.10 文件解压之后乱码问题汇总
- [Linux驱动开发] cramfs文件系统制作及移植
- Linux设备驱动开发详解-Note(10)--- Linux 文件系统与设备文件系统(2)
- Linux 字符设备驱动开发基础(六)—— VFS 虚拟文件系统解析
- JNI开发第三步:20130801_NDK_JNI的.so文件开发-安卓访问LINUX驱动
- UBuntu8.10 开发第一个基本Linux 驱动内核模块
- Linux驱动中的.o文件与.ko文件的区别
- linux驱动开发-模块多文件编译
- linux驱动开发相关头文件说明
- Linux_Ubuntu下驱动开发环境搭建(14.04, 15亲测可行)
- [Linux驱动开发] jffs2 文件系统制作及移植
- Linux设备驱动开发详解-Note(10)--- Linux 文件系统与设备文件系统(2)
- Android 驱动开发ko文件应用片段
- 《Linux开发环境搭建三》win7与VMware虚拟机中的Ubuntu10.04进行文件共享
- Linux 驱动开发Camera.log文件学习
- Linux驱动开发之环境搭建----Ubuntu 12.4 编译内核
- [Linux驱动开发] ramdisk文件系统制作及移植
- Linux设备驱动开发详解-Note(9)--- Linux 文件系统与设备文件系统(1)
- Linux 字符设备驱动开发基础(六)—— VFS 虚拟文件系统解析