arm温湿度传感器(一)在内核中增加新的驱动

想对我的板子s5p6818进行DHT11的驱动增加

目标增加驱动 : dht11
c文件 dht11.c
生成驱动 dht11.ko

在内核文件的驱动里建立文件

创建dht11 的文件夹
在这里插入图片描述
放入之前写好的dht11.c文件
在这里插入图片描述
makefile

obj-$(CONFIG_HELLO) += dht11.o

增加Kconfig

menu "DHT11 Driver "
comment "for dth11 temperture check"
 
config DHT11
	tristate "dht11 module test"
	default m
	help
	This is the dht11 test driver --by_len.
 
endmenu
修改上一级的文件目录

1)编辑Makefile,在后面添加一行:

obj-$(CONFIG_HELLO) += dht11/

2)编辑Kconfig,在后面添加一行:

source “drivers/dht11/Kconfig”

注:某些内核版本需要同时在arch/arm/Kconfig中添加:source “drivers/dht11/Kconfig”
在这里插入图片描述

make menuconfig配置

执行:make menuconfig ARCH=arm
选择并进入:Device Drivers选项
可以看到新增 DHT11 Driver选项
在这里插入图片描述

老办法编译(记录驱动编译出的文件.ko在哪)

退出保存后进入:cd ~/A33-Vstar/dragonboard/

执行:sudo ./build.sh 编译内核

1)如果选择编译成模块

编译内核过程中,会有如下输出:

LD drivers/hello/built-in.o

CC [M] drivers/hello/hello.o

CC drivers/hello/hello.mod.o

LD [M] drivers/hello/hello.ko

2)如果选择编译进内核

编译内核过程中,会有如下输出:

CC drivers/hello/hello.o

LD drivers/hello/built-in.o

编译完成后,drivers/hello/下新增hello.o和hello.ko,并且/linux-3.4/output/lib/modules/3.4.39/下也会有hello.ko。

我们一般写程序的编译

先把内核编译好
因为6818 用的是bulidroot 所以参考 对6818的编译
我们不可能编译一次驱动就要编译一次内核
在其他地方建立文件夹,把我们的驱动c文件 dht11.c 放入
增加 Makefile文件

#内核要提前编译好
KERN_DIR = /home/scholar/Desktop/6818GEC/kernel
#-C 是转到后面的目录'$(KERN_DIR)',使用这个目录下面的 Makefile 编译
#M是指当前目标是什么
#moudule 是指目标

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

clean:
	make -C $(KERN_DIR) M=`pwd` modules clean
	rm -rf modules.order
	
obj-m += dht11.o

执行我们的编译命令,由于要跳转到内核里面进行编译,所以 我们编译内核的命令里面的参数也同样要加进去指定架构
指定我们的编译器所在位置

make -j4 ARCH=arm CROSS_COMPILE=/home/scholar/Desktop/6818GEC/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-

在这里插入图片描述
看我们的ko文件

上机器调试

在这里插入图片描述

下次经行 源码的修改

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值