RK3588作为瑞芯微旗舰级处理器,在嵌入式领域凭借其强大的AI算力和多协议支持能力备受青睐。UB37三模模块(Wi-Fi 6+BLE+星闪)的集成更是如虎添翼,但在驱动移植过程中,内核配置是第一个关键环节。我刚开始接触这个模块时,发现直接编译官方驱动总会遇到各种依赖问题,后来才发现根本原因在于内核选项的缺失。
首先进入内核配置界面,执行make menuconfig ARCH=arm64,这里要特别注意架构选择,RK3588是arm64架构,如果选错会导致后续驱动加载失败。搜索CFG80211配置时,建议直接使用/键搜索,输入"CFG80211"后定位到以下两个关键选项:
<*>编译进内核(不能选M)接着根据原理图确认模块接口类型。UB37支持USB和SDIO双接口,我们的板子使用的是USB2.0接口(注意:DB37型号是SDIO接口)。在Device Drivers → USB Support → USB Serial Converter support下,确保勾选:
Netlink配置是很多开发者容易遗漏的部分。先打开CONFIG_NETFILTER选项,然后在Networking support → Networking options → Network packet filtering framework下启用:
配置完成后别急着编译,先用savedefconfig保存配置:make savedefconfig ARCH=arm64,然后将生成的defconfig替换到你的内核配置文件目录。我曾经因为忘记这一步,导致三次编译的内核都无法识别模块,白白浪费了半天时间。
最后在设备树中根据原理图添加节点。以USB接口为例:
原文作者:职场萌新987;如有侵权,请联系管理员删除。