Page 1 of 1

是用官方DHT11实例代码执行make出现问题

Posted: 2025-05-28 1:46
by glisten
我根据文档调整了我的makefile文件:

Code: Select all

ARCH=arm
CROSS_COMPILE=/home/zhao/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-
export ARCH CROSS_COMPILE

KERN_DIR = /home/zhao/luckfox-pico/sysdrv/source/kernel
name = dht11
PWD ?= $(shell pwd)
BUILD_DIR = $(PWD)/build

all:
	make -C $(KERN_DIR) M=$(PWD) modules
	$(CROSS_COMPILE)gcc $(name)_test.c -o $(name)
	echo $(PWD)
	
clean:
	rm -f *.ko *.o *.mod *.mod.o *.mod.c *.symvers *.order *.cmd
  # make -C $(KERN_DIR) M=$(PWD) modules clean
  # rm -rf modules.order
  # rm -f $(name)_test
obj-m += $(name)_drv.o
当我在makefile目录下运行make则提示:

Code: Select all

zhao@zhao-VMware-Virtual-Platform:~/luckfox-lib/DHT11$ make
make -C /home/zhao/luckfox-pico/sysdrv/source/kernel M=/home/zhao/luckfox-lib/DHT11 modules
make[1]: 进入目录“/home/zhao/luckfox-pico/sysdrv/source/kernel”

  ERROR: Kernel configuration is invalid.
         include/generated/autoconf.h or include/config/auto.conf are missing.
         Run 'make oldconfig && make prepare' on kernel src to fix it.

Makefile:672: include/config/auto.conf: 没有那个文件或目录
make[1]: *** [Makefile:758:include/config/auto.conf] 错误 1
make[1]: 离开目录“/home/zhao/luckfox-pico/sysdrv/source/kernel”
make: *** [Makefile:11:all] 错误 2
请问如何解决这个问题?

Re: 是用官方DHT11实例代码执行make出现问题

Posted: 2025-05-28 2:21
by Crocodile
您好,最新的SDK已经更改了内核构建方法,DHT11的例程的构建方式已经不适用,Makefile应该修改为

Code: Select all

ARCH=arm
CROSS_COMPILE=<SDK Directory>/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-
export ARCH CROSS_COMPILE

KERN_DIR = <SDK Directory>/sysdrv/source/kernel
OBJS_KERN_DIR = <SDK Directory>/sysdrv/source/objs_kernel

name = dht11
PWD ?= $(shell pwd)
BUILD_DIR = $(PWD)/build

all:
	make -C $(KERN_DIR) M=$(PWD) O=$(OBJS_KERN_DIR) modules
	$(CROSS_COMPILE)gcc $(name)_test.c -o $(name)
	echo $(PWD)
	
clean:
	rm -f *.ko *.o *.mod *.mod.o *.mod.c *.symvers *.order *.cmd
  # make -C $(KERN_DIR) M=$(PWD) modules clean
  # rm -rf modules.order
  # rm -f $(name)_test
obj-m += $(name)_drv.o
后续我们会更新到wiki上