一起玩XVF3800麦克风阵列(九)
本文记录了在树莓派上构建XMOS固件的过程。首先需要Python 3.10环境,使用Miniforge3创建xmos虚拟环境。在解压固件源码后,安装依赖并尝试构建调试版本固件,但遇到缺少xcc编译器的问题。解决方案是回退到32位系统,重新刷机并安装必要工具链。最后验证I2C通信正常,固件版本显示为3.2.1。整个过程涉及环境配置、依赖安装、固件构建和硬件调试等多个环节。
上一章节中说到我们还缺少一个 command_map.so 动态链接库 文件,提到在这个是固件代码的一部分需要单独构建,那我们尝试现在树莓派上看能否构建固件(仅仅是为了编译出这个动态链接库文件,构建个固件的步骤应该同ubuntu 22.04类似)。
如图所示解压完固件源码(固件源码请联系XMOS国内代理!)

打开源码并解压,我们看到这里的python版本必须为 3.10,不能高也不能低!

这里我们直接使用 Miniforge3 来部署(请注意第三条命令不要用sudo来安装,否则安装到的是root用户,我们这里直接使用普通用户安装):
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh
sudo chmod +x Miniforge3-Linux-aarch64.sh
./Miniforge3-Linux-aarch64.sh
按Enter开始,此时有可能会感觉卡在 end 这个界面

此时按 q 可以退出并输入 yes

遇到enter按enter,询问就输入yes直到完成安装。

打开新的终端可以看到(base)字样说明部署完毕。

我们开始在miniforge3下创建一个名字叫 xmos 基于python3.10的环境
conda create -n xmos python=3.10
输入 y

激活xmos环境:
conda activate xmos

在xmos环境下 XVF3800-Software_v3_2_1-3 目录下进入 source目录
cd sources/
安装所需依赖:
pip3 install -r requirements_build.txt

输入如下命令可以看到可以构建的两个固件,带release的是可以量产的版本,下面一个是调试版本的固件。
cmake --list-presets

我们这里需要调试我们执行下面的命令,选择调试版本:
cmake --preset=app_xvf3800
报错提示没有xcc编译器:

这下有些麻烦了,xcc编译器是在XTC Tools下的,目前不清楚这个是否能够在树梅派下运行,如果不行的话我们只能回滚树莓派镜像到32bit~!

好吧~!!(死循环~!)只能回退版本~ 下载树莓派的32位镜像重新刷机!!在官网找不到刷机镜像,但是我们可以在刷机工具上看到 32bit的 bookworm版本!继续刷机!~~

等待一段时间后。。。。
下载 xCORE VocalFusion Raspberry Pi Setup 源码:
git clone https://github.com/xmos/vocalfusion-rpi-setup
进入 vocalfusion-rpi-setup 目录,编辑 setup.sh 文件:
cd vocalfusion-rpi-setup/
gedit setup.sh
主要是将 libatlas-base-dev 替换为 libopenblas-dev (因为从Debian Trixie开始OpenBLAS性能更好,将之前的atlas丢弃掉了,这个东西是对python中的numpy啊matplotlib等进行优化加速的,反正就是理解成有了这个库后可以加速向量和矩阵运算)

开始安装脚本
./setup.sh xvf3800-intdev
输入y 重启即可。
将我们之前说的官方发布的固件文件夹中的host目录下的rpi文件家复制到home目录下方便操作

给rpi目录下的所有文件添加可执行权限
sudo chmod +x rpi/*
将 rpi 目录添加到PATH
sudo gedit .bashrc
在最后添加语句
export PATH="$PATH:/home/raspberry/rpi"

打开一个新的终端执行如下命令:
xvf_host --use i2c VERSION
返回 3 2 1说明Host通过I2C通信正常!(记得前面说过刷固件的时候我们选的是I2C的控制方式)

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)