器件型号: J784S4XEVM
TI 是否有基于 CSL 的看门狗和 ICU 应用? 我只在 SDK 中找到了 mcusw 应用程序。 还欢迎 CCS 应用示例链接到 CSL 库
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.
器件型号: J784S4XEVM
TI 是否有基于 CSL 的看门狗和 ICU 应用? 我只在 SDK 中找到了 mcusw 应用程序。 还欢迎 CCS 应用示例链接到 CSL 库
您好、Jim、
我应该向 ESM_EN 提供什么来启用该模块? 0xF 或 0xFFFFFFFF?
ESM_EN 必须设置为 0x0F 以启用全局中断。
我不必启用 RTI 看门狗超时中断、对吧?
如果正在监视 ESM 事件、则不需要监视 RTI 中断。
如果我只需要硬件复位、我不需要启用 ESM 看门狗超时中断、对吧? [/报价]如果 RTI (RTI28_INTR_WWD_OUT_0) 正确出现超时中断、您会执行硬件复位? 因此、必须启用 ESM 事件。
如果我启用错误引脚来触发 PMIC 复位、它将仅在该内核上复位、而不会在域或 soc 级复位上复位、对吧?当向 ESM 模块报告故障时、它将向相应的处理内核生成一个中断、同时将一个外部错误 I/O 引脚置为有效、以指示发生了错误。 错误 I/O 引脚可以在电平模式或 PWM 模式下运行。 报告错误时、外部 I/O 引脚将被置为低电平最短一段时间。 主域和 MCU 域中存在一个单独的 ESM 模块、在混合关键应用中使用时提供所需的 FFI。 此外、主域和 MCU 域有单独的错误输出引脚、这些引脚可以连接到 PMIC 等外部监控器件。 TI 建议将这两个输出引脚连接到 PMIC IC、以便在出现不可恢复的错误时能够单独复位主域和 MCU 域。
[引述 userid=“346969“ url=“~/support/processors-group/processors/f/processors-forum/1616371/j784s4xevm-csl-based-watchdog-and-icu-application/6313281当我在 EVM 板上进行测试时、ESM_en 复位为全 0、我的应用在初始化后不会触摸此寄存器。 这可能是什么原因?
在 SDK 示例 CSL/example/RTI/dwwdtest_app 中、ESM 似乎会生成系统复位
/*步骤 4:配置重置类型*/
if (esmConfig->ResetType == ESM_RESET_TYPE_SYSTEM)
{
/*启用 ESM 引脚输出以生成系统复位*/
if (esmConfig->enablePinOutput)
{
esmBaseAddr[ESM_PIN_EN_SET / 4]= errorEventBit;
}
暴露
{
esmBaseAddr[ESM_PIN_EN_CLR/4]= errorEventBit;
}
}
else /* ESM_RESET_TYPE_CORE_LOCAL */
{
/*禁用内核本地复位的 ESM 引脚输出*/
esmBaseAddr[ESM_PIN_EN_CLR/4]= errorEventBit;
/*内核本地复位将由软件处理*/
}如果我希望 ESM 生成一个本地重置、如何配置 ESM 来实现?
在示例中、对于 main0 RTI、它将事件定义为 2、为什么它使用 2?
#define ESM_MAIN_RTI0_DWWD_EVENT (2U) /*主 RTI0 DWWD 超时事件*/
不应该是 696U 吗?
./cslr_intr_esm0.h:#define CSLR_ESM0_ESM_PLS_EVENT0_RTI28_INTR_WWD_0 (696U)
[/报价]您能否使用 SDL RTI API 进行验证? 这些 API 经过 TI 验证、SDL src API 也经过安全认证。 您可以 在 SDL\SDL\TEST\RTI\UNIT\中引用 SDL RTI 测试应用程序。 此测试对所有 RTI 实例进行配置。 您可以采用相同的方法。 SDL\SDL\examples\RTI 中的 SDL RTI 示例 包含使用 ESM 事件执行错误注入和验证的步骤。
此致、
Josiitaa
[/quote]
您好、Jim、
首先我需要知道: 域名 main0 R51 中 RTI28 的 ESM bitNumber 和 groupNumber 是什么?
RTI28 的主域 ESM 中断为 SDLR_ESM0_ESM_PLS_EVENT0_RTI28_INTR_WWD_0 (696U)。
根据上面分享的常见问题解答- 【常见问题解答】TDA4VL-Q1:ESM 中断配置、事件 696 将位于 21 组 (696/32 = 21) 中的位 24 和 主域 ESM 配置期间 enableBitmap 结构的第 21 组将设置为 0x1000000。
如何配置仅域或仅内核的本地硬件重置?
您可以使用 ESM 错误处理程序中的 SW API 触发主域或各个 IP 的复位。 如果您计划使用 PMIC 执行复位、则必须启用 ESM 输出引脚到 PMIC IC 的路由并在主域上启用复位。
此致、
Josiitaa
您好、Jim、
您可以参考 SDL 中的 ESM 示例、了解如何启用到外部引脚的布线- 3.1. ESM 安全示例。 关于使用 PMIC 进行复位、请单独创建一个主题、PMIC 专家可为您提供帮助。
此致、
Josiitaa
在示例中、我没有找到配置了中断的代码。 我能够验证第 21 组、第 24 位
ESM_ERR_GRP_RAW/ESM_ERR_GRP_STS 设置了位
ESM_ERR_GRP_INTR_EN_SET 设置了位
ESM_ERR_GRP_INT_PRIO 设置了位
ESM_ERR_GRP_PIN_EN_SET 设置了位
这意味着要正确配置 ESM 以捕获看门狗超时事件
我已经将 RTI28 设置为启用中断并 启用高优先级和输出引脚路由、但没有发生任何变化。 我错过了什么步骤?
当然,让我把我所有的问题放在这里,请同时得到所有的答案。
我的目标是生成本地域复位;如果可以在不触发中断的情况下进行复位、我更喜欢该解决方案。 问题包括:
RTI DWWDRXNCTRL_DWWDRXN 模式:
a) main0 R5 支持的 RTI_DWWDRXNCTRL_DWWDRXN_RESET 模式? 它是否可以直接对内核或 main0 域生成复位?
b) 如果复位不能生成本地域复位、该复位模式是否可以传递给 ESM、ESM 生成 main0 域复位?
c) TRM 提到 RTI 看门狗超时未被屏蔽中断、此中断 (CSLR_R5FSS0_CORE0_INTR_RTI28_INTR_WWD_0) 是否路由到 main0 R51? 还是此中断仅路由到 ESM?
d) 如果 RTI_DWWDRXNCTRL_DWWDRXN_INTERRUPT 仅路由到 ESM、ESM 是否可以使用该事件直接生成 domain0 复位、而不触发任何中断?
e) 如果 RTI_DWWDRXNCTRL_DWWDRXN_INTERRUPT 仅路由到 ESM、ESM 必须触发中断、是否有任何方法可以在本地触发 main0 复位而不使用 TISCI 库?
测试结果:
f) 在 0x007006a0 时验证、组 21 寄存器正确捕获 RTI 看门狗超时事件、正确配置中断、但不会发生中断
g) 我将 ESM_pin_ctrl= 0xA 配置为强制激活错误引脚、但不会发生复位或中断
在我看来、ESM 正在正确捕获事件、ESM 已正确配置、但缺少错误引脚操作。
我正在使用 TI EVM 板进行测试
我的目标是在没有中断的情况下进行复位、或者在最坏的情况下进行复位:在有中断的情况下进行复位、但不进行内核间通信
您好、
a) main0 R5 支持的 RTI_DWWDRXNCTRL_DWWDRXN_reset 模式? 它是否可以直接对内核或 main0 域生成复位?
不支持直接 RTI 复位。
b) 如果复位无法生成本地域复位、是否可以将此复位模式传递给 ESM 和 ESM 生成 main0 域复位?
是、这可以完成。
c) TRM 提到 RTI 看门狗超时是未屏蔽的中断、此中断 (CSLR_R5FSS0_CORE0_INTR_RTI28_INTR_WWD_0) 是否路由到 main0 R51? 或此中断仅路由至 ESM?
它会路由到主 R5F 内核以及 ESM。
[引述 userid=“346969“ url=“~/support/processors-group/processors/f/processors-forum/1616371/j784s4xevm-csl-based-watchdog-and-icu-application/6330944d) 如果 RTI_DWWDRXNCTRL_DWWDRXN_INTERRUPT 仅路由到 ESM、ESM 是否可以使用该事件直接生成 domain0 复位、而不触发任何中断?
[/报价]
ESM 无法单独触发复位。 您可以在 ESM 处理程序内触发从 SW 复位一个复位或触发连接到 PMIC 的 ESM 错误引脚。 根据 PMIC 配置、可以触发复位。
e) 如果 RTI_DWWDRXNCTRL_DWWDRXN_INTERRUPT 仅路由到 ESM、ESM 必须触发中断、是否有任何方法可以在本地触发 main0 复位而不使用 TISCI 库?
Im 不确定我是否理解这个问题。 您试图避免的是什么?
f) 我在 0x007006a0 处验证了 21 组寄存器正在正确捕获 RTI 看门狗超时事件、正确配置了中断、但不会发生中断
是否看到设置了 ESM_RAW_STS 位? 如果是、则这是 ESM 事件。 您可以选择根据此事件触发外部 ERROR 引脚。
g) 我将 ESM_pin_ctrl= 0xA 配置为强制激活错误引脚、但不会发生复位或中断
ESM 错误引脚连接到 PMIC。 PMIC 配置确定是否发生复位。
此致、
Josiitaa
我需要硬件直接复位、请尝试避免通过软件内核间通信来请求复位
我配置了 RTI_DWWDRXNCTRL_DWWDRXN_INTERRUPT 模式、当发生看门狗超时时时、main0 R51 不会接收中断、因此不会触发中断。 由于此中断 (CSLR_R5FSS0_CORE0_INTR_RTI28_INTR_WWD_0) 未被屏蔽、因此它应该是正确的、但实际上不会发生。 为什么?
如果我可以将 PMIC 配置为在 ESM 错误引脚置为有效时复位域 main0、则不需要中断。 我的理解是正确的? 这对我来说是一个直接的重置。
我想配置 PMIC、以便复位 main0 内核。 您知道应该在哪里配置它吗? A72 u-boot 初始化? 或 Linux 内核板初始化? 如果您可以在 SDK 中指出此配置的样本或 u-boot/kernel repo、这将非常有用。
您好、Jim、
[引述 userid=“346969“ url=“~/support/processors-group/processors/f/processors-forum/1616371/j784s4xevm-csl-based-watchdog-and-icu-application/6334744我配置了 RTI_DWWDRXNCTRL_DWWDRXN_INTERRUPT 模式、当发生看门狗超时时时、main0 R51 不会接收中断、因此不会触发中断。 由于此中断 (CSLR_R5FSS0_CORE0_INTR_RTI28_INTR_WWD_0) 未被屏蔽、因此它应该是正确的、但实际上不会发生。 为什么?
[/报价]
中断是否已正确寄存和启用?
如果我可以在 ESM 错误引脚置为有效时将 PMIC 配置为复位域 main0、则不需要中断。 我的理解是正确的? 这是对我的直接重置。
您需要启用 ESM RTI 中断并将其路由到外部引脚。 这个外部引脚连接到 PMIC。
[报价 userid=“346969“ url=“~/support/processors-group/processors/f/processors-forum/1616371/j784s4xevm-csl-based-watchdog-and-icu-application/6334744 ]我想配置 PMIC 以复位 main0 内核。 您知道应该在哪里配置它吗? A72 u-boot 初始化? 或 Linux 内核板初始化? 如果您可以在 SDK 或 u-boot/kernel repo 中指出此配置的示例、这将非常有用。如有 PMIC 配置相关问题、请单独提交 E2E。 我们的 PMIC 团队将能够解决这些问题。
此致、
Josiitaa
“中断是否已正确注册和启用?“
是的、我在许多其他外设上发生了中断、此器件上不会出错。 如果您检查您的 SDK、则 在任何位置都没有使用 CSLR_R5FSS0_CORE0_INTR_RTI28_INTR_WWD_0 中断
您说:“您需要启用 ESM RTI 中断并将其路由到外部引脚。 此外部引脚连接至 PMIC。“
这个外部引脚已经连接到芯片内的 PMIC? 还是硬件设计人员需要添加连接才能建立连接?
您好、Jim、
都没有使用 CSLR_R5FSS0_CORE0_INTR_RTI28_INTR_WWD_0 中断是的、我在许多其他外设上发生了中断、此器件上不能出错。 如果您检查 SDK、则 在任何位置
触发中断后、您是否能够看到 ERROR 引脚被置位?
该外部引脚是否已连接至芯片内部的 PMIC? 或者硬件设计人员需要添加连接才能建立连接?
这将取决于您的自定义架构。 在定制电路板中、您必须检查 ESM 是否路由到 PMIC。
此致、
Josiitaa
您好、Jim、
我已经完成您的配置。
您的配置已正确设置所有 ESM 寄存器。 ESM 接收该事件并启用中断输出。 但是、CPU 永远不会收到中断。 这可能是因为缺少 OS/RTOS 级别的中断处理程序注册。
TI 的验证代码通过单次调用来实现此目的:sdl_esm_init ()、该调用在内部:
如果没有此注册、CPU 中断控制器将:
-不知道在哪里路由中断
-没有注册处理程序以执行
-没有在硬件级别启用中断
因此、即使 ESM 可以正确地生成事件、它也永远不会到达软件。
您可以使用 sdl_esm_init () 而不是手动寄存器编程,并实现回调函数来处理中断(包括在需要时触发您的复位)。
此致、
Josiitaa