STM32/STM8技术william hill官网
直播中

donatello1996

8年用户 687经验值
擅长:处理器/DSP 控制/MCU RF/无线
私信 关注
[经验]

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

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

要使用虚拟机进行交叉编译的话必须要搭建交叉编译链,这里使用百问网william hill官网 提供的交叉编译链,解压到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

更多回帖

发帖
×
20
完善资料,
赚取积分