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:在执行 ESC_resetESC 之后等待多长时间才能初始化 ESC 存储器

Guru**** 2519520 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1564605/tms320f28388d-after-doing-esc_resetesc-how-long-to-wait-before-initialize-esc-memory

器件型号:TMS320F28388D


工具/软件:

您好、  

 我们具有设置 ESC 的引导代码、使我们能够使用 FoE 进行固件更新。 运行时代码启动时、我遇到了需要在运行时代码中重置 ESC 的问题。 如果在重置后我没有等待、那么内存设置失败。 请参阅以下代码:我添加的代码是 20000ns 的 SysCtl_delay。 是否有任何有关 ESC_resetESC 之后等待多长时间的文档?

  //
  //重置 ESC
  //
  ESC_resetESC();

  //添加延迟以使 ESC 稳定下来、特别是来自引导代码
  //这一小量使我们能够重新配置 ESC 内存
  SysCtl_DELAY (ESC_RESET_DELAY);

  //
  //初始化 ESCSS 内存
  //
  ESCSS_initMemory (ESC_SS_BASE);

  //
  //等待 ESCSS 内存初始化完成
  //
  if (ESCSS_getMemoryInitDoneStatusBlocking (ESC_SS_BASE、memoryTimeOut)!=
    ESCSS_API_SUCCESS)
  {
  log(log_MOD_EtherCAT, log_error,“%s:无法初始化 ESCSS 内存\r\n“,__function__);
  返回 (ESC_HW_INIT_FAIL);
  }

Dorion  

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

    尊敬的 Dorion:

    启动运行时代码时、我遇到了需要在运行时代码中重置 ESC 的问题。 如果在重置后我没有等待、那么内存设置失败。 [/报价]

    这种需要额外延迟的问题仅在固件更新之后出现? 不是在初始启动期间和更新之前、对吗? 您能否分享有关如何执行固件更新/固件更新的更多详细信息?

    没有说明需要额外延迟的文档。 您能尝试 在代码中增加 MemoryTimeOut 值吗?

    此致、

    Kevin

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

    尊敬的 Kevin:  

     我们要做的是、我们在引导代码中具有初始化、启动和运行 EtherCAT 的引导代码。 它专门用于使用 FAE (S-Records) 下载代码。 一旦我们将运行时代码编程到闪存中、就跳转到该代码。 运行时代码将初始化、启动和运行 EtherCAT 代码。 请记住、EtherCAT 已设置、我要在运行时代码中重置并再次进行设置。 然而、在初始化阶段、我们在 EtherCAT 内存等待时遇到错误(请参阅上面的代码片段)。 如果我在访问存储器之前等待一段时间、那么它会正常工作。  

     增加更长的存储器延迟实际上就是做同样的事情。 我想它会起作用。  

     是否在 EtherCAT 团队中看到过这样的问题。 基本上、我想设置 ESC 两次、但在两者之间复位。  

    Dorion