makefile

关于驱动makefile的学习心得

最近在学习驱动的编译和挂载,记录一下,防止以后忘了。
写好一个驱动后需要将源文件交叉编译为**.ko**文件,然后下载到开发板上,实现手动挂载驱动模块。这时候就需要一个Makefile文件来实现编译功能,以下代码段是我参考网上例子结合自己开发环境写的一个Makefile文件。

ifneq ($(KERNELRELEASE),)
	obj-m:= channel.o
else

KDIR := /home/orangepi-build/kernel/orange-pi-5.4

PWD := $(shell pwd)

CROSS_COMPILE=arm-none-linux-gnueabihf-

CC =$(CROSS_COMPILE)gcc

all:
	make -C $(KDIR) M=$(PWD) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) modules
clean:
	rm *.o *.ko *.mod.c *.order *.mod *.symvers
endif


简要注释:
1、KDIR 后面是自己的linux内核路径,也就是自己虚拟机里面下载linux内核的路径,我用的是香橙派的开发板,linux源码是在官网下载的。
2、CROSS_COMPILE 后面是自己所用的交叉编译工具,根据自己的开发环境选择自己的工具,下载交叉编译工具后需要在 /etc/profile 中添加自己所用工具的路径,然后在执行以下 source /etc/profile 指令更新一下路径。
3、关于交叉编译器,我用的香橙派在编译镜像的时候会生成一个toolchaains文件夹,里面有我所需要的工具。
4、以下路径就是我在 /etc/profile 最后一行添加的交叉编译器路径,可以根据自己的路径添加。

export PATH=$PATH:/home/orangepi-build/toolchains/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值