一般我们使用的方法是这样的,如果开发板上的内核版本是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 /* 我们所需要编译的程序 */
看上去一个很小的细节都是需要我们去总结,在这里写出来以备忘。
时间: 2024-10-27 02:31:24