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/TMS320DM6467T:与 CCSv8中 DSP 内核的仿真器连接出现问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/830281/ccs-tms320dm6467t-problem-with-emulator-connection-to-dsp-core-in-ccsv8

器件型号:TMS320DM6467T

工具/软件:Code Composer Studio

大家好

我是 C6000和 DaVinci 系列处理器的新手。 我正在研发一个定制设计的 DM6467T 板。  

我正在尝试运行一些不是基于 Linux 的程序。 CCSv3.3的 Spectrum Digital 站点上提供了一些示例代码、源代码和头文件

将项目转换为基于 ccsv8的项目后,ARM 内核工作正常,但 DSP 内核无法连接,对话框显示目标 在复位时被保持。(目标未处于复位状态时)

在 GEL 文件中、注意此 GEL 文件是为 ccsv3.3编写的。 我不知道如何为 ccsv8重写它们。

我正在寻找能够提供帮助的解决方案或其他示例代码。

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

    您好、Ali、

    [引用用户="Ali haji37"] ARM 内核运行良好,但 DSP 内核无法连接,对话框显示目标 在复位时被保持。(目标未处于复位状态时)[/quot]

    此消息意味着 DSP 内核需要一些额外的初始化。 确保从 GEL 文件(evmdm6467_arm.gel 和 evmdm6467_dsp.gel)运行所有与 DSP 相关的初始化函数。 有一些 GEL 函数、如 DSP_Boot_From_L2_ram ()、Setup_PSC_All_on ()等 并确保此 GEL 函数成功运行。

    您还可以尝试以下 GEL 文件是否适用于您的电路板:

    此致、
    帕维尔

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

    感谢您的回复

    它可以在您的链接和 ccsv3.3中使用 GEL 文件

    达芬奇处理器是否有任何其他源代码或示例?  

    我 在 C2000双核 MCU 方面拥有丰富的经验、TI 网站上为他们提供了大量代码示例、但对于 C6000和 达芬奇 处理器、我找不到同样的东西。

    此致。

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

    阿里

    在此链接中、我们有 ZIP 文件:

    目标内容-包括 DaVinciTmHD1080p EVM 的源代码和测试。

     

    您还可以查看应用手册:

     

    和 Linux SDK:

    此致、
    帕维尔

     

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

    在 ccsv8中为"evmdm6467_v1_revf"启动调试会话会提供以下 GEL 输出。

    (它不能执行 “BOOT_DSP_FROM _ARM (0x11800000)”。 ccsv3.3中的相同过程已成功完成)

     

    ARM926:GEL 输出:
    达芬奇 HD ARM 启动序列
    
    ARM926:GEL 输出:禁用 IRQ/FIQ
    ARM926:GEL 输出:刷新高速缓存
    ARM926:GEL 输出:禁用 MMU
    ARM926:GEL 输出:启用指令高速缓存。
    
    ARM926:GEL 输出:设置 PinMux…ARM926:GEL 输出:[DONE]
    ARM926:GEL 输出:设置电源模块(全部打开)…ARM926:GEL 输出:[DONE]
    ARM926:GEL 输出:设置 PLL0ARM926:GEL 输出:(DSP = 594MHz +ARM926:GEL 输出:ARM = 1MHz) ARM926:GEL 输出:ARM926:GEL 输出:ARM926:GEL 输出:ARM926:GEL 输出
    GEL 输出:(DDR2 PHY = 297MHz +ARM926:GEL 输出:片上振荡器)...ARM926:GEL 输出:[DONE]
    ARM926:GEL 输出:设置 DDR2 (297MHz + 32位总线)...ARM926:GEL 输出:[DONE]
    ARM926:GEL 输出:设置 EMIF CS2 - NAND 闪存(8位总线)...
    ARM926:GEL 输出:ARM926:ARM926:ARM926:[DONE] ARM926:ARM926:ARM926:ARM926:ARM926:GL 输出:ARM926 GEL:执行 OnTargetConnect ()时出错:内存映射阻止在
    GEL_MemoryFill (boot_address、0、32、0x0000a120)[evmdm6467_arm.gel:1013]
    at boot_dsp_from_arm (0x118000)[evm6467_arm.gel:1026] gel
    
    :
    disable gel 输出
    
    :gel vram_arm_ram_ram_arm_ram_ram_ram_ram_arm.gel:gel
    
    输出:gel:gel 输出:tram_arm926:gel 输出:gel:gel 输出:gel 禁用 EDMA 事件
    ARM926:GEL 输出:
    ARM926:GEL 输出:禁用 VPSS
    ARM926:GEL 输出:禁用 IRQ/FIQ
    ARM926:GEL 输出:刷新高速缓存
    ARM926:GEL 输出:禁用 MMU
    ARM926:GEL 输出:禁用 EDMA 事件
    ARM926:GEL 输出: 

    它连接到 ARM 内核、但尝试连接到 DSP 内核会导致以下仿真器连接错误:(EMU0/1引脚配置正常)

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

    通常、ARM 是主器件、因此您需要首先连接 ARM 内核、然后尝试连接 DSP 内核、然后在其上加载代码。 当您连接 ARM 内核时、ARM GEL 将初始化所有板载外设并唤醒 DSP。 您是否赞同这一点?

    通常、ARM 的 GEL 文件将具有一个例程、用于释放 DSP 以进行复位。 因此、您需要首先连接到 ARM 并运行 GEL 例程来执行此操作(通常从"脚本"菜单中)。 有时、当您连接目标时、它会自动调用此例程。 在任何情况下、ARM 都会使 DSP 从复位状态中释放出来、您应该能够下次连接到 DSP 并访问它。

    另请查看以下 e2e 线程:

    此致、
    帕维尔

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

    您好、Pavel、

    感谢您的关注

    [引用用户="Pavel Bodev"]

    通常、ARM 是主器件、因此您需要首先连接 ARM 内核、然后尝试连接 DSP 内核、然后在其上加载代码。 当您连接 ARM 内核时、ARM GEL 将初始化所有板载外设并唤醒 DSP。 您是否赞同这一点?

    [/报价]

    是的、

    似乎问题出在 ARM GEL 文件中的"dsp_Boot_From_L2_ram()"。 我替换为"DSP_Boot_FROM DDR2 ()",连接已成功建立。 您能理解问题的位置吗?

    此致。

    Ali

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

    阿里

    我可以为您提供以下调试提示:

    -当您使用 DM6467T (即达芬奇 HD1080p)时–在本例中,您不应使用 evmdm6467,而应使用 davincihd1080p GEL 文件–由设置 EVMDM6467T 自动配置。

    看起来是 GEL 存储器映射问题。 您可以更新 CCSv8 evmdm6467_arm.gel 文件、以确保存储器地址是可写的

    /* DSP RAM */
    - GEL_MapAddStr (0x11818000、0、0x00020000、"R|W|AS4"、0); // DSP L2 RAM/缓存 
    + GEL_MapAddStr (0x1180000、0、0x00020000、"R|W|AS4"、0); // DSP L2 RAM/缓存 GEL_MapAddStr (0x11e00000、0、0x00008000、"R|W|AS4"、0); // DSP L1P 高速缓存/RAM GEL_MapAddStr (0x11f00000、0、0x00008000、"R|W|AS4"、0); // DSP L1D 高速缓存/RAM

     

    此致、
    帕维尔