xmos 相关知识--- xn文件解析

1.XN 文件解析

type 声明是device

name 是名称

tile 资源声明 一个是XCore  一个是 usb 相关的物理层资源

package 对应芯片,包含两个Node  和一个link

两个node ,一个是xcore 一个是USB,每个node 都有一个id号,从0开始

xrun: Cannot load image, XCore 0 is not enabled  不能刷写可能原因

1) Check the status of the RST_N pin on the CPU. What is the logic level after boot? It should be HIGH to allow for the CPU and JTAG interface to run.

2) Check the clock (24M) at the CPU. Must be running to allow for CPU and JTAG operation. The crystal loading caps used on your design match the XMOS ref design but should be tweaked varying with the crystal manufacturer's recommendation. Often the loading caps vary with the vendor of the crystal. If the clock runs upon every power up cycle, then not a problem. Other thoughts are to source a fixed 3v3 crystal oscillator in a single device and just use it for the 24M clock source. This is 100% guaranteed to power up and run (be sure that OE pin on the oscillator = "1" to enable).

3) Check the voltage rails of each power rail.

4) Was this custom PCB, hand built or automated build? Reflow with a hot air tool the XMOS CPU to be sure the ground (paddle) bottom is soldered. This can raise the same error if the ground paddle is not soldered. This is a common root cause of this error on past reviews. Even better if you can get the XRAY view of the CPU to double check the same soldering details.

Cannot load image, XCore 0 is not enabled

This error message means that the XTAG or XTAG2 JTAG debug adapter can access the JTAG tap on the device, but cannot access the XCore tap on the device.

Possible reasons for this occurring can include:

1. The JTAG interface to the XCore has been disabled in the OTP security register.

2. The device is being permanently held in reset by the RST_N signal.

3. No clock is being supplied to the device.

4. The clock frequency supplied to the device is unsuitable for the selected PLL multiplier. The PLL multiplier is set using the MODE pins and should be configured so that the XCore boots up at or below its maximum frequency. Further details on the MODE pins can be found in the relevant device datasheet.

5. The VDD Core supply is outside of tolerance (1.0V +/-10%).

6. The VDD PLL supply is outside of tolerance (1.0V +/-10%) or not present. This will mean that the PLL is not locked and hence the XCore will be kept in reset. On an XS1-G series device the SS_PLL_LOCK output signal can be used to drive an active-high LED when the PLL has locked successfully.

7. The power supplies have not been correctly sequenced. The VDDIO (and OTP_VDDIO if present) supply must be within specification (3.0V-3.6V) before the VDD Core supply is turned on. Specifically, the VDDIO supplies should be within specification before VDD core reaches 0.4V.

8. The device, especially the ground paddle on the L1/L2 devices, has not been correctly soldered to the board. This can either be in the form of not connected solder joints or shorted solder joints to other pins, ground or power.

USB 相关知识

lib xua

组件

描述

Endpoint 0

提供Endpoint 0的逻辑,处理设备的枚举和控制,包括DFU相关请求。

Endpoint buffer

缓冲端点数据包的传输,用于主机和设备之间的音频数据包交换。还可以处理音量控制处理。请注意,目前使用了两个核心。

AudioHub

处理通过I2S进行的音频输入/输出,并管理与其他数字音频输入/输出组件之间的音频数据。

此外,还需要低级别的USB I/O,该功能由外部依赖项lib_xud提供。

组件

描述

XMOS USB Device Driver (XUD)

处理低级别的USB I/O

lib xua 可选组件

组件

描述

Mixer

允许对输入和输出通道进行数字混音。也可以处理音量控制,而不使用解耦器。

Clockgen

用于驱动外部频率发生器(PLL),管理内部时钟和来自数字输入的外部时钟之间的切换。

MIDI

通过串行UART接口进行MIDI输出和输入。

组件

描述

S/PDIF Transmitter

输出S/PDIF数字音频接口的样本。

