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:针对环路延迟问题 CPU2

Guru**** 2526700 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1554059/tms320f28p650dk-for-loop-delay-issue-cpu2

器件型号:TMS320F28P650DK


工具/软件:

尊敬的 TI 专家:

我使用 tms320f28p650d
在 CPU2 中、我要切换 GPIO、并创建一个 for loop 延迟
我可以看到在调试中切换和在闪存中切换之间的区别

我将生成一个 100 μ s PWM  
 在两种模式下、PWM 都没有变化

同样、我要传输一个字符串、用于波特率为 9600 的环路延迟
字符串正在正确传输、但是  
在调试和闪存中、一次打印到另一次打印后的时间不同


但对于 CPU1、所有这些功能都是相同的  
 我的问题仅涉及 CPU2  
CPU1 在调试模式和闪存模式下都能正常工作

非常感谢任何指导、文档链接或示例项目。

提前感谢!

Ranjith。

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

    尊敬的 Ranjith:

    使用调试器执行时、您是运行工程闪存编译还是 RAM 编译? 将具有更好的性能、请参阅 此处的说明。 如果 完全在硬件中完成操作、外设(如 ePWM)的性能不会受到闪存与 RAM 差异的影响(例如:如果 PWM 切换不是每次在 CPU 上执行代码)。  

    有关 CPU2 的问题、请参阅 此处 有关如何调试多核工程的指南。

    此致、

    Delaney

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

    感谢您的回复!

    正在定义  _FLASH 重新搜索我的问题




    #ifdef _flash
    #ifndef CMDTOOL
    //
    //将时间关键型代码和闪存设置代码复制到 RAM。 这包括
    //以下函数:InitFlash ();
    //
    // RamfuncsLoadStart、RamfuncsLoadSize 和 RamfuncsRunStart 符号
    //由链接器创建。 请参阅器件.cmd 文件。
    //
    memcpy (&RamfuncsRunStart、&RamfuncsLoadStart、(size_t)&RamfuncsLoadSize);
    #endif
    //
    //调用闪存初始化以设置闪存等待状态。 该功能必须
    //驻留在 RAM 中。
    //
    FLASH_initModule (FLASH0CTRL_BASE、FLASH0ECC_BASE、DEVICE_FLASH_WAITSTAT);
    #endif