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.

[参考译文] SafeTI:带有 dma_software_test 的 sl_SelfTest_dma ()中的错误

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/593790/safeti-bug-in-sl_selftest_dma-with-dma_software_test-test

您好!

根据寄存器内容、测试失败、首次预期正常返回、发现区域0错误:
if (sl_dmaSoftwareTestConfig (&dma_test_Vara、&dma_test_varB、dma_permission_read_access、&dmaCTRLPKT)))

在执行一些代码检查并仔细阅读 TRM 后、我发现端区域设置如下
sl_dmaREG->DMAMPR0E =(uint32)(srcAddr)+ sizeof (uint32);

因此 DMAPR0S 为...240,DMAPR0E 为+4,所以… 244.

测试中使用的变量 A 和 B 是堆栈变量、而对于我来说、这些地址分别位于.240和...244之后。 在我更改了类似这样的结束区域设置(-1)后、测试开始工作
sl_dmaREG->DMAMPR0E =(uint32)(srcAddr)+ sizeof (uint32)-1U;

根据 TRM、PR0E 是该区域的结束地址、因此初始代码错误、并将区域1字节设置得太远、我的解释是正确的? 只是想知道这个测试是否已经过测试、因为我想说、尽管使用了哪个编译器、堆栈变量最有可能会出现在一行中...

下一个计划的 SafeTI 版本何时发布、当前版本相当旧 、之后会发现多个错误和"功能"?

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

    我将研究发现的问题、并告诉您这是否是有效的解释。

    关于 SafeTI 诊断库版本、有一个相对较新的版本、V2.3.1是最新版本。 我目前没有计划下一次发布的时间表、但我相信它将在年底之前发布。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    有任何有关这方面的新闻吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jarkko、

    很抱歉耽误你的答复。 我与我们的软件团队进行了核对、根据他们的分析、他们同意您的评估、即这是代码中的错误。 遗憾的是、我们没有说明如何通过测试实现这一点。 这将对他们进行进一步的分析,以查明他们的试验中的任何缺陷。 我将输入此问题的错误/问题 TT、并将问题发布到测试中、以便任何修复也会跟进测试套件的检查。

    有关下次发布 SafeTI 诊断库的时间。 我不相信已宣布下一个版本的日期。