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

此致、
肖恩
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.
您好、专家!
我 在测试 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。
此致!
凯文