Skip to main content
欢迎来到PAWPAW技术文档网站了解更多信息

XMOS 快速链接

欢迎来到您的XMOS 快速链接库!这里就像是一本为高级用户定制的黄页,帮助您快速找到所需的资源。

请注意,我们精选的链接并不包含XMOS组织 fork 的仓库,以及XCORE组织中的所有仓库,因为它们多数已经不再维护,或已经被集成到XMOS组织中。

音频 Audio

  • lib_mp3(第三方):MP3解码库。使用Underbit Technologies的MAD MPEG音频解码器,该解码器采用GPLv2许可证。
  • lib_spdif:软件定义的S/PDIF库,允许通过xCORE端口传输和接收S/PDIF数据。
  • lib_adat:该代码库中的模块在每个核心中实现了一个ADAT(Audio Data Transfer)的发送器和接收器。需要使用单独的核心来收集和提供数据。

工具:

  • audio_test_tools:该代码库包含用于测试音频流水线和相关库的多个Python脚本和XC函数。
  • xplay:简单的音频播放/录制示例应用程序。

应用:

  • lib_awe:(测试版本)该固件提供了一个高速USB音频设备,旨在符合基于XMOS AI设备的USB音频类规范的2.0版本。所有音频都通过一个Audio Weaver DSP堆栈进行处理。

接口 Interface

  • lib_ethernet:以IEEE Std 802.3-2002规范为基础,提供完整的软件定义以太网MAC,支持10/100/1000 Mb/s数据速率。
  • lib_gpio:XMOS GPIO库,允许您将xCORE端口作为低速GPIO进行访问。
  • lib_i2c:软件定义的行业标准I2C库,允许您通过xCORE端口控制I2C总线。
  • lib_i2s:软件库,允许您通过xCORE端口控制I2S或TDM(时分复用)总线。
  • lib_spi:软件定义的行业标准SPI(串行外设接口)组件,允许您通过xCORE GPIO硬件响应端口控制SPI总线。
  • lib_uart:软件定义的行业标准UART(通用异步收发器)库,允许您通过xCORE GPIO端口控制UART串行连接。
  • lib_xua中文文档):lib_xua包含用于XMOS USB音频(XUA)参考设计的共享组件。
  • lib_xud:XMOS USB设备(XUD)库提供与USB的底层接口。lib_xud是一个软件定义的行业标准USB库,允许您通过xCORE端口控制USB总线。
  • sw_usb_audio:该存储库包含XMOS USB音频参考设计框架的应用程序(或实例)。这些应用程序通常与特定的硬件平台相关联。

工具:

  • xscope_fileio:这个库允许在xCore上的程序通过xscope访问主机机器上的二进制文件。
  • lib_device_control:设备控制库(Device Control Library)提供了从主机(Windows/OSX/Raspberry Pi/Linux/xCORE)通过多种传输层配置和控制XMOS设备的功能。

语音 Voice

  • XCORE-VOICE V2.0.0:XCORE-VOICE解决方案由示例设计和基于C的SDK组成,用于开发在xcore.ai芯片(XU316)上支持远场语音用例的音频前端应用程序。github:sln_voice

  • fwk_voice:XMOS Voice Framework DSP库包含针对xcore.ai进行优化的高性能音频处理算法。

  • lib_agc:该库实现了自动增益控制算法。给定时间域中的音频样本流,它动态地调整增益,使得语音内容保持指定的输出级别。

  • lib_vnr:用于估计输入音频流中语音信号与噪声的比例。

  • lib_adec:提供了测量和校正参考信号与扬声器信号之间延迟偏移的功能。

  • lib_aec:提供了一组函数,可以使用输入的参考数据来模拟房间回声特性,对输入麦克风数据执行声学回声抵消(AEC)。

  • lib_interference_cancelle(组件):提供了一组函数,通过适应和建模房间传递特性,对两通道输入麦克风数据执行干扰取消(IC)。

  • lib_mic_array_board_support:用于控制XMOS麦克风阵列参考设计1v0的库。

  • lib_noise_suppression(组件):用于执行噪声抑制(NS),通过估计噪声并从帧中减去噪声。

  • lib_mic_array:XMOS麦克风阵列库旨在允许与PDM麦克风进行接口,并进行高效的抽取以实现用户可配置的输出采样率。此库仅适用于XS3设备。

工具:

  • host_xvf_controlHOST_XVF_CONTROL 是一个主机控制参考应用程序。它可以与 XVF38xx 产品系列的产品配合使用。
  • vocalfusion-avs-setup:存储库包含用于配置树莓派与XMOS麦克风前端配合工作的脚本和辅助程序。

DSP算法与AI DSP & AI

  • lib_xcore_math中文文档):算术和DSP库,利用XS3向量处理单元(VPU)加速16位或32位数据向量上的昂贵操作。包括块浮点算术、快速傅里叶变换、离散余弦变换、线性滤波等函数。可用于XMOS xcore.ai系列多核微控制器。
  • lib_dsp:此API参考手册描述了XMOS固定点数字信号处理软件库。该库实现了一套常用的信号处理函数,可用于XMOS xCORE-200多核微控制器。
  • lib_tflite_micro:这个仓库是lib_tflite_micro的封装。该仓库包含了在XCORE上使用tflite-micro所需的所有第三方仓库。
  • lib_nn:包含了高效的神经网络函数,旨在最大化在XMOS xcore.ai上进行神经网络推理的性能,并尽量减少内存占用。
  • adf:AI部署框架中的xcore_interpreters是一个Python模块,提供了在x86或xCORE微处理器上使用TensorFlow Lite(.tflite)模型进行推断的实用程序和库。
  • lib_sw_pll:该库包含的软件与芯片内置的应用程序PLL相结合,能够提供一个PLL,该PLL能生成一个与输入时钟相位锁定的时钟信号。本库提供了一个软硬件结合的相位锁定环(PLL)系统。

