配置工程环境
首先,您需要设置一个工作空间,配置它然后构建项目。工作空间是一个空目录,将作为本教程中所有活动的基础目录。在本页和整个教程中,您的工作空间目录将被称为“工作空间根目录”。
这是Ubuntu中的一个例子,创建一个名为xmath_walkthrough的文件夹,并进入它:
mkdir xmath_walkthrough
cd xmath_walkthrough
设置工作空间
选择一个目录作为您的工作空 间根目录后,下一步是获取本教程所需的工程代码。有三种方法可供选择。
- 压缩文件
- 从GitHub克隆
- 从PAWPAW的镜像克隆
如果您收到本教程的.zip文件,您可以将该压缩文件的内容直接解压到您的工作空间根目录中。
木瓜科技提供整个工程的压缩包,您可以在 此处下载。
其中压缩包格式为xmath_walkthrough_xx_xx_xx.zip,其中后半部分是封包的时间戳。
另一种方式是,您可以使用git,从github直接克隆仓库:
git clone --recurse https://github.com/xmos/xmath_walkthrough/
如果你无法正常访问github,你可以从pawpaw的git(中国大陆)克隆仓库:
git clone https://git.pawpaw.ltd:3000/XMOS-git-mirror/xmath_walkthrough.git
请注意,由于依赖人工维护,该镜像不是最新的。
安装XTC编译环境
XMath库是针对XMOS的针对 XMOS XS3 架构中的向量处理单元进行优化的数学函数库。因此,在构建整个工程前,您需要先安装对应的编译环境,我们提供了XTC工具指南以供参考。
如果您的操作系统为Windows 10/11,我们推荐您使用预构建的系统部署环境,这会安装我们已经打包好的虚拟机&开发环境。
配置CMake构建
为了简化使用,此项目要求CMake构建目录位于工作空间根目录中。CMake项目将使用XMOS工具链构建本教程中使用的所有设备固件。
从您的工作空间根目录(xmath_walkthrough的上一级目录)执行以下操作:
- Linux/Mac OSX
- Windows
cmake -B build -S xmath_walkthrough -DCMAKE_TOOLCHAIN_FILE=xmos_cmake_toolchain/xs3a.cmake
cmake -B build -S xmath_walkthrough -DCMAKE_TOOLCHAIN_FILE=xmos_cmake_toolchain/xs3a.cmake <WINDOWS_PLATFORM_FLAG>
注意:通常建议在Windows上使用NMake作为CMake项目生成器。然而,截至XMOS工具版本15.2.1,存在一个工具错误,当使用NMake作为CMake项目生成器构建此项目时,会导致构建失败。建议使用Ninja作为替代方案,Ninja的安装不包含在本教程内。
其中,您需要将 <WINDOWS_PLATFORM_FLAG> 替换为:
-G "Ninja"
构建固件
xcore固件将构建并安装到工作空间根目录下的bin/目录中。要构建和安装xcore固件,请从工作空间根目录执行以下操作:
cmake --build build
cmake --install build
install命令将固件和其他几个文件和目录复制到工作空间根目录中。
运行应用程序
本教程的每个阶段都有一个相关的固件,所有固件都应位于工作空间根目录下的bin/目录中。
在运行固件时,工作空间根目录必须是您的工作目录,因为输入和输出文件的路径将相对于调用xrun的目录。
在执行固件之前,请确保xcore工具已添加到您的路径中,并且已发现您的xcore.ai设备。最简单的方法是运行xrun -l。例如:
$ xrun -l
Available XMOS Devices
----------------------
ID Name Adapter ID Devices
-- ---- ---------- -------
0 XMOS XTAG-4 891T5J8B P[0]
如果命令成功并列出了设备,则一切准备就绪。
要运行应用程序固件,请从工作空间根目录执行以下操作:
xrun --xscope bin/<STAGE>.xe
其中 <STAGE> 是要运行其固件的教程阶段。例如,要运行第2C部分的固件,使用以下命令:
xrun --xscope bin/part2C.xe
执行的阶段应该会输出两个文件,一个输出的wav文件和一个包含性能信息的JSON文件。两者都将放置在工作空间根目录下的out\目录中。
要创建out\目录,请在工作空间根目录中运行以下命令。
mkdir out