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/AM5728:与使用Blackhawk XDS 560v2进行调试有关的其他问题

Guru**** 2532350 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/663203/ccs-am5728-miscellaneous-issues-with-debugging-with-blackhawk-xds-560v2

部件号:AM5728

工具/软件:Code Composer Studio

您好,

我正在AM752x EVM板上的裸机上调试一个主数生成器程序。 我使用的是Blackhawk XDS 560v2。

1)它使用板载ETB。 但是,即使是小型程序,跟踪缓冲区也会绕过。 这意味着,我无法为整个应用程序运行收集任何有意义的数据。 在ETB数据绕过之前是否仍要提取它? 我知道我可以使用protrace。 但是,对我来说,这是一个非常昂贵的问题。

2)当我尝试运行内存吞吐量分析时,我收到“缺少频率信息,无法从tick转换”警告。 请参阅随附的图片。 它只显示很短的时间,然后消失。 未显示任何相关信息。  这可能会有什么问题?

3)在PC trace > cache event profiler中,我也没有看到任何内容。 我的调试器是否支持它?

4)我似乎还收到"时钟频率不可用。 Cannot provide time in seconds"(无法提供以秒为单位的时间)警告。 如何更正?

感谢你能抽出时间。

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

    1)不幸的是,ETB非常小,并且在1GHz的部件上很快耗尽。 某些架构允许在填充ETB时停止内核,但我认为Cortex A不支持此功能,但我找不到任何证明这一点的参考。 我得仔细检查一下。

    2)调试器GUI不知道设备的时钟速度,并且ETB不包含时间戳信息,因此会显示此消息。 由于带宽增加,ProTrace允许收集更精确的时间戳。
    缺少数据很可能是因为您要么完全从内部RAM运行代码,要么在内部RAM或外围设备(例如DMA)与EMIF之间没有数据传输。 然后,可测量的吞吐量为零。

    3)与以前类似的情形。 如果未启用高速缓存,则高速缓存事件不存在。 但是,在您的特定情况下,Core仍在运行,当停止时,您应该会看到数据。

    4)警告消息与上述1)类似。 缺少任何图形绘图是由于上面3)(核心未停止)

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

    非常感谢拉斐尔。


    3)与以前类似的情形。 如果未启用高速缓存,则高速缓存事件不存在。 但是,在您的特定情况下,Core仍在运行,当停止时,您应该会看到数据。

    正确。 在我的情况下,因为内核正在运行,所以当它停止时,我应该会看到一些数据。 但我看不出来。 还有什么问题。 是否要我检查某些内容并报告? 或者,如果您需要更多信息,我可以制作视频并将其附加到此处。

    还有一个问题。 关于设置执行电源管理的操作点,如下所示,是否可以使用Linux处理器SDK (我的意思是不使用RTOS SDK)?

    processors.wiki.ti.com/.../Processor_SDK_RTOS_PM

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

    您好,

    您的缓存是否已启用? 如果是,请确保它与您尝试访问的外部存储器区域相关联(我不知道该设备是如何正确配置的)。 对于数据吞吐量跟踪,我通常定义一个外部存储器区域,并启动从内部存储器到外部存储器的传输(附件中有一个如何执行此操作的示例),您可以随时适应自己的目标。  

    有关电源管理详细信息。 查看您提到的Wiki网页,我怀疑有一个Linux应用程序设置了这些参数,甚至有些内核设置。但是,我对该设备及其Linux实施还不够熟悉-在这种情况下, 我会请Sitara小组的人给你一个更有知识的答复。

    此致,

    拉斐尔

    e2e.ti.com/.../MEM_5F00_Throughput_5F00_Multicore_5F00_A15.rar

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

    请参阅以下指南,因为它应解决您的Linux PM问题:

    http://processors.wiki.ti.com/index.php/Linux_Core_Power_Management_User's_Guide_(v4.4)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    @Rafael
    >>您的缓存是否已启用? 如果是这样,请确保它与您尝试访问的外部存储器区域相关联(我不知道该设备是如何正确配置的)。

    如何检查高速缓存是否已启用? 我的意思是在哪里启用它? 在.lds文件中?

    目前,lds文件的开头如下所示。 它似乎定义了外部DDR内存和三级高速缓存。 但没有L1和L2。 我对吗? 这是在哪里,我需要修改它吗?

    内存


    occ_RAM1:o = 0x4030万,l = 0x8万 /* 512KB L3 OCMC RAM1 */
    ocm_RAM2:o = 0x4040万,l = 0x10万 /* 1 MB L3 OCMC RAM2 */
    occ_RAM3:o = 0x4050万,l = 0x10万 /* 1 MB L3 OCMC RAM3 */
    DDR0: O = 0x8000000000,l = 0x4000万 /* 1 GB 外部DDR Bank 0 */
    DDR1: O = 0xC0万,l = 0x4000万 /* 1 GB 外部DDR Bank 1 */

    }

    @RonB

    我正在寻找在执行裸机编程时可以使用的电源管理库(没有运行Linux)。 这意味着,我想知道并控制CPU运行裸机程序时的时钟频率/电压。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您有时间,请回答我关于启用缓存的问题吗? 非常感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如何检查高速缓存是否已启用?

    CCS工具-> ARM高级功能视图显示数据高速缓存和指令高速缓存是否已启用。 例如,对于用于启用高速缓存的AM5728 Cortex-A15内核的SYS/BIOS程序:

    我的意思是在哪里启用它?

    Cortex-A15 SCTLR 系统控制寄存器中的I (指令高速缓存启用)和C (高速缓存启用)位用于启用高速缓存。 为了提高缓存中数据的性能,需要启用MMU以定义可缓存内存区域。 如果要编写裸机程序, processor-SDK-RTOS-AM57X 包含用于启用MMU和高速缓存的CSL函数。 有关04.00 示例,请参阅ti-processor-SDK-RTOS-am57xx-EVM-EVM-VM-works.pdk_am57xx_1_0_7\packages\ti\csl\examples\MMU\a15_data_validation\MMU_a15_data_validation_app_main.c 00.04。

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

    3)从PC trace >缓存事件探查器中,我也没有看到任何内容。 我的调试器是否支持缓存事件探查器和停止周期探查器?[/QUOT]仅C6000 DSP内核支持缓存事件探查器和停止周期探查器(请参阅 跟踪分析器用户指南中的跟踪类型及其使用部分)。

    对于AM5728 CCS 7.4 ,Cortex-A15内核的Tools -> Hardware Trace Analyzer "Stall Profiling"(工具->硬件跟踪分析器"失速分析")和"Cache Analysis"(缓存分析)选项将灰显,并报告为"Not Applicable on Selected CPU"(不适用于选定CPU)。 但是,CCS仍允许从Cortex-A15上的"PC Trace"视图打开"Cache Event Profiler"和"Stall Cycle Profiler"分析视图。 考虑到Cortex-A15不支持缓存事件探查器,这说明了它不显示任何内容的原因。