配置开发环境
XMOS XTC 开发工具集为 xcore 多核微控制器应用的开发提供了完整的解决方案,您可以在XMOS官网免费下载。
提示
想要下载 XMOS 提供的 XTC 工具集,您需要注册一个 xmos.ai 的账户,登录完成后即可获取相关文件。
XMOS XTC 工具集让您能轻松定义实时任务于并行系统中。它包含标准的 C 和 C++ 编译器、语言库、模拟器、符号调试器以及运行时仪表和跟踪库。多核支持功能提供了任务级并行性和通信、精确的定时和 I/O 以及安全的内存管理。所有组件都是基于实时多核功能工作,实现了全面集成的方法。
所有在 xcore 处理器上开发或部署的应用程序都需使用 XTC 工具集。这些工具包括:
- "Tile-level" 工具链(例如编译器、汇编器)
- 系统库
- "Network-level" 工具(例如多 tile 映射器)
- XSIM 模 拟器
- XGDB 调试器
- 部署工具
虽然这些工具最初设计为在命令行环境中使用,但也可以集成到您常用的 IDE 中。
安装 XTC 工具集
请参照 XTC 工具指南 安装 XTC 开发环境。
如果您是 Windows 用户,我们提供了一个简便的方式 —— 导入我们预先构建的虚拟机,帮助您快速进入 XMOS 开发环境。由于 Windows 版本的 XTC 不支持多核编译,因此我们推荐您在虚拟机环境中编译 XMOS 项目,特别是使用高性能的 WSL2。
获取工程
提示
如果您使用了我们预构建的系统镜像,源码工程已经包含在镜像中。但您需要 手动拉取最新的源码:
cd /home/pawpaw/projects/XMOS-SDK-zh_CN
git pull
我们使用git维护USB多通道音频的项目源码。您可以选择下载整个压缩包,或是使用git克隆源码到您的硬盘中:
git clone https://git.pawpaw.ltd:3000/PAWPAW/XMOS-SDK-zh_CN.git
项目结构
将源代码存储到本地后,您会在目录XMOS-SDK-zh_CN中看到以下文件:
XMOS-SDK-zh_CN
├── sw_usb_audio
│ └── app_usb_aud_xk_316_pp
│ ├── Makefile
│ ├── src
│ │ ├── extensions
│ │ │ ├── user_main.h
│ │ │ └── audiohw.xc
│ │ └── core
│ │ ├── xua_conf.h
│ │ └── XU316-1024-QF60B-PP24.xn
│ └── bin
├── lib_adat
├── lib_dsp
├── lib_i2c
├── lib_locks
├── lib_logging
├── lib_mic_array
├── lib_spdif
├── lib_xassert
├── lib_xua
└── lib_xud
项目结构概要
sw_usb_audio:包含了多个用户应用,每一个应用都可以编译为XMOS可执行文件.xe。lib_*:USB Audio项目的依赖库,它们的命名均由lib_开头。都包含在XMOS USB音频库(lib_xua)中。通常情况下,您不需要修改lib库中的代码。关于这些库的详细说明参考lib_xua。app_usb_aud_xk_316_pp:木瓜科技提供的示例用户工程。Makefile:用于构建可执行文件.xe的描述文件,每一个用户工程中都应该包含Makefile文件。它基于XMOS的XCOMMON构建系统,用于加速用户应用的开发,关于文件的详细说明参考构建固件。src:存放用户开发的源代码src/extensions:存放用户自行开发的扩展代码,主要包括定义用户线程(user_main.h),配置音频硬件(audiohw.xc),例如Codec,PLL。src/core:存放XMOS开发的核心代码, 主要包括通过软件定义XMOS芯片(XU316-1024-QF60B-PP24.xn),以及通过宏定义修改软件功能。