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/AM3352:无法访问跟踪向量

Guru**** 2558250 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/588239/ccs-am3352-unabled-to-access-to-tracing-vectors

部件号:AM3352

工具/软件:Code Composer Studio

我正在尝试使用AM3352和Blackhawk USB100v2 JTAG仿真器来预装我的主板。

我阅读了下面的文章,可以读取某些数据,如device_id和control_status,但无法读取跟踪向量。

DSS脚本出现错误“Error reading memory: errors during memory.ReadData(): address: 0x4030ce40 Error: 0x1”。

如何解决此问题?

此外,如何使用DSS脚本读取内存映射?

 

使用CCS和JTAG分析引导问题

使用CCS的DSS脚本,您可以轻松地将一些重要的寄存器详细信息解析为易于消化的信息。

  1. 下载 AM335x-boot.dss
  2. 启动CCS。
  3. 创建适当的目标配置文件以连接到您的主板。
    • 文件->新建->目标配置文件
    • 提供文件的名称/位置。
    • 查看->目标配置以查看可用的目标配置(您的配置现在应该在其中!)。
    • 在"目标配置"面板中双击您的文件以将其打开进行编辑。
    • 选择您的仿真器和处理器。  保存。
  4. 启动调试器,但不要连接到任何CPU
    • 在Target Configurations (目标配置)窗口中,右键单击CCXML文件,然后选择Launch Selected Configuration (启动选定配置)
  5. 转到“查看”->“脚本控制台”,启动脚本控制台。
  6. 通过执行"loadJSFile <path-to-dss-file>/AM335x-boot.dss",在脚本控制台中加载AM335x-boot.dss。
  7. 它将在您的桌面上生成一个am335x-boot-analysis_yyyy-mm-dd_hhmmss.txt文件,用于快速分析。

 

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

    我阅读了下面的文章,我可以读取一些数据,如device_id和control_status,但我无法读取跟踪向量。

    DSS脚本出现错误“Error reading memory: errors during memory.ReadData(): address: 0x4030ce40 Error: 0x1”。使用CCS 7.1 。0.0.0016万 能够在 连接Blackhawk USM560-M的AM3352上成功运行AM3335x-boot.dss脚本 AM3352已从 MMC0启动。

    如何解决此问题?

    此外,如何使用DSS脚本读取内存映射?报告错误的0x4030ce40地址位于"L3 OCMC0" SRAM中。 如果 启用了L3 OCMC0的时钟,DSS脚本应该能够读取该内存。 我还检查了一个工作板,即使启动ROM找不到有效的引导映像,AM335x-boot.dss DSS脚本仍可以从 L3 OCMC0读取。

    由于您正在启动一个板,可能主振荡器(CLK_M_OSC)上的晶体出现故障,或者可能并非所有电压轨都正确。

    另外,您的AM3352设置为启动程序的是什么?

    我发现,如果使用CCS调试器更改 CM_per _OCMCRAM_CLKCTRL寄存器,则会禁用OCMC时钟的时钟,因为OCMC时钟可能会重复有关 AM335x-boot.dss DSS脚本 无法读取地址 0x4030ce40的错误。 因此,启动的程序可能会将CM_per _OCMCRAM_CLKCTRL寄存器更改为禁用L3 OCMC0,但我认为在您的情况下,硬件问题更有可能。

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

    [报价用户="Chester Gillon"]

    另外 ,您的AM3352 设置为启动程序的是什么?

    我发现,如果使用CCS调试器更改 CM_per _OCMCRAM_CLKCTRL寄存器,则会禁用OCMC时钟的时钟,因为OCMC时钟可能会重复有关 AM335x-boot.dss DSS脚本 无法读取地址 0x4030ce40的错误。 因此,启动的程序可能会将CM_per _OCMCRAM_CLKCTRL寄存器更改为禁用L3 OCMC0,但我认为在您的情况下,硬件问题更有可能。

    [/引述]
     
    我读取CM_per _OCMCRAM_CLKCTRL寄存器,值为0x3万。 如您所述,OCMC0时钟已禁用。 我将 0x2写入 CM_per _OCMCRAM_CLKCTRL寄存器并尝试读取跟踪向量,我成功读取 寄存器,没有错误。 我知道这不是正常情况,但我从跟踪向量中获得了如下有意义的结果。
    ROM:当前跟踪向量(0x4030CE40),单词1 = 0x9cd3f872
        位15:[外围设备引导]外围设备引导失败
     
    ROM:当前跟踪向量(0x4030CE44),单词1 = 0xec67d0d0
        位21:[内存和外设引导]映像验证失败
     
    ROM:当前跟踪向量(0x4030CE40),单词1 = 0x760eb51f
    ROM:冷复位跟踪向量,单词1 = 0x9.6528万fdd
         位15:[外围设备引导]外围设备引导失败
     
    ROM:冷复位跟踪向量,单词1 = 0x9.6528万fdd
        位28:[内存和外设引导]验证过程失败
    ROM:冷复位跟踪向量,单词1 = 0x3f77.3085万
        位24:外围设备引导设备空
    我还附上了如下所示的整个结果文件。
     
     
    我使用AM335x-EVM-Linux-AM3.Imp.img 03.03 (此页面 为http://software-dl.ti.com/processor-sdk-linux/esd/AM335X/latest/index_FDS.html) 00.04 ,
    我不使用SPI ROM映像 作为 引导源。
    你能给我一个糖吗?
     
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    OCMC0时钟已禁用,如您所述。 我将 0x2写入 CM_per _OCMCRAM_CLKCTRL寄存器并尝试读取跟踪向量,我成功读取 寄存器,没有错误。 我知道这不是正常情况,但我从跟踪向量中得到如下有意义的结果。[/QUOT]从OCMC查看跟踪向量,有许多保留位设置。 我认为,由于您必须写入 CM_per _OCMCRAM_CLKCTRL寄存器以启用 OCMC,因此读取的跟踪向量可能无效。

    建议您在 Sitara处理器论坛上发帖 ,因为那里的设备专家应该能够提供更好的建议。

    [我没有调试板启动问题的任何个人经验]