打印
[嵌入式linux]

紧急求助!arm-linux

[复制链接]
1736|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tatagui|  楼主 | 2010-5-10 10:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我自己写了一部分硬件操作的代码,包括若干.h和.c文件,然后我编写驱动程序,希望在驱动程序里调用我自己写的硬件操作函数,但是不知道要怎么操作
Linux 的源码里实现的时候,是在arch/arm/mach-at91sam9261目录下有硬件操作的.c 文件,(用了EXPORT_SYMBOL导出,不太清楚),编译内核时可以生成.o。然后在include/asm-arm/arch-at91sam9261目录下有.h文件,编写驱动程序时可以include .h文件,就可以调用了。
我想了想应该可以有两种做法:
1.仿照linux源码这种,把写好的操作代码放到源码里一起编译,然后导出
2.既然在驱动中调用,应该可以和驱动程序一起编译的
因为对内核源码编译 还有makefile不熟悉所以不知道具体怎么弄?还请高手指点!!!
QQ:44300728

相关帖子

沙发
dami| | 2010-5-17 14:23 | 只看该作者
1.要生成LINUX的.KO模块文件(驱动).
2.可以参考驱动在你放驱动的目录里的Kconfig和Makefie(如果是字符驱动在.../char目录)进行配置.
3.内核代码的根目录里运行make menuconfig选上你配的模块.
4.make modules
5.修改错误.
6.把UBOOT,uImage,文件系统加到你的板上.就可以看到你的模块.
7,insmod XXX.ko 加载,rmmod xxx.ko卸载.
8,用个测试程序操作你的模块的读写,IOCTL等.

使用特权

评论回复
板凳
bomisme| | 2010-5-17 17:47 | 只看该作者
看起来,你是要作为module 装入了,主要有以下几句:  
obj-m   :=   XXX.o YYY.o
CFLAGS = I./  (包含你.h 的路径)
CC= (你的终端CPU编译的路径的cc)
default:
     $(MAKE)   -C  $(KERNELDIR)   M=$(PWD)   modules   

make 一下就可以了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

5

帖子

0

粉丝