工具:

  • ai_tools:包括基于MLIR的XCore优化器(xformer)用于优化针对XCore的TensorFlow Lite模型。以及XCore tflm解释器用于在主机上运行经过转换的模型。
  • xmath_walkthrough中文教程):。这个代码库是一个教程,通过多种数字FIR滤波器的实现,引导开发者逐步了解不同的实现方式,并展示了不同实现之间的性能权衡。
  • aisrv:通过控制接口提供输入数据/模型,将推理任务部署到 xCORE 上的项目。

存储 Memory

  • lib_qspi_fast_readlib_qspi_fast_read是用于在XMOS设备上与QSPI闪存设备进行接口交互的库。该库以牺牲灵活性和写入/擦除功能为代价,实现了比默认提供的闪存库更高的数据传输带宽。
  • lib_flash(提供API):libflash库提供了用于读写使用xCORE格式的SPI闪存设备的数据的函数。
  • lib_sdram:XMOS SDRAM库设计用于以高达62.5MHz的时钟频率对任意长度32位长字缓冲区进行读写访问。
  • lib_l2_cache:L2缓存组件使用XS3 swmem功能来处理对外部闪存的读取。它具有使用片上RAM进行读取缓存的优势,以提供额外的性能,并提供内存映射访问。

安全 Security

  • lib_random:此库提供硬件和软件随机数生成。
  • lib_otpinfo:该模块包含从XCore的OTP存储器中读取板信息(例如序列号、MAC地址)的函数。可以使用XMOS提供的XBURN开发工具将此信息写入设备。

系统支持 System support

  • lib_locks:该库提供硬件和软件锁的访问,用于并发C程序中使用。通常情况下,由于XC对安全并发数据访问的假设,不安全使用这些锁来进行XC内部标记。
  • lib_logging:该库提供了一个轻量级的printf函数,可以通过配置定义启用或禁用。可以声明代码位于“调试单元”内(通常是库或应用程序源代码库),并且可以根据调试单元启用/禁用打印。
  • lib_src:XMOS Sample Rate Conversion(SRC)库提供了用于xCORE多核微控制器上同步和异步音频采样率转换的函数。
  • lib_trycatch:提供处理硬件和抛出异常的方式的库。
  • lib_xassert:该库提供了一个轻量级且灵活的替代标准C头文件assert.h

工具:

  • XTC工具指南:任何在XCore处理器上开发或部署应用程序的人都需要使用XTC工具。
  • test_support:这个仓库包含了用于测试XMOS xCORE应用程序的辅助工具,包括以下内容:
    • xCORE模拟器(xsim)的Python包装器
    • 用于XE文件的Python访问函数
    • 用于pytest的Python代码覆盖率测量工具(xcov)
  • xmos_cmake_toolchain:该存储库包含了用于在CMake下构建xcore-200(xs2a架构)和xcore.ai(xs3a架构)目标的工具链文件。

物联网 IoT

  • XCORE-IOT V1.0.0:XCORE-IOT是一组C/C++软件库,旨在简化和加速在xCORE处理器上的应用程序开发。github:xcore_iot
  • fwk_rtos:该代码库是一个用于开发 xcore 平台的 C/C++ 实时操作系统(RTOS)库的集合。
  • fwk_core:该代码库是一个用于开发 xcore 的 C/C++ 核心库的集合。
  • lib_wifi(未完成):目前仅配合XCORE-AI-EXPOLERE使用
  • lib_device_control:设备控制库提供了从主机上通过多种传输层配置和控制XMOS设备的功能。
  • lib_lcd:XMOS LCD库,允许您通过并行总线与LCD屏幕进行接口。
  • lib_webserver:此软件库允许您生成使用XMOS TCP/IP服务器组件进行通信的Web服务器。
  • lib_display_controller:XMOS显示控制器库提供了从应用程序中移除维护LCD行缓冲区的实时约束的服务,并提供了一个受控的帧缓冲区服务。它通过使用SDRAM作为帧缓冲区的存储器来实现这一点。
  • lib_filesystem(未完成):xcore文件系统
  • lib_lin:软件定义的LIN总线库。LIN库包括主设备和从设备。主组件自动包括从功能。
  • lib_tsn:此库提供用于创建时间敏感的网络和媒体传输应用程序的组件。特别是,它支持以太网AVB(音视频桥接)的各种标准。
  • lib_rtos_support:提供在xCORE上运行RTOS所需的支持的软件库。还提供了SMP RTOS支持。功能分为两个子库,lib_rtos_support和lib_soc。
  • lib_xtcp:提供两种用于XMOS设备的TCP/UDP/IP协议栈的选择。该库连接到XMOS以太网库,通过MII或RGMII在以太网上提供第3层流量。

开发板支持 Board Support

  • lib_slicekit_support(已归档):用于管理xCORE sliceKIT核心板上闪存端口多路复用的sliceKIT支持库。此板已达到生命周期结束。此存储库不再维护。
  • lib_startkit_support(已归档):该库提供了访问startKIT开发板可用功能的支持。此板已达到生命周期结束。此存储库不再维护。
  • lib_u_series_support:该库提供了访问XMOS U系列设备可用功能的支持。