S/PDIF Receiver

输入S/PDIF数字音频接口的样本(需要clockgen组件)。

ADAT Receiver

输入ADAT数字音频接口的样本(需要clockgen组件)。

PDM Microphones

从麦克风接收PDM数据,并执行PDM到PCM转换。

库结构​

源代码 src 分为几个目录:

目录

描述

core

USB音频应用程序的通用代码

midi

MIDI I/O代码

dfu

设备固件升级代码

hid

人机界面设备代码

xTAG-3   电路图

USB 声卡映射图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1523001.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

指针之旅(2)——const修饰词 野指针、空指针与泛型指针

目录 Part one(一) 1. const关键字 1.1 const修饰普通变量 1.1.1 const的作用 1.1.2 指针绕过const 1.2 const修饰指针变量 1.2.1 const在 * 前 1.2.2 const在 * 后 1.2.3 双重const修饰 Part two(二) 1. 野指针 * 野…

Sentence-BERT实现文本匹配【回归目标函数】

引言 上篇文章我们通过Sentence-Bert提出的分类目标函数来训练句子嵌入模型,本文同样基于Sentence-Bert的架构,但改用回归目标函数。 架构 如上图,计算两个句嵌入 u \pmb u u和 v \pmb v v​之间的余弦相似度,然后可以使用均方误…

Webpack详解与配置环境

