明远智睿技术论坛

 找回密码
 立即注册
搜索
查看: 3497|回复: 4
打印 上一主题 下一主题

请教140p的板子移植git上找来的温湿度模块DHT22的驱动

[复制链接]

30

主题

78

帖子

408

积分

中级会员

Rank: 3Rank: 3

积分
408
跳转到指定楼层
楼主
发表于 2019-12-25 17:49:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新手请教在网上看到,驱动编译分两种静态和动态两种
静态就是编译进内核,修改板子的镜像文件
动态编译
我的理解是生成.ko文件,把该文件用TFTP传入板子,然后使用insmod这个命令手动加载驱动
.ko文件我想在虚拟机上直接make生成
但是提示错误了:

myzr@u14045:~/DHT22-master$ make
make C=2 -C /lib/modules/4.4.0-139-generic/build/ M=/home/myzr/DHT22-master modules
make[1]: 正在进入目录 `/usr/src/linux-headers-4.4.0-139-generic'
  CHECK   /home/myzr/DHT22-master/dht22.c
/bin/sh: sparse: 未找到命令
make[2]: *** [/home/myzr/DHT22-master/dht22.o] 错误 127
make[1]: *** [_module_/home/myzr/DHT22-master] 错误 2
make[1]:正在离开目录 `/usr/src/linux-headers-4.4.0-139-generic'
make: *** [all] 错误 2
myzr@u14045:~/DHT22-master$

一下是makefile的内容
obj-m+=dht22_driver.o
dht22_driver-objs+=dht22.o dht22_sm.o

all:
        make C=2 -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) modules

clean:
        make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) clean


附上源码

求指导该如何才能加载这个驱动到板子上,项目中有需要用到这个温湿度模块






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

30

主题

78

帖子

408

积分

中级会员

Rank: 3Rank: 3

积分
408
沙发
 楼主| 发表于 2019-12-26 12:20:09 | 只看该作者
群里大牛指导
用 find . -name arm-poky-linux-gnueabi-gcc 看下你安装到哪了
正确路径:
obj-m = dht22.o

KPATH=~/myzr/my-work/02_source/linux-4.1.15
PWD=$(shell pwd)
CROSS=~/myzr/my-work/03_toolchain/fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0/ sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi
CC=$(CROSS)gcc

all: dht22 poll

dht22: dht22.c dht22.h
        make -C $(KPATH) ARCH=arm CROSS_COMPILE=$(CROSS) SUBDIRS=$(PWD) modules

poll: poll.c
        $(CC) -o poll -lc -lpthread poll.c

clean:
        rm -rf *.o *.ko .*cmd .tmp* core *.i *.mod.c modules.* Module.* poll
回复 支持 反对

使用道具 举报

36

主题

745

帖子

2872

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2872
板凳
发表于 2019-12-28 13:49:28 | 只看该作者
钟宇泉 发表于 2019-12-26 12:20
群里大牛指导
用 find . -name arm-poky-linux-gnueabi-gcc 看下你安装到哪了
正确路径:

$CC -v可以看到交叉编译工具的路径和版本,详细设置一下就行
回复 支持 反对

使用道具 举报

30

主题

78

帖子

408

积分

中级会员

Rank: 3Rank: 3

积分
408
地板
 楼主| 发表于 2019-12-28 18:09:23 | 只看该作者
软件01 发表于 2019-12-28 13:49
$CC -v可以看到交叉编译工具的路径和版本,详细设置一下就行

感谢指导
回复 支持 反对

使用道具 举报

30

主题

78

帖子

408

积分

中级会员

Rank: 3Rank: 3

积分
408
5#
 楼主| 发表于 2020-5-15 16:49:26 | 只看该作者
过来填个坑,已经移植成功了。详细过程我都写到这里了
https://blog.csdn.net/teaczjf/article/details/106143585
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|明远智睿  

GMT+8, 2024-11-23 02:57 , Processed in 0.062601 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表