主题中讨论的其他器件:TMDS64EVM
工具与软件:
尊敬的 TI 专家:
我们具有以下设置:
0) TMDS64EVM 作为硬件
1) Processor SDK 10.00.07.04 + 相应的 Yocto for Linux 内核版本6.6.32-ti-01287
2) R5-0-0和 R5-0-1在拆分模式下运行
3)自定义固件,从 SRAM+TMC 在 R5-0-0上运行,带有 FreeRTOS
4)实现 RPMSG、分别在 Linux 和 R5之间实现 IPC
我们的应用:
- 我们使用 R5读取8通道24位 ADC 数据@ 128ksps 专业通道、并通过共享存储器将数据传输到 Linux。 这种数据称为 Raw Data
- 我们使用 R5来控制连接到多个接口的不同硬件
- 我们使用 A 内核上的 Linux 来处理原始数据、配置 R5应用程序并提供与外界的一般连接
我们希望实现的目标:
- 基本上、我们希望在 Linux 和 R5/FreeRTOS 之间使用公共时间戳/时基
- 我们希望能够对在 R5上创建的使用时间戳的原始数据包进行标记
- 对于 R5端的错误处理和事件生成、我们希望能够对这些事件和错误设置时间戳
- 我们需要能够根据此时间戳订购 Linux 事件并将其与 R5事件相关联。
- 时间粒度可以在10us 和100us 之间
- Linux/R5之间的时间戳可以有一定的偏移(可能有抖动)、x00ns 非常合理
问题:
- 实现这一目标的最佳方法是什么? 我们已经做了一些研究、似乎可以选择时间同步路由器+ GTC (https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1061474/faq-am64x-what-is-the-time-sync-router-for-how-do-i-use-it)
- 在上述情况下、最好的情况是目标内核(R5)不会被 GTC TSR/TSR 中断中断中断中断中断破坏、但是该信号用于使计时器/计数器递增、然后由 R5应用程序根据需要读取其值。 这是否一个合理的解决方案?实现这一目标的主要步骤是什么?
- 在解决方案过于复杂的情况下、R5读取一个存储当前公共时间的寄存器是很好的选择。 遗憾的是、MCU+ SDK 10.01中只有简要的 GTC API 说明。
- 在 Linux 端读取此时间戳(大概是从 GTC 读取)的方法是什么?
- 在所有情况下、我想 GTC 都必须从 Linux 端进行配置。 同样、该信息几乎缺失、但 TRM 中有几个页面除外、但我们无法找到该节点的 DT 条目描述。 请提供建议!
谢谢。此致、
天使