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.

[参考译文] Hercules DSPLIB:ARM_MIN_Q15 ()和 ARM_MIN_Q7 ()函数中的错误

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/916723/hercules-dsplib-bug-in-arm_min_q15-and-arm_min_q7-functions

器件型号:Hercules DSPLIB

您好!

我尝试通过 TI 客户支持报告此错误、但他们将我重定向到 e2e 论坛。 因此、情况是:

在我们的内部测试中、发现两个 Hercules DSPLIB (Cortex-R4 CMSIS DSP 库)函数显示错误行为:所提供矢量最小值的索引计算不当。 此修复程序作为附件提供。 还提供了测试数据以供参考。 CV_Q15矢量在索引13处的最小值为18660。 但是、arm_min_q15 ()函数返回索引4。 在 arm_min_q7 ()函数中发现类似的错误。

Cortex-R4 CMSIS DSP 库- ARM_MIN_Q15 -错误:

CV_Q15简短描述[16][19490、19896、20599、19017、20221...]0x0800310C
[0]short194900x0800310C
[1]short198960x0800310E
[2]short205990x08003110
[3]short190170x08003112
[4]short202210x08003114
[5]short199790x08003116
[6]short192630x08003118 [088]


short 0x081903120 [088] short 0x08190312][08190312] short [08190312] shORT 0x08190312] 0x08190312][08190312] short[08190312] 0x08190312][08310][08812][08812] short]


短接188110x08003124[13]
短接186600x08003126
[14]短接188460x08003128
[15]短接194340x0800312A
---------
hwStatistics结构 {CELL_Vmin=18660、CELLIndex_Vmin=4、CELL_Vavg=19567、CELL_Vmax=0、CELLIndex_Vmax=0...}0x080032BC
cell_Vminunsigned short186600x080032BC
cellIndex_Vminunsigned int40x080032C0
------------------------

Cortex-R4 CMSIS DSP 库- ARM_MIN_Q15 - FIX:

---"/c/ti/Hercules/Cortex-R4 CMSIS DSP 库/1.0.0/Sources/StatisticsFunds/ARM_MIN_Q15.c"2011-12-15:30:34.000000000 +0100
++"/c/ti/Hercules/Cortex-R4 CMSIS DSP 库/1.0.0/Sources/StatisticsFunds/ARM_MIN_Q15.c"2020-17:7634:039200
@@-131、7 +131、7 @@
{
/*更新最小值及其索引*/
OUT = minVal1;
- outIndex =块大小-计数;
+ outIndex = blocksize - blkCnt;
}

blkCnt--;

Cortex-R4 CMSIS DSP 库- ARM_MIN_Q7 - FIX:

---"/c/ti/Hercules/Cortex-R4 CMSIS DSP 库/1.0.0/Source/StatisticsFunctions/arm_min_Q7.c"2011-12-15:30:34.000000000 +0100
++"/c/ti/Hercules/Cortex-R4 CMSIS DSP 库/1.0.0/Source/Statistics Funds/arm_min_Q7.c"2020-17:0130
、400 @@ 072:0130、200 @@ 072
{
/*更新最小值及其索引*/
OUT = minVal1;
- outIndex =块大小-计数;
+ outIndex = blocksize - blkCnt;
}

blkCnt--;

此致、

Ritchie

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

    您好 Ritchie、

    感谢您的反馈。 请注意、用于 Cortex R4F/R5F 的 DSPLIB 从 CMSIS-DSP 库版本1.0.0中移植。 CMSIS-DSP 的最新版本现在为 v1.0.0、当然还有其他函数已经被添加、以及其它已经被纠正的错误。 请在此处查看更改日志 :https://arm-software.github.io/CMSIS_5/DSP/html/ChangeLog_pg.html

    我看到此错误已被纠正、尽管修订历史记录中未反映此更改。

    此致、Sunil

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

    您好、Sunil、

    感谢您的解释。 但是问题仍然存在。 TI 是否有更新 Hercules DSPLIB 的计划? 我现在对该产品失去了一定程度的信任、因为它针对的是安全微控制器... 如果我想在项目中使用它的功能、我最适合做什么?

    此致、

    Ritchie

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

    您好 Ritchie、

    我将检查用于 ARM Cortex R4F/R5F 的 DSP 库的更新计划、并返回给您。

    如前所述、这是 CMSIS 库与 Arm v7R 架构之间的一个简单端口、因为 CMSIS 库是为 Arm v7M 和 v7A 架构本机构建的。 TI 不对该库进行索赔、也不提供任何证据证明它已符合安全应用的使用条件、甚至是使用经过认证的软件开发流程构建的。 在安全应用中使用时、需要执行与您创建的任何其他源代码相同的验证和验证。

    此致、Sunil

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

    感谢 Sunil 对安全认证的澄清、因为这是一个非常重要的问题。