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.

[参考译文] CCS/processor-SDK-AM335X:XDS200减慢了AM335x处理器的速度

Guru**** 2589280 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/615813/ccs-processor-sdk-am335x-xds200-slows-down-am335x-processor

部件号:processor-SDK-AM335X
“Thread:SysBIOS”中讨论的其它部件

工具/软件:Code Composer Studio

我有一个BeagleBone Black (BBB),通过XDS200 USB连接。  我编写了一个简单的应用程序,可以使用GPIO和示波器进行计时。  基本上,在伪代码中:

而(1){

 SetGPIO ();

 ClearGPIO ();

 功能();

}

我在BBB上运行相同的程序,一次是连接XDS200,另一次是不连接XDS200 (即通过u-boot加载程序)。  通过XDS200加载和启动程序时,其运行速度比通过u-boot加载和启动程序慢192倍。  我已确保没有设置断点或监视点。  我会缺少什么?

谢谢!

- Chuan Neng Lee

 Precise Automation,LLC.

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

    通过XDS200加载和启动程序时,其运行速度比通过u-boot加载和启动程序时慢192倍。[/QUOT]这可能是由于在u-boot启动程序时启用了缓存和MMU,但在XDS200启动时未启用。

    以前在 如此多的增量周期中进行的测量是可信的吗? 硬件跟踪分析器用于测量从SRAM运行的程序上的AM335x Cortex-A8指令的位置显示:

    -禁用MMU和高速缓存时,每个指令最多可有200个周期

    -启用MMU和高速缓存时,每个指令的几个周期

    也就是说,如果启用/禁用MMU和高速缓存,则运行速度慢192倍是可信的速度差异。

    要测试的程序是否采取任何步骤来启用MMU和高速缓存?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    程序不会触摸MMU和高速缓存设置。 我将尝试让程序设置MMU和缓存并报告。 XDS200/CCCS是否有自动执行此操作的方法? 还是不可取?
    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    XDS200/CCCS是否有办法自动执行此操作?[/QUOT]理论上,凝胶脚本可用于启用MMU和缓存,但CCS附带的现有凝胶脚本不能执行此操作。

    您使用的是SYS/BIOS还是使用了StarterWare库用于您的程序?

    对于SYS/BIOS,示例项目启用MMU和高速缓存。

    对于StarterWare,有 MMUInit(), MMUMemRegionMap()和 MMUEnable()函数用于启用MMU。 和CACHEEnable()函数启用高速缓存。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不使用SysBIOS或StarterWare,但根据您的提示和建议,这是我将调查的途径。 非常感谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢切斯特,按照您的建议并设置MPU速度,AM335x现在在连接XDS200的情况下全速运行。