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.

[参考译文] TMS320F28388D:使用 EtherCAT- RAM 时出现问题

Guru**** 2614265 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/956370/tms320f28388d-problem-to-use-the-ethercat--ram

器件型号:TMS320F28388D

我们尝试将 EtherCAT RAM 用作正常 RAM。
(我们不需要 EtherCAT 接口)、但我们无法在此区域中写入。

我们之前注意到、以下各项之间的地址存在差异:
„技术参考手册”和 “数据表”
存在。

数据表:

参考手册:

我们已经/尝试 了以下操作:

CM 的链接器命令文件:

 并链接到测试部分:

在本节中、使用分配了一个数据结构

#pragma DATA_SECTION

从示例中接管了以下代码:

CPU1:

SYSCTL_LOADateSharedPeripheral (SYSCTL_PALLOCATE_EtherCAT

                                   allocate_to _CM);

   SYSCTL_setECatClk (SYSCTL_ECATCLKOUT_DIV_5SYSCTL_SOURCE _AUXPLL

                      ESC_USE_INT_PHY_CLK);

(使用不同的分频器)

厘米:

   //ESC_resetESC();    
  SYSCTL_resetPeripheral (SYSCTL_PERIPH_RES_ECAT);

   ESCSS_initMemory (ESC_SS_BASE);

   //   
   //等待 ESCSS 内存初始化完成
   //
   if (ESCSS_getMemoryInitDoneStatusClocking (ESC_SS_BASE、memoryTimeOut)!= ESCSS_API_Success)
   {       
     return (ESC_HW_INIT_FAIL);
    }

 

 

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

    你好

    您对数据表正确无误。 我将把它更正为0x400A1000。

    您是否正在尝试在 CCS 存储器浏览器中查看 ECAT RAM? 如果是、您需要启用 ECAT 的调试访问以查看值。

    该代码如下所示:

    while ((HWREGH (ESC_SS_BASE + ESCSS_O_ACCESS_CTRL)&
    ESCSS_ACCESS_CTRL_ENABLE_DEBUG_ACCESS)!=
    ESCSS_ACCESS_CTRL_ENABLE_DEBUG_ACCESS)
    {
    ESCSS_enableDebugAccess (ESC_SS_BASE);
    } 

    此致

    Chris

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

    您好 Chris、

    感谢您的快速响应。
    (很抱歉耽误你的答覆)

    "您是否正在尝试在 CCS 存储器浏览器中查看 ECAT RAM?"
    是的、你说得对。

    现在、我尝试使用已启用的访问(您的代码)和不使用调试器内存视图来验证它。
    但我仍然没有成功、该 RAM 范围的字节保持在值0上。
    (我已使用"有效"RAM 扇区验证了我的测试代码)

    我想我们在初始化过程中做了一些错误。 我们不知道我们必须做什么或不允许做什么。
    (在 CPU1和 CM 上)

    此致

    Manuel

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

    您好!  

    Chris 将在11月30日的一周内回来。  

    谢谢、

    Anu

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

    Manuel

    我只是修改我们提供的 EtherCAT 示例、似乎一切正常。

    在提供的 ESC_initHW() API 中,您应该已经在 PDI_HAL_TEST 宏中找到此调试访问代码,您可以将其注释掉以启用它。 确保您在流程中的同一位置执行此操作。  

    我执行了一个测试、在该测试中、我运行了以下代码来写入数据。 确保使用的是从0x1000或更高版本开始的 API、以避免使用 EtherCAT 寄存器。

    ESC_writeDWordISR (0x12345678、0x1000);

    此致

    Chris