[嵌入式linux] 紧急求助!arm-linux

[复制链接]
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部