九鼎创展X6818驱动编译环境搭建

本文主要介绍如何搭建能编译出在九鼎创展x6818开发板上运行的驱动的环境。

1、编译内核

首先我们需要在x86电脑上搭建一个Linux系统的虚拟机,网上有很多教程,不再赘述。我使用的是Ubuntu16桌面版和VMware。
之后从九鼎创展官方给的链接
(https://pan.baidu.com/s/1EZL3lH8vMCV7toQ7KORNFA,提取码sg18)
下载X6818系统源码包DVD_X6818/source/x6818_linux_180209.tar.bz2,放到Linux虚拟机内解压(不要在共享文件夹或Linux以外的操作系统内解压)
在X6818系统源码包所在路径使用以下命令解压:

tar xf x6818_linux_180209.tar.bz2

用其他官方提供的系统源码包也可以,只要内核版本一样。
解压后使用以下命令调用官方脚本编译内核:

./x6818_linux_180209/mk -k

即使用官方提供的脚本mk,以-k为参数运行

2、编写Makefile

在你要编译的驱动源码同一文件夹下编写Makefile文件(参考https://blog.csdn.net/feixiaoxing/article/details/8533822):

ifneq ($(KERNELRELEASE),)
obj-m := 你的驱动源码文件名.o

else
PWD  := $(shell pwd)
X6818 := 你解压并编译内核后的X6818系统源码包所在路径/x6818_linux_180209
KDIR := $(X6818)/linux/kernel/kernel-3.4.39
COMPL := $(X6818)/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-
all:
	$(MAKE) -C $(KDIR) M=$(PWD) modules CROSS_COMPILE=$(COMPL) ARCH=arm
clean:
	rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions
endif

补充:COMPL指向的是系统源码包里自带的交叉编译器,也可以用不超过4.x版本的其他编译器(虽然没必要换)
KDIR变量指向的是内核,里面大概是这样的:在这里插入图片描述

如果以后内核换了,就要自己找内核路径改写Makefile

3、执行编译

在你的驱动源码所在的路径下使用make指令即可得到"你的驱动源码文件名.ko"文件,即可以在X6818下使用insmod加载的驱动文件。当你要编译另一个驱动时,记得修改Makefile里的驱动源码文件名。

编写日期2022-07-25,X6818内核为3.4.39,自带arm-eabi-gcc-4.8,Makefile中的路径可能需要修改
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值