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.

[参考译文] TMS320F28P650DK:SDFM:当 CLA 写入 SDFM 寄存器时触发访问保护

Guru**** 2564565 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1308286/tms320f28p650dk-sdfm-access-protection-is-triggered-when-cla-writes-sdfm-registers

器件型号:TMS320F28P650DK

您好、专家!

我 在测试 sdfm 例程"sdfm_ex2_filter_sync_claread"时遇到问题。 当例程运行时、我发现 NMAVFLG.CLA1WRITE 已设置、违反的地址为0x5E02、即 Sdfm1Regs.SDIFLGCLR 的地址。 我想这个问题可能是由 RAM LS8和 LS9的映射造成的、但我不知道是否有办法避免这个问题、期待您的帮助。

此致、

肖恩

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

    大家好、Shawn、

    您是否可以尝试对链接器 cmd 文件进行以下更改、例如、如果使用 RAM 配置、则为"28p65x_SDFM_cla_ram_lnk_cpu1.cmd":

       /* The following section definition are for SDFM examples */
    //   Filter1_RegsFile : > RAMLS7
    //   Filter2_RegsFile : > RAMLS7
    //   Filter3_RegsFile : > RAMLS8
    //   Filter4_RegsFile : > RAMLS8
       Filter1_RegsFile : > RAMLS8_CLA
       Filter2_RegsFile : > RAMLS8_CLA
       Filter3_RegsFile : > RAMLS9_CLA
       Filter4_RegsFile : > RAMLS9_CLA

    我认为问题是、当前使用的 LS8 RAM 位置未映射到 CLA。 如果这起作用、请告诉我、以便我们可以修复软件错误。

    此致!

    凯文

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

    尊敬的 Kevin:

    我修改了 cmd 文件、并发现 CLA1WRITE 和 CPUWRITE 标志均已设置。

    我检查了 28P65的地址映射、发现了一个非常令人困惑的问题、即 LS8和 LS9 RAM 映射与外设寄存器(例如 sdfm 寄存器)的地址重叠。  还有两种情况:

    1. 如果我将 LS8_9分配给 CLA 并希望 CLA 读取和写入外设寄存器、看起来会发生冲突;

    2. 如果我将 LS8_9分配给 CPU 并希望 CLA 读取和写入外设寄存器、那么当 CLA 访问这些地址时、会触发访问冲突

    这是否意味着、无论我如何分配 LS8_9、CLA 访问外设寄存器时都将会发生冲突? 我应该如何配置自己以避免此类冲突?

    此致、

    肖恩

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

    大家好、Shawn、

    我检查了 28P65的地址映射,发现一个令人困惑的问题,即 LS8和 LS9 RAM 映射与外设寄存器(例如 sdfm 寄存器)的地址重叠。  还有两种情况:

    我认为这种重叠是有原因的、但需要咨询另一位专家。

    这是否意味着无论我如何分配 LS8_9,当 CLA 访问外设寄存器时都将发生冲突? 如何配置自己以避免此类冲突?

    目前、您是否可以尝试使用非冲突的 LSx 段? 例如 LS6和 LS7。

    此致!

    凯文

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

    大家好、Shawn、

    我咨询了另一位专家、可以处理映射到 CLA 的 LS8_9。 您能否检查 SDFMx_AC 寄存器中的 CLA1_ACC 是否已启用?

    此致!

    凯文

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

    尊敬的 Kevin:

    由于客户可以在我们的"dfm_ex2_filter_sync_claread"演示中重现问题、您能否对其进行研究、以了解它是否是错误? "访问违规"不仅会发生在 SDFM 中、而且还会发生在其他外设中。 虽然存在"访问违反"、CLA 到 外设的写入操作 已成功执行。 这是否意味着我们可以忽略" 访问冲突"? 提前感谢您的帮助。

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

    尊敬的 Angela:

    我将对此进行深入探讨、但我们可能需要就此事与另一位专家联系。

    此致、

    本·科利尔

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

    --编辑了帖子

    尊敬的 Angela:

    我们对此进行了详细研究、并将在下周早些时候为您提供最新消息。

    此致、

    维维克·辛格

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

    尊敬的 Angela:

    我们认为 设计中没有任何问题。 您是否有可能将示例代码发送给我们,以便在我们结束时重现此问题?

    维维克·辛格