FC4(内核2.6)下怎么编写嵌入式平台上(内核2.4)的驱动模块
我使用的是FC4系统,我想在此下编写2.4内核版本的驱动,有如下问题需要大家帮忙解答:
1. 我在FC4下写了一个hello.c模块,具体该怎么编译呢?
2. 我觉得FC4下的KDevelop编程比较方便,新建工程时会让你选择工程类型,比如其中就有Linux Kernel Module这 个选项,它会为你自动生成Makefile文件,但是它默认的是FC4的内核版本,搞半天都没找到在哪可以修改内核源码树的路径,哪位用过的大侠请指教一下
3.假如我现在已经生成了模块hello.o,我怎么才能把它加载到我的arm开发板上呢,是不是只能重新编译内核,然后再重新下载内核?
初次接触模块,请各位高人不吝赐教,在此感谢万分!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
都到了编写 Kernel Module 的水平了,还对 IDE 如此恋恋不舍……
楼上的大侠误会了,我是接触linux才个把月,完全是个新手.(Linux新手不能学学习编写驱动模块吗?呵呵)
问题1:
自己翻翻书,写了个简单的Makefile:
INCLUDE= /home/sitsang/linux/include
CFLAGS= -D__KERNEL__ -DMODULE -I$(INCLUDE) -O2 -Wall -O
CC=arm-linux-gcc
first.o:first-driver.c
$(CC) $(CFLAGS) -c first-driver.c -o first.o
执行make后生成first.o,利用nfsf服务只接在开发板上insmod first.o(在minicom中控制),终端上没有我程序中本该出现的字符串,我又到/var/log/messages中,还是没看到,但是执行lsmod命令,确实已经列出了first模块,请问这是什么原因啊?
问题3问得太傻,受一本书的误导.呵呵