webpack:webpack网址 1、工作原理: Webpack是一个非常强大的静态模块的打包工具。从文件入口开始,递归解析以来关系,然后将所有模块打包成一个或多个budle文件。 2、webpack核心概念: Entry:入口起点(en…

【STM32+HAL库】---- 通用定时器实现外部脉冲计数

硬件开发板:STM32G0B1RET6 软件平台:cubemaxkeilVScode1 新建cubemax工程 1.1 配置系统时钟RCC 1.2 配置定时器 选择通用定时器TIM2,时钟源选择ETR2,对应的输入端口为PA0引脚,预分频系数为0,重装载值选择…

Python简易IDE工作界面制作

、 休闲一下,学习编程还是要学习一些界面编程,能够根据需要制作图形操作界面,这样我们开发的程序才能方便操作和使用,同时获得更友好的人机交互体验。下面是一个用PyQt5制作的简易界面,供大学参考。如下图所示&a…

在SpringMVC中用fmt标签实现国际化/多语言

SpringMVC中用fmt标签实现国际化主要解决界面的多语言化,ftm标签会根据浏览器的语言值来先择对应的文件配置,如中文简体的浏览器值是zh_CN,那么ftm标签就会用以zh_CN.properties结尾的配置文件中的key来取值,从而实现自多语言的自动切换&…

自动化运维之SaltStack 部署应用

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

【Steam游戏星露谷物语添加Mod步骤】

Steam游戏星露谷物语添加Mod步骤 星露谷物语添加拖拉机模组一、安装SMAPI二、正式开始添加MOD 星露谷物语添加拖拉机模组 一、安装SMAPI 星露谷物语添加拖拉机mod为例,添加其它mod一样的步骤。 首先,打开Steam,打开一次星露谷物语这款游戏&…

论文速读纪录 - 202408

特别鸣谢kimi,以下论文均在kimi辅助下阅读。 目录 RMIB: Representation Matching Information Bottleneck for Matching Text RepresentationsAttentionRank: Unsupervised keyphrase Extraction using Self and Cross AttentionsANSWERING COMPLEX OPEN-DOMAIN …

标准库标头 <optional> (C++17)学习之optional

类模板 std::optional 管理一个可选 &#xfeff;的所含值&#xff0c;即既可以存在也可以不存在的值。 一种常见的 optional 使用情况是作为可能失败的函数的返回值。与如 std::pair<T, bool> 等其他手段相比&#xff0c;optional 可以很好地处理构造开销高昂的对象&a…

DataGridView用法合集【精品】

1.当前的单元格属性取得、变更 [VB.NET] Console.WriteLine(DataGridView1.CurrentCell.Value) Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex) Console.WriteLine(DataGridView1.CurrentCell.RowIndex) DataGridView1.CurrentCell DataGridView1(0, 0) [C#] Con…

虚幻引擎VR游戏开发02 | 性能优化设置

常识&#xff1a;VR需要保持至少90 FPS的刷新率&#xff0c;以避免用户体验到延迟或晕眩感。以下是优化性能的一系列设置&#xff08;make sure the frame rate does not drop below a certain threshold&#xff09; In project setting-> &#xff08;以下十个设置都在pr…

基于php+vue+uniapp的医院预约挂号系统小程序

开发语言&#xff1a;PHP框架&#xff1a;phpuniapp数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;PhpStorm 系统展示 后台登录界面 管理员功能界面 用户管理 医生管理 科室分类管理 医生信息管理 预…

机器人外呼有哪些优势?

机器人外呼&#xff0c;作为一种结合了计算机技术和人工智能技术的自动化工具&#xff0c;具有多重显著优势。以下是其主要优势的详细阐述&#xff1a; ### 1. 高效性 * **大幅提升工作效率**&#xff1a;机器人外呼可以全天候、不间断地进行工作&#xff0c;不受时间、地点和…

【优质源码】3D多人在线游戏,前端ThreeJS,后端NodeJS

3D多人在线游戏 【源码】3D多人在线游戏源码&#xff0c;前端ThreeJS&#xff0c;后端NodeJS&#xff0c;完整源码。 游戏画面 启动方法 先启动服务器端。 在目录&#xff0c;3D-multi-player-main\3D-multi-player-main\nodeapps\blockland 中&#xff0c;运行&#xff1a…

Elasticsearch之原理详解

简介 ES是使用 Java 编写的一种开源搜索引擎&#xff0c;它在内部使用 Lucene 做索引与搜索&#xff0c;通过对 Lucene 的封装&#xff0c;隐藏了 Lucene 的复杂性&#xff0c;取而代之的提供一套简单一致的 RESTful API 然而&#xff0c;Elasticsearch 不仅仅是 Lucene&#…

设计模式及创建型模式-python版

1 架构模式与设计模式 架构模式搞层次的设计模式&#xff0c; 描述系统整体结构和组织方式&#xff0c;设计模式是针对某个问题的解决方案&#xff0c;是一种解决问题的思路。 2 设计模式的分类 2.1 创建型模式 单例模式&#xff0c;工厂方法模式&#xff0c;抽象工厂模式&…

JVM2-JVM组成、字节码文件、类的生命周期、类加载器

目录 Java虚拟机的组成 字节码文件 字节码文件打开方式 字节码文件的组成 基本信息 Magic魔数 主副版本号 常量池 字段 方法 属性 字节码常用工具 javap jclasslib插件 Arthas 类的生命周期 概述 加载阶段 连接阶段 验证 准备 解析 初始化阶段 类加载器…

linux 下一跳缓存,early demux(‌早期解复用)‌介绍

3.6版本以后的下一跳缓存 3.6版本移除了FIB查找前的路由缓存。这意味着每一个接收发送的skb现在都必须要进行FIB查找了。这样的好处是现在查找路由的代价变得稳定(consistent)了。3.6版本实际上是将FIB查找缓存到了下一跳(fib_nh)结构上&#xff0c;也就是下一跳缓存下一跳缓存…

ESP32无线WiFi芯片模组,设备物联网连接通信,产品智能化交互升级

在数字化浪潮的推动下&#xff0c;我们正步入一个万物互联的新时代。物联网&#xff08;IoT&#xff09;技术&#xff0c;作为连接物理世界与数字世界的桥梁&#xff0c;正逐渐渗透到我们生活的每一个角落。 乐鑫正通过其创新的无线WiFi芯片模组&#xff0c;为这些领域的发展提…