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.

[参考译文] RM48L952:Halcogen 生成的 HAL 单元测试

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/977786/rm48l952-unit-testing-of-hal-generated-by-halcogen

器件型号:RM48L952
主题中讨论的其他器件:HALCOGEN

您好!

我们正在尝试在 Halcogen 生成的 HAL 上获取代码覆盖、并且在一些模块上无法获得完全覆盖。
例如、ESM 的 INTOFFH 寄存器的值描述最多为0x60 (96个十进制)。


ESM.c 中的代码检查 reg 值是否<= 96。
那么、我们如何在该函数中覆盖 else 语句呢? INTOFFH 寄存器是否可以包含大于96的值?



我们遇到问题的另一个模块是 RTI.c、我们将尝试介绍 DWD 和 DWWD 看门狗的故障状态。 我们正在尝试进入下面标记的 if 语句、但参考手册中不清楚"time_window_violation"实际上意味着什么、它似乎与 EndTime_window_violation 有点模糊?


这是参考手册中的寄存器(位5是我们无法实现的"故障"模式)。


我们尝试在时间窗口之前、之后启动看门狗、并使用错误的密钥。 这三种情况分别设置位3、位1/4和位2。


希望我的问题描述清晰、

此致

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

    您好!

    我会检查并返回给您。  

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

    您好!

    ESM.c 中的代码检查 reg 值是否<= 96。
    那么、我们如何在该函数中覆盖 else 语句呢? INTOFFH 寄存器是否可以包含大于96的值?

    >> ESM 偏移寄存器包括来自错误组1和2的通道。 应用程序可以指定任何组1通道来生成一个高级或低级 ESM 中断。 组2通道始终生成一个高级中断。

    >>如参考手册中所述:

    ESM 偏移值1至32表示从组1通道0到31的错误

    ESM 偏移值33至64表示从组2通道0到31的错误

    ESM 偏移值65至96表示从组1通道32到63的错误

    高于96的 ESM 偏移值是不可行的、应该被视为 ESM 模块内的一个故障。

    我们遇到问题的另一个模块是 RTI.c、我们将尝试介绍 DWD 和 DWWD 看门狗的故障状态。 我们正在尝试进入下面标记的 if 语句、但参考手册中不清楚"time_window_violation"实际上意味着什么、它似乎与 EndTime_window_violation 有点模糊?

    我们尝试在时间窗口之前、之后启动看门狗、并使用错误的密钥。 这三种情况分别设置位3、位1/4和位2。

    位5 DWWD ST 预计会针对任何违反窗口式看门狗时间窗口的情况被置位。 位4 (或1)、3和2提供了有关发生的违反的更具体的信息。