发 帖  
原厂入驻New
[经验]

【100ASK_IMX6ULL(带屏) 开发板试用体验】曲折地编译内核驱动&使能板载WIFI蓝牙芯片RTL8723BU

2020-11-1 23:22:34  281 开发板试用
分享
0
       这次给韦东山老师的100ask imx6ULL开发板编译内核驱动,我的想法是跟之前一样是将内核驱动代码拷到U盘上面,在开发板本地进行编译,不过中途遇到的麻烦不少,首先是缺少了bc库和lzop库的问题,这个倒不是啥问题,毕竟能用apt解决的问题就不是问题:
  1. apt install bc lzop
复制代码
18.jpg
然后就是关于内核驱动文件夹的读写权限问题,这个问题困扰了我一天一夜还是没解决,初步判断是因为开发板HUB芯片导致的,因为我尝试将U盘拿到别的开发板上是可以进行正常读写的,无奈之下只能放弃BUG几率低的板上本地编译而使用虚拟机交叉编译了,这样也好,毕竟虚拟机编译可要比性能低下的IMX6ULL快得多,不用想之前编译STM32MP157内核驱动那样要一晚上(笑)。然后我的想法是,在虚拟机这边编译好的内核驱动目标文件应该也是可以直接在开发板上使用的,毕竟在开发板上直接gcc/g++编译生成的各种ko文件兼容性会比在虚拟机上面要好。

要使用虚拟机进行交叉编译的话必须要搭建交叉编译链,这里使用百问网论坛提供的交叉编译链,解压到Debian虚拟机的/opt目录下,文件夹命名为100askimx6cc:
19.jpg
然后设置PATH环境变量,ARCH交叉编译架构,CROSS_COMPILE交叉编译器
  1. export PATH=$PATH:/opt/100askimx6cc/bin
  2. export ARCH=arm
  3. export CROSS_COMPILE=arm-linux-gnueabihf-
复制代码
使用arm-linux-gnueabihf-gcc和arm-linux-gnueabihf-gcc -v验证交叉编译链的版本:

20.jpg

清理,设置编译文件,编译:
  1. make mrproper
  2. make 100ask_imx6ull_defconfig & make -j4
复制代码
21.jpg
总算是一次编译完毕,没有出现ReadOnly Filesystem那些奇怪的报错了。

然后是驱动板子自带的板载WIFI蓝牙芯片RTL8723BU,这个非常简单,直接使用lib/modules目录下的/lib/modules/4.9.88/kernel/drivers/net/wireless/rtl8723BU/8723bu.ko文件:
  1. cp /lib/modules/4.9.88/kernel/drivers/net/wireless/rtl8723BU/8723bu.ko /home
  2. cd /home
  3. insmod 8723bu.ko
复制代码
22.jpg
加载驱动之后可以找到wlan1网卡,使用nmcli或者别的软件连接路由器WIFI,就可以通过WIFI进行SSH登录了。
23.jpg

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /9 下一条

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