This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMDS64EVM:有关硬件流控制寄存器的查询

Guru**** 2798555 points

Other Parts Discussed in Thread: SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1622336/tmds64evm-query-regarding-hardware-flow-control-register

器件型号: TMDS64EVM
主题: SysConfig 中讨论的其他器件

您好、

我使用 MCU+ SDK 来设计 AM64x EVM。 我的应用在 R5FSS0_0 内核上运行。

在调试 UART 配置时、我观察到了两件事、需要澄清一下。


  1. UART0 域映射


在生成的 ti_drivers_config.c 中:

#define CSL_UART0_BASE (0x2800000UL)

这对应于地址 0x02800000。

在 CCS 寄存器视图中、我看到 UARTx 和 MCU_UARTx 实例。

由于 TRM 提到 A53 和 R5F 内核位于主域中、因此我想确认:

•为 R5FSS0_0 构建时、CSL_UART0_BASE (0x02800000) 是否映射到 UART0?
•还是 MCU_UART0?
•SysConfig 如何将“UART0"解“解析为特定域实例?


  1. EFR 寄存器–AUTO_CTS_EN/AUTO_RTS_EN


在 SysConfig 中、硬件流控制被禁用。

但是、在寄存器视图中:

•UART0 和 UART1 显示:
AUTO_CTS_EN = 1
AUTO_RTS_EN = 1

•UART2–UART6 和 MCU_UARTx 实例将这些位显示为 0。

即使在:
-在 SysConfig 中更改 UART 实例
-重建
-重新加载应用程序

UART0 和 UART1 仍将 AUTO_CTS_EN 和 AUTO_RTS_EN 显示为 1。

我想澄清以下几点:

•在我的应用程序运行之前、这些位是由引导 ROM 还是 SBL 设置的吗?
•当禁用硬件流控制时、MCU+ SDK UART 驱动程序是否会明确清除这些位?
•如果我要求 AUTO_CTS_EN 和 AUTO_RTS_EN 保持为 0、建议采用什么方法?

此致、

Sumi  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    •在为 R5FSS0_0 进行构建时、CSL_UART0_BASE (0x02800000) 是否映射到 UART0?
    •还是 MCU_UART0?
    •SysConfig 如何将“UART0"解“解析为特定域实例?

    我认为这会是 CCS 错误。 实际上、 映射如下所示:

     应用程序中也正确遵循了这些映射。

    •在我的应用程序运行之前、这些位是否由引导 ROM 或 SBL 设置?
    •当禁用硬件流控制时、MCU+ SDK UART 驱动程序是否会明确清除这些位?
    •如果我要求 AUTO_CTS_EN 和 AUTO_RTS_EN 保持为 0、建议采用什么方法?

    我相信这是一个错误。 由于 ROM 不会设置这些位、因此也会在设置后在 UART 驱动器关闭时清除这些位。  

    因此、在使用硬件流控制阈值的情况下、应在 UART 的关闭过程中将自动 CTS 和 RTS 设置回 0。

    我已经提交了相同的错误。 将这些位设置回 0 的逻辑可能是 API UART_LLD_DeInit。

    BR Vaibhav