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.

[参考译文] 编译器/TMS320F28035:将代码作为独立应用运行

Guru**** 2604225 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/668683/compiler-tms320f28035-running-code-as-stand-alone-application

器件型号:TMS320F28035

工具/软件:TI C/C++编译器

大家好、我正在尝试将代码用作28035中的独立应用程序。 我已经能够在我的定制板上成功刷写代码。

我已经关注了这个文档-http://www.ti.com/lit/an/spra958l/spra958l.pdf 

我能够使用 JTAG 刷写代码。 但它不能作为独立应用程序运行。

memcpy ((void *) 0x000D06、(uint16 *)&PieVectTableInit+6、256-6)这会导致 PieVectTableInit 未初始化错误。

我已经评论了这一行、它在闪存中运行、但不在独立模式下运行。

我的流程如下:

 从我的项目中删除28035_RAM_Ink。cmd
 将 F28035.cmd 添加到我的项目中(右键单击我的项目->添加文件-> F28035)
 将以下代码添加到我的主函数中:
 

1
2.
3.
4.
5.
/***初始化 PIE_RAM ***/
PieCtrlRegs.PIECTRL.bit.ENPIE = 0;//禁用 PIE
asm (" EALLOW");//启用 EALLOW 受保护寄存器访问
memcpy (&PieVectTable、&PieVectTableInit、256);
asm (" EDIS");//禁用 EALLOW 受保护寄存器访问
 

//将时间关键代码和闪存设置代码复制到 RAM
//这包括以下 ISR 函数:epwm1_timer_isr ()、epwm2_timer_isr ()
// epwm3_timer_ISR 和 InitFlash();
   memcpy (&RamfuncsRunStart、&RamfuncsLoadStart、(uint32)&RamfuncsLoadSize);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请查看这些建议。
    processors.wiki.ti.com/.../FAQs

    此致、
    曼诺伊
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我提到、我仍然不知道它为什么不起作用!
    是否有任何文档可供参考?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的耐心等待。 您是否仍然遇到此问题的问题?

    如果是、您能给我更多的解释吗? 您是否尝试了链接到 Manoj 的 wiki 页面上提到的调试技术? 您看到了什么?

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

    我现在能够以独立模式运行。 但我有一个问题。
    ePWM ISR 在独立模式下的运行速率低于在使用 JTAG 的闪存上的运行速率。
    我已经将 EPWM ISR 复制到 RAM、但在独立模式下仍需要很长时间触发。

    您能否解释原因是什么?

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

    您是说 ISR 的执行时间更长、还是说进入 ISR 的延迟更大? ePWM 本身以相同的频率运行、对吧?

    您如何测量此值? 在 ISR 中切换 GPIO?

    惠特尼

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

    我是说进入 ISR 存在延迟。 是的、我在 ISR 中切换 GPIO。
    ePWM 以不同的 Tbprd 值运行。 但仿真中的相同代码工作正常。 我的意思是进入 ISR 没有延迟、但当我使用独立模式时、进入 ISR 会有延迟。 我也在示波器中测量了 GPIO 时序。

    谢谢

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

    我仍然有这个奇怪的问题。 是 ePWM ISR 触发的延迟。 在仿真模式下、ePWM ISR 没有触发延迟。 但在独立模式下、ePWM ISR 会延迟触发相同代码。

    那么、我应该怎么做来减少延迟呢? 此外、ePWM ISR 异常时间是恒定的、但这两种模式下的延迟存在差异。
    希望您现在了解这个问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嘿、Whitney、

    您是否有机会查看我之前的评论并了解问题?

    Thansks
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我注意到您在 PWM 问题上发布了另一篇文章:

    e2e.ti.com/.../2480007

    为了避免重复的线程运行、我将关闭此线程、我们将在新线程中解决您的问题。

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

    我确实遇到了问题、并且希望尽快解决此问题、因为我很快就发布了产品。 我是否可以让他人快速查看?

    问题是我的反应很晚了。 那么、让这种情况快速发生的方法是什么呢?

    我是否可以直接聘请专家、而不会在很长的时间内反复经历这么多事情?  


    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于可能关注此主题的人员、问题已在以下位置得到解决: e2e.ti.com/.../2488107

    关闭此主题。

    惠特尼