问题描述
在内核态,想要编写一个内核态驱动
/k230_sdk/src/big/rt-smart/kernel/rt-thread/components/drivers/misc/drv_rgb_led.c
却出现以下错误:
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: building associated VariantDir targets: /home/lct1001/k230_sdk/output/k230_canmv_lckfb_defconfig/big/rt-smart
LINK rtthread.elf
/opt/toolchain/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/../lib/gcc/riscv64-unknown-linux-musl/12.0.1/../../../../riscv64-unknown-linux-musl/bin/ld: warning: rtthread.elf has a LOAD segment with RWX permissions
/opt/toolchain/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/../lib/gcc/riscv64-unknown-linux-musl/12.0.1/../../../../riscv64-unknown-linux-musl/bin/ld: /home/lct1001/k230_sdk/output/k230_canmv_lckfb_defconfig/big/rt-smart/kernel/components/drivers/misc/drv_rgb_led.o: in function `set_rgb_color':
/home/lct1001/k230_sdk/src/big/rt-smart/kernel/rt-thread/components/drivers/misc/drv_rgb_led.c:62: undefined reference to `rt_pin_write'
/opt/toolchain/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/../lib/gcc/riscv64-unknown-linux-musl/12.0.1/../../../../riscv64-unknown-linux-musl/bin/ld: /home/lct1001/k230_sdk/src/big/rt-smart/kernel/rt-thread/components/drivers/misc/drv_rgb_led.c:63: undefined reference to `rt_pin_write'
/opt/toolchain/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/../lib/gcc/riscv64-unknown-linux-musl/12.0.1/../../../../riscv64-unknown-linux-musl/bin/ld: /home/lct1001/k230_sdk/src/big/rt-smart/kernel/rt-thread/components/drivers/misc/drv_rgb_led.c:64: undefined reference to `rt_pin_write'
/opt/toolchain/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/../lib/gcc/riscv64-unknown-linux-musl/12.0.1/../../../../riscv64-unknown-linux-musl/bin/ld: /home/lct1001/k230_sdk/src/big/rt-smart/kernel/rt-thread/components/drivers/misc/drv_rgb_led.c:67: undefined reference to `rt_pin_write'
/opt/toolchain/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/../lib/gcc/riscv64-unknown-linux-musl/12.0.1/../../../../riscv64-unknown-linux-musl/bin/ld: /home/lct1001/k230_sdk/src/big/rt-smart/kernel/rt-thread/components/drivers/misc/drv_rgb_led.c:68: undefined reference to `rt_pin_write'
/opt/toolchain/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/../lib/gcc/riscv64-unknown-linux-musl/12.0.1/../../../../riscv64-unknown-linux-musl/bin/ld: /home/lct1001/k230_sdk/output/k230_canmv_lckfb_defconfig/big/rt-smart/kernel/components/drivers/misc/drv_rgb_led.o:/home/lct1001/k230_sdk/src/big/rt-smart/kernel/rt-thread/components/drivers/misc/drv_rgb_led.c:69: more undefined references to `rt_pin_write' follow
/opt/toolchain/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/../lib/gcc/riscv64-unknown-linux-musl/12.0.1/../../../../riscv64-unknown-linux-musl/bin/ld: /home/lct1001/k230_sdk/output/k230_canmv_lckfb_defconfig/big/rt-smart/kernel/components/drivers/misc/drv_rgb_led.o: in function `k230_rgb_led_init':
/home/lct1001/k230_sdk/src/big/rt-smart/kernel/rt-thread/components/drivers/misc/drv_rgb_led.c:152: undefined reference to `rt_pin_mode'
/opt/toolchain/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/../lib/gcc/riscv64-unknown-linux-musl/12.0.1/../../../../riscv64-unknown-linux-musl/bin/ld: /home/lct1001/k230_sdk/src/big/rt-smart/kernel/rt-thread/components/drivers/misc/drv_rgb_led.c:153: undefined reference to `rt_pin_mode'
/opt/toolchain/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/../lib/gcc/riscv64-unknown-linux-musl/12.0.1/../../../../riscv64-unknown-linux-musl/bin/ld: /home/lct1001/k230_sdk/src/big/rt-smart/kernel/rt-thread/components/drivers/misc/drv_rgb_led.c:154: undefined reference to `rt_pin_mode'
/opt/toolchain/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin/../lib/gcc/riscv64-unknown-linux-musl/12.0.1/../../../../riscv64-unknown-linux-musl/bin/ld: /home/lct1001/k230_sdk/src/big/rt-smart/kernel/rt-thread/components/drivers/misc/drv_rgb_led.c:158: undefined reference to `rt_device_pin_register'
collect2: error: ld returned 1 exit status
scons: *** [rtthread.elf] Error 1
scons: building terminated because of errors.
/bin/bash: line 5: exit: defconfig: numeric argument required
make: *** [Makefile:370: rt-smart-kernel] Error 2
排除为设置 pin设备
/k230_sdk/src/big/rt-smart/kernel/rt-thread/components/drivers/Kconfig
第138行显示,默认是 y
config RT_USING_PIN
bool "Using generic GPIO device drivers"
default y
请问大佬,可以告诉我原因吗?
硬件板卡
庐山派