明日的风 · 2023年10月12日 · 山东

【XR806开发板试用】基于FreeRtos的XR806 WLAN测试

作为一名在车机嵌入式耕耘多年的嵌入式工程师,此前我从未接触过蓝牙和无线相关的开发工作。前段时间参与了全志的开发板适用活动,幸运地被免费开发板砸中。到手发现这个板子具有蓝牙5.0和WLAN功能。兴奋之余立马尝试了一下。

开发环境的搭建

受工作环境影响,我习惯Windows开发环境。官方的指导手册对windows下的开发仅给出了依赖于cygwin的方案,实测下来踩坑不少,耗时数小时也未完全解决(linux和windows的tool-chain都会报错)。气恼之余,又尝试在wsl2下进行开发(windows下仅用过这一个虚拟机),可在编译镜像这一步又出现了不明报错,提示缺少config文件。再次气恼,搁置数天,直到今天发现官方给了完整开发环境的docker镜像(吐槽一下官网的资料太分散了,能放到一个页面下吗),才终于顺利进入代码环节。遂写改文,记录从环境配置(水字数啦~~~可能对部分朋友有帮助)到调通WLAN的全过程。

1、运行wsl2

wsl和相应的linux开发板均可在Microsoft Store中免费获取,也可以通过在powershell(管理员)里通过以下命令安装:

wsl --install

我使用的linux发行版为ubuntu-22.04.

安装完成后,在powershell中输入 wsl即可进入虚拟机,此时可通过bash shell与linux内核进行交互。

此处我已通过 cd命令进入usr目录(没错,我的用户名就是Mosaic :])

  1. 获取dockers镜像

首先需要下载docker,百度一下即可。值得好主意的是需要在Dockers Desktop Settings的General中允许在wsl中运行。

现在即可在wsl中拉去官方提供的docker镜像,命令为

docker pull docker pull verdureorange/ubuntu_xr806:v2

注意:FreeRtos对应的版本是V2,V1对应的是OpenHarmony环境。

拉去完成后,执行下面的命令即可创建容器,并以命令行的方式进行交互。

docker pull verdureorange/ubuntu_xr806:v2 bash

3、编译

该镜像没有vi编译器,所以要安装一个以便后续基于example进行代码修改.(不需要sudo,sudo会报错)

apt install vim

然后进入example的目录下

cd ~/xr806_sdk/project/example/wlan

用vim打开main.c文件,将此处的账号密码改为你工作环境下的wifi账号密码。

保存后执行 cd ~/xr806_sdk/回到项目根目录。然后按照官方的教程依次执行下面的代码进行编译

cp project/example/wlan/gcc/defconfig .config
make build

编译完成后,在wlan目录下的image目录下的xr806文件夹中找到编译好的.img文件。

4、烧录

这又是一个可能踩坑的地方。烧录程序在tools目录下,又windows,linux,mac等多个版本,而官方只给了windows版的教程。为了不踩坑(懒),我们直接将编译好的镜像文件拷贝出来,在wsl下(注意:wsl下)以以下格式执行命令,将镜像文件拷贝到wsl当前目录:

docker cp 容器号: /xr806_sdk/project/demo/hello_demo/image/xr806/*.img ./

*.img为编译后的镜像名称,容器号可在wsl中通过 docker ps -a查看

然后就可以用windows版烧录工具进行烧录啦,这里又有一个坑,必须安装CP0210xusb驱动才能发现串口。安装驱动并连接后,点击刷新发现串口,再点击升级固件即可。(烧录时没留图,临时补张别的,除了文件名别的区别不大。)

重新上电,登录你的路由器,是不是发现有新设备连接啦!

推荐阅读
关注数
13823
内容数
139
全志XR806开发板相关的知识介绍以及应用专栏。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息