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.

[参考译文] TMS320F28335:检测 SYSBIOS 以确定发生零延迟延迟的位置

Guru**** 2939240 points

Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/963518/tms320f28335-instrumenting-sysbios-to-determine-where-zero-latency-delay-is-occurring

器件型号:TMS320F28335
Thread 中讨论的其他器件:SYSBIOS

我的团队正在尝试检测我们的28335 SYSBIOS 应用程序、以确定零延迟中断延迟发生在何处。 我们希望在 HWI_epilogueue.h 文件中进行 GPIO 切换、特别是使用 Hwi_enable 和 Hwi_disable 函数来确定系统何时执行这些操作。 您能否说明如何执行此操作、因为我们已尝试直接引用 DSP2833x_Gpio.h 文件并使用其在该文件中无法正常工作的调用?

作为参考、我们正尝试这样做、因为我们的零延迟中断会延迟高达6us、这几乎是其预期窗口的四分之一。 这在前几秒钟内会多次发生、然后它会在1秒间隔内与接下来的8-10秒的 Task_schedule 调用保持一致、然后在10秒间隔内对应用程序的其余运行时进行。 请注意、我们已检测任务、swis、hwis、时钟等、并且在 SYSBIOS 执行某些操作时没有发现任何关联。 这是通过在 SYSBIOS 代码库中设置 GPIO 切换来确定的。

目前、我们将 CCS 9.3与 TI v18.1.5.LTS、SYSBIOS 6.75.1.05和 XDCtools 3.51.1.18_core 配合使用

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

    您在尝试时是否遇到构建错误? 它在其他 SYSBIOS 文件中工作、但不能在 HWI_结束.h 中工作?

    您可以完全避免使用 C2000头文件、只需执行类似的操作

    #define DEBUG_GPATOGGLE_ADDR 0x6FC6
    
    *(volatile UINT32_t *)(DEBUG_GPATOGGLE_ADDR)= 0x00000010; 

    这是可以接受的吗?

    惠特尼

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

    感谢 Whitney! 这将是执行 GPIO 切换的更清洁的方法。

    为了检测 HWI_ENABLE 和 HWI_DISABLE、我们最终将切换逻辑添加到 Hwi.xdt 文件中、该文件为 HWI_ENABLE 和 HWI_DISABLE 逻辑生成文件。

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

    它是否有助于您缩小延迟原因?

    惠特尼

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

    尊敬的惠特尼:

    有点。 我们认为问题可能是由于系统中的 memcpy 调用造成的。 似乎在最近对 SYSBIOS 的更新中,memcpy 的性能得到了提高。 我们现在将对此进行研究。

    -Wes