主题 : 怎么在linux中单独编译arm的驱动 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 38449
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
综合积分: 18 分
注册时间: 2011-02-25
最后登录: 2011-06-26
楼主  发表于: 2011-03-13 12:33

 怎么在linux中单独编译arm的驱动

使用的是友善之臂的mini2440开发板,我照着国嵌视频上讲的抄写了他们提供的在arm linux下的LED驱动程序,但是用户手册上说的是将这个.c文件,放在内核源码目录的相应位置,然后修改相应的Kconfig和Makefile文件,与内核一块编译,但是我觉得这样不好调试呀,不能我没次修改一下还要这么费时的去编译一下内核,有没有其他的一些办法在普通的桌面linux下就可以把arm的驱动调试好,然后在编译内核中当然交叉编译环境是建立好了的。
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
1楼  发表于: 2011-03-13 14:37
可以将你的驱动编译成模块, 这样编译可以快一些, 再传到板上加载模块就可以测试了
级别: 新手上路
UID: 38449
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
综合积分: 18 分
注册时间: 2011-02-25
最后登录: 2011-06-26
2楼  发表于: 2011-03-13 15:10
问题是现在单独编译驱动模块的时候,出现找不到头文件的情况,好像找不到内核源码树,另外编辑好模块之后,可以为这个模块写一个makefile文件。指定内核源码的位置,但是我不知怎么写
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
3楼  发表于: 2011-03-14 09:26
看看Linux设备驱动程序(第三版), 里面有说怎么编写Makefile, 怎么编译
级别: 新手上路
UID: 20321
精华: 0
发帖: 15
金钱: 75 两
威望: 15 点
综合积分: 30 分
注册时间: 2010-04-29
最后登录: 2012-02-19
4楼  发表于: 2011-03-14 13:54
驱动文件名叫hello.c KIDE为内核目录

以下是Makefile

KDIR:=/home/gfpeak/桌面/linux-2.6.28.6/
obj-m:=hello.o
default:
    $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
    $(RM) .*.cmd *.mod.c *.o *.ko -r .tmp*
级别: 新手上路
UID: 21298
精华: 0
发帖: 26
金钱: 130 两
威望: 26 点
综合积分: 52 分
注册时间: 2010-05-14
最后登录: 2017-09-13
5楼  发表于: 2011-03-28 01:22
生成的文件在哪里?我到哪里找?
级别: 新手上路
UID: 52523
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
综合积分: 20 分
注册时间: 2011-07-20
最后登录: 2012-05-27
6楼  发表于: 2011-08-03 23:07
谢谢4楼
级别: 新手上路
UID: 48409
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2011-05-31
最后登录: 2011-10-05
7楼  发表于: 2011-08-08 10:24
hello.ko 就是你想要的结果