Linux编译内核模块

内核模块即驱动的编译方式

1、本地编译
2、交叉编译

Makefile主要写法:

本地编译

obj-m := hello.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
all:
    make -C $(KDIR) M=$(PWD) modules
clean:
    rm *.o *.ko *.mod.c modules.order Module.symvers

obj-m : 指定编译成模块,注意c文件必须为hello.c。
KDIR : 指定内核源码树。

交叉编译

obj-m   += ker_rw.o
KDIR = /home/用户/raspberry_src/linux$
PWD:=$(shell pwd)
all:
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -C $(KERN_DIR) M=$(PWD) modules
clean:
    rm -rf *.o *.ko *.order *.mod.c

KDIR:指定编译过的内核源码根目录。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值