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.

[参考译文] LP-AM263P:SDL/MCRC .c 文件中存在疑问

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1520698/lp-am263p-doubts-in-sdl-mcrc-c-files

器件型号:LP-AM263P

工具/软件:

尊敬的团队:

在 API 指南中、.h提供了有关头()文件中所用参数的信息。 但是、没有相应的文档解释源.c()文件中某些参数的意图和用法。

为了将最终输入参数推导到 API、我们还需要了解中间参数的意图。 如果为这些.c文件提供了流程图或伪代码来解释逻辑和参数流、则会有所帮助。

我根据以下示例项目列出了一些与参数相关的疑问:
mcu_plus_sdk_am263px_10_01_00_34/examples/sdl/mcrc/full_cpu_mode

  1. 它们之间的区别是什么 图案大小 扇区大小 、和 图形计数 ? 这些值如何受所选 CRC 多项式类型的影响?




2.如何根据 CRC 多项式类型和输入数据长度的选择来考虑 SDL_MCRC_Config_s 结构的 dataBitSie 值。

3.在代码mcu_plus_sdk_am263px_10_01_00_34/examples/sdl/mcrc/full_cpu_mode()中、不清楚为什么将4个字节分组为1个字? 该逻辑是否会根据 CRC 数据长度选择、CRC 多项式类型或图形大小而变化?


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

    尊敬的 Sravya:

    Unknown 说:
    两者之间有何区别 图案大小 扇区大小 、和 图形计数 ? 这些值如何受所选 CRC 多项式类型的影响?

    图形计数: 在执行 CRC 之前要压缩的一个扇区中的数据模式数量。

    扇区大小: 一个存储器块中的扇区数。

    图案大小:每个图案大小将在此处定义。

    这意味着、您要进行 CRC 压缩的存储器块可以分为多个扇区。 每个扇区都有一些模式、这样您可以为每个扇区生成 CRC。  

    该图形计数和扇区大小仅在半自动和自动模式下有用。 在完整 CPU 模式下、CPU 将手动逐帧写入以正确生成 CRC、因此在这种情况下、我们不需要配置扇区计数和模式计数、而只需配置0模式计数和1个扇区。 但是、这些参数在 Semi CPU 模式或自动模式中将发挥关键作用、因为在这里、CPU 只需要执行初始配置、其余部分应自动执行。

     例如、假设我有1个数据扇区、其中有100个模式计数用于 CRC 压缩、现在在半自动模式下、CPU 将配置该扇区、并将模式计数配置到各自的寄存器、CPU 还将这些参数配置到 DMA 中、以自动执行签名生成过程。 因此、配置 DMA 后、CPU 会启用 DMA 并执行其他任务、在 DMA 将逐帧写入签名压缩寄存器后、一旦所有配置的图形完成、就会向 CPU 生成中断。 在该中断之后、CPU 可以将生成的 CRC 与基准 CRC 进行比较。 在自动模式下、此验证也将自动进行、无需 CPU 参与。  

    有关更多详细信息、请参阅可用的示例一次。

    Unknown 说:
    2. 根据 CRC 多项式类型和输入数据长度的选择、应如何考虑 SDL_MCRC_Config_s 结构的 dataBitSie 值。

    您只需要根据输入数据长度选择该 dataBitSize 值。

    我的意思是:

    根据输入数据大小、您需要选择适当的枚举值。 例如、如果要一次对64位数据大小进行数据压缩、则需要选择 SDL_MCRC_DATA_64_BIT 等。

    Unknown 说:
    3. 在代码mcu_plus_sdk_am263px_10_01_00_34/examples/sdl/mcrc/full_cpu_mode()中、不清楚为什么将4个字节分组为1个字? 此逻辑是否根据 CRC 数据长度选择、CRC 多项式类型或模式大小而变化?

    否、此逻辑不依赖于数据长度选择、CRC 多项式类型或图形大小。

    他们只是独立获取每帧32位大小的输入数据、以及用于所有用例(如64位、32位和16位)的相同数据。

    如果您参阅下面我最近创建的常见问题解答、了解如何在不同用例中详细使用相同的输入数据、您将更清楚地了解:

    (25)[常见问题解答] AM2634:AM263X:使用外部工具生成 MCRC -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    --
    此致、
    Jagadish。