红联Linux门户
Linux帮助

如何使用ubuntu来编译驱动,交叉编译动态驱动程序加载到开发板上

发布时间:2016-03-10 10:51:59来源:linux网站作者:网络人VS灰鸽子

一般我们使用的方法是这样的,如果开发板上的内核版本是linux-2.6.30,我们ubuntu系统里面也会放一个linux-2.6.30的linux内核,用来交叉编译动态驱动程序,最后加载到开发板上。


Makefile编写如下:

KERN_DIR =         /* 这里填写你开发板所用的内核版本,放在ubuntu上的绝对路径 */
all:
make -C $(KERN_DIR) M=`pwd` modules

clean:
make -C $(KERN_DIR) M=`pwd` modules clean
rm -rf modules.order

obj-m += myvivi.o     /* 我们所需要编译的程序 */


但是有次我需要在ubuntu上做测试,我编译驱动我就找不到KERN_DIR这个路径该填写什么了,后来在网上找了大半天终于找到了,Makefile编写如下:

KERN_DIR = /usr/src/linux-headers-2.6.31-14-generic   /* 这个就是ubuntu所用的头文件路径 */

all:
make -C $(KERN_DIR) M=`pwd` modules

clean:
make -C $(KERN_DIR) M=`pwd` modules clean
rm -rf modules.order

obj-m += myvivi.o                             /* 我们所需要编译的程序 */


看上去一个很小的细节都是需要我们去总结,在这里写出来以备忘。


本文永久更新地址:http://www.linuxdiyf.com/linux/18781.html