嵌入式之Ubuntu22.04构建XMOS

你好呀,我的老朋友!我是老寇,跟我一起学习构建XMOS

基于命令构建,花了几天时间才完成构建,希望对你有所帮助。

XMOS地址:https://www.xmos.com

XMOS是一家英国的半导体公司,致力于帮助人们构建任何事物。XCORE®芯片是生成式系统级芯片(GenSoC)平台------高性能、高确定性的多处理平台,可无限重构,在单个器件中集成控制、I/O、DSP和AI等功能。

我们主要是用于对声音的前置处理,比如降噪等等。

初始化安装插件
shell 复制代码
# 切换root用户
su root

# 安装SSH
apt install openssh-server

# 开机启用ssh
systemctl enable ssh

# 安装gcc和cmake
apt update
apt install build-essential
apt install cmake

# 查看gcc版本
gcc --version

# 安装g++
apt install g++

# 查看g++版本
g++ --version

# 安装pkg-config
apt update
apt install pkg-config

# 查看pkg-config
pkg-config --version

# 安装libusb
apt install libusb-1.0-0-dev

# 查看libusb版本
pkg-config --modversion libusb-1.0

安装XMOS

shell 复制代码
# 创建XMOS目录
mkdir -p /home/a/app/xmos

# 进入目录
cd /home/a/xmos

# 下载XMOS Tools
# 文档地址:https://www.xmos.com/xtc-install-guide
wget https://www.xmos.com/file/tools-15-linux-64?version=latest

# 安装XMOS Tools
# 安装目录:/home/a/XMOS/..
tar -xf tools-15-linux-15-3-1.tgz -C ~

# 添加环境变量【根据实际情况而定,找到你安装XMOS的路径】
# 每一次都需要手动这样执行,不然会告诉你找不到xcc命令
cd /home/a/XMOS/XTC/15.3.1
source SetEnv

# 查看xcc版本,有结果输出就是安装成功
xcc --version
安装目标板和xTAG

使用两根USB线连接开发版即可

shell 复制代码
# 切换a用户
su a
# 进入XMOS脚本目录
cd /home/a/XMOS/XTC/15.3.1/scripts
# 安装
sudo ./setup_xmos_devices.sh
# 检查
./check_xmos_devices.sh
# 重启设备,查看运行状态
xrun -l
运行例子
shell 复制代码
# 切换root用户
su root

# 进入xmos目录
cd /home/a/xmos

# 安装git
apt install git

# 拉取源码【需要配置SSH密钥】
git clone --recurse-submodules git@github.com:xmos/sln_voice.git

# 查看/home/a/app/xmos/sln_voice/examples/ffva/READ.rts
# 查看/home/a/app/xmos/sln_voice/examples/ffva/READ.rts
# 查看/home/a/app/xmos/sln_voice/examples/ffva/READ.rts

# 安装 venv
sudo apt install python3-venv python3-full

# 创建虚拟环境
python3 -m venv venv

# 激活
source venv/bin/activate

# 安装ninja
pip install ninja

# 新增环境变量
SET "XMOS_TOOL_PATH=/home/a/XMOS/XTC/15.3.1"

# 构建/opt/xmos/bin
cmake -B build_host
cd build_host
make install -j

# 回到上级目录
cd ..

# 构建固件
pip install -r requirements.txt
cmake -B build --toolchain xmos_cmake_toolchain/xs3a.cmake
cd build
make example_ffva_ua_adec_altarch -j
make example_ffva_int_fixed_delay -j
make example_ffva_int_cyberon_fixed_delay -j

# 烧录固件
xflash --factory example_ffva_int_cyberon_fixed_delay.xe
xflash --factory example_ffva_int_fixed_delay.xe
xflash --factory example_ffva_ua_adec_altarch.xe

# 运行固件
xrun --xscope example_ffva_ua_adec_altarch.xe
xrun --xscope example_ffva_int_fixed_delay.xe
xrun --xscope example_ffva_int_cyberon_fixed_delay.xe

# xgdb调试固件
xgdb -ex "conn --xscope" -ex "r" example_ffva_ua_adec_altarch.xe
xgdb -ex "conn --xscope" -ex "r" example_ffva_int_fixed_delay.xe
xgdb -ex "conn --xscope" -ex "r" example_ffva_int_cyberon_fixed_delay.xe

我是老寇,我们下次再见啦!

相关推荐
FreakStudio41 分钟前
ESP32居然能当 DNS 服务器用?内含NCSI欺骗和DNS劫持实现
python·单片机·嵌入式·面向对象·并行计算·电子diy
Truffle7电子5 小时前
STM32理论 —— FreeRTOS:任务
stm32·嵌入式·rtos
嵌入小生00710 小时前
ARM --- 基础知识汇总
linux·嵌入式·arm·指令集
指尖动听知识库11 小时前
致所有嵌入式学习者:一些比代码更重要的东西
嵌入式·生活·学习方法·个人成长·求职就业·大学生找工作
济61711 小时前
ARM Linux 驱动开发篇--- Linux 并发与竞争实验(自旋锁实现 LED 设备互斥访问)--- Ubuntu20.04自旋锁实验
linux·嵌入式·嵌入式linux驱动开发
busideyang13 小时前
函数指针类型定义笔记
c语言·笔记·stm32·单片机·算法·嵌入式
CinzWS14 小时前
中断向量表中断号与 CMSIS IRQn 映射关系深度剖析:从硬件索引到软件句柄的桥梁
arm开发·架构·系统架构·嵌入式·cortex-m3·中断
small_wh1te_coder2 天前
拷打字节技术总监: 详解c语言嵌入式多线程编程中的头文件 #总结 上下篇合 #
c语言·开发语言·算法·操作系统·嵌入式
你疯了抱抱我2 天前
【射频】SMA天线、IPEX底座、IPEX带线插头(RF1.13)转SMA转接头 的选型和理由 原理分析
嵌入式硬件·嵌入式·射频工程·pcb·电路·电子
SSONICX2 天前
RK3506:1.介绍
嵌入式