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.

[参考译文] TDA4VH-Q1:Lauterbach — 无引导模式

Guru**** 2535150 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1562643/tda4vh-q1-lauterbach---no-boot-mode

器件型号:TDA4VH-Q1
Thread 中讨论的其他器件:TDA4VH

工具/软件:

尊敬的 TI 团队:

是否有方法在无引导模式下使用 Lauterbach?

我需要单独为 C7x 内核 1 加载固件、不希望 A72 运行、需要放置断点并进行检查。 是否有办法做到这一点?

我需要一些示例 CMM 文件、我们将能够使 c7000 核心运行。 没有运行 A72。

我在 CCS 12.x 版本中获取了一些示例文件、

谢谢

此致、

Gowtham

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

    您好:

    是的、可以使用 TRACE32+CMM 或 CCS+launch.js 对 C7x 运行 noboot 单元测试。  在附加的脚本中、在./cmm-tda4vh_j784s4/x_gel_to_cmm/pdk_rtos_test/中查看。  您将需要在 pdk_launch_js_common.cmm 和 pdk_launch_freertos_c7x.cmm  文件中修改应用程序和固件的路径。

    找到随附 zip 文件中的文件。  密码为“TDA4VH"</s>“

    e2e.ti.com/.../7411.cmm_2D00_tda4vh_5F00_j784s4.7z

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

    感谢您的回答、  

    只是一个确认、在正常 SD 卡启动模式下。 启动后、如果我尝试使用 Lauterbach 中的 CMM 文件加载 C7x 固件、是否会替换现有固件??  

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

    您好:

    如果使用 SD 卡(具有固件)上的映像进行引导、则可能会失败。  您询问了无引导模式、在这种情况下可以安全加载固件。  如果你在 SD 卡模式下引导,但没有插入卡~可能它会工作,但它实际上意味着从无引导开始。

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

    您共享的脚本、它适用于哪个 SDK??

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

    脚本已经对 SDK8/9/10 进行了基本检查。  在任何情况下、都必须更新路径。  大多数 SDK 用户不使用 JTAG、通常情况下、CCS 的基本内部用法在 SDK 文档本身中、此处的 TRACE32 只是将 launch.js 移植到 CMM 形式。  逻辑用法是相同的。  SDK 的使用与 JTAG 调试兼容、但它不是矩阵测试中的属性。

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

    我现在能够运行脚本了。

    但 C7x1 突破但  不会进一步推进。

    我还记得在 CCS 设置中同样执行这些操作时、我们还需要启动 r5f 核心吗?

    是在这里实现的。  

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

    是的、需要将 sci 服务内置到您的 r5-MCU 中。  脚本./cmm-tda4vh_j784s4/x_gel_to_cmm/pdk_rtos_test/pdk_launch_js_common.cmm 会执行此操作。  如果您查看该脚本并与/gel/sdk9_launch.js 进行比较、您将看到它们执行相同的操作。

    如果固件和 PDK 对象不是来自同一 SDK 捆绑包、则通常会显示您要显示的消息。   你应该使用同一个捆绑包中的所有片段,而不是混合和匹配。  如果您尝试使用内置的 Say sdk11 应用程序、则应使用与其捆绑的固件。

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

    您好、  

    感谢您的回答

    我在 CCS 设置文档中看到了这个图标、

    我的问题是、如果我要加载自己的固件(在免费 RTOS 上运行)、我们是否需要加载该 SMS 和 MCU1_0? 在没有此 mcu1_0 和从 launch.js 或 cmm 文件加载的系统固件的情况下、是否可以直接加载自己的固件?

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

    您好:

    此处写入的内容是、TI 固件必须在 Cotex-M 内核 (TIFS) 上运行、才能在其他内核上执行任何 PSDK 应用。   流程是.js 文件加载 M4-TIFS 上的固件、R5-MCU1_0 启动应用程序、使用初始化消息(类似于 start w/config)初始化 M4 上的固件、然后其他内核可以运行 PDK 示例、对 MCU1_0 进行服务调用。   MCU1_0 只能处理服务调用的一个子集、有时必须调用 M4 固件。   如果要在 MCU1_0 上运行应用程序、可以创建跳过加载~dummy-service-provider(loadSciserverFlag=0 并直接执行它)的构建。  

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

    我想在 C7000 上运行应用、这是我自己的应用、在免费 RTOS 上运行。 为此、我们是否需要  运行 M4 MCU1_0? 我可以在不加载运行 M4-TIFS 和 MCU1_0 的固件的情况下运行吗? 该流程是否仅适用于从 PSDK 运行示例应用程序? 如果我要在 C7000 上运行自己的应用程序是必要的吗? 如有必要、此 TIFS 会做什么?  

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

    是的、编写的 PSDK 脚本流程需要与 R5 一起运行 M4-TIFS、以从 SDK 运行 C7x 代码。

    您可以使用 _J784S4_allcoretypes_connect.cmm 脚本启动点运行裸机 JTAG 初始化、然后加载 C7 并运行裸机代码。  这意味着要从非引导状态运行。  它将无法利用较大的 SDK 对象、这些对象都具有固件依赖性。
    此致、
    理查德·W·
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很少的查询,我经历了一些共享的文档和脚本,根据我的理解,

    TIFS 拥有 PM/RM/DDR/防火墙。

    1.  pdk_launch.js_common.cmm 会连接到 M4 内核并加载该固件 ti-firmware-j784s4-gp.bin。 ccs_init_mcu1_0_release.xer5f 的作用是什么?
    2. TIFS 是否只使 DDR 处于活动状态? r5f 在这里的作用是什么? 它是否有助于将固件引导到 M4 并提供设置 DDR 器件的信号?
    3. 我的应用 (C7x、FreeRTOS) 在 DDR 中几乎没有依赖项、因此需要加载 TIFS - M4? 如果我希望我的应用程序访问 DDR、我们不能删除此 r5f 内核依赖性、因为我的固件 (.bss、.data) 的很少部分位于 DDR_C7x1 内存区域?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    安全资源管理需要 TIFS(M4 代码)。  TIFS 的角色不是 DDR 的核心、SBL 有 DDR 设置代码、PM(R5 侧)将为所需的电源/时钟/复位提供服务。   我提到过、裸机流程将设置裸机操作所需的所有内容(包括 DDR)。   我还没有完全通过每个部分的内部组件。  M4 内部的一切都发生了演变、M4 和 R5MCU0 被分开。  我记得、初始电路板配置和固件初始化位于 cc_init_mcu1 中(用于传统和当前)、添加 R5 代理时、添加测试应用以提供该服务器。

    常用的开发路径是将 JTAG “稍后附加“JTAG 到您的应用程序映像 (C7-FreeRTOS)、而不是尝试这么早连接。  您可以引导标准映像、然后在 C7 启动的初始化中放入 while (1)。  然后、您可以连接到该设备并进行调试。  这是最简单的工作方法。  如果“其他虚拟核心“尚未就绪、并且您希望在完成这些组件之前开始工作、则只能设置“假的其他核心“启动。  

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

    感谢您的解释。  

     “延迟连接“JTAG ->您提到的这个流程与正常 SD 卡引导模式有关、而不是在无引导模式下?

    因此、在无引导模式下。

    SMS(M4 代码)->运行 SysFW (TIFS + DM)

    MCU/R5F(MCU 域)->运行 ccs_init(或 SBL 在生产中)。

    • 此代码首先从 SysFW 请求 PM/RM 服务(DDR 电源/时钟/复位)。
    • 然后、它执行 DDR 初始化序列(控制器+ PHY 训练)。

    只有 MCU R5F 可以与 SysFW 通信、其他内核必须通过 R5F 内核来处理任何 PM/RM 请求。

    完成这些步骤后、DDR 将处于活动状态并可供所有内核使用

    问题)如果我只想使用 CCS_INIT 初始化 DDR 一次、是否可以跳过加载 sciserver 以在 MCU r5f 上运行并直接加载自己的自定义固件 C7x FreeRTOS?

    我的用例是使用 Lauterbach 在无引导模式下进行 C7x FreeRTOS 单元测试、其中固件部分位于 DDR 中、我只需要 DDR 处于活动状态、无运行时 PM/RM 请求。

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

    您的总结似乎正确。   如果您有自己的 C7 FreeRTOS 驱动程序(不是 TI 的驱动程序)、则可能有一个仅由 PIO 提供的基本映像、可能能够使用 R5 运行。  大多数(如果不是全部)TI 支持库都期望初始化 sciclient 接口(即使没有提供多少服务)。   一个可能的问题是一些看门狗可能处于运行状态(在 M4 和 R5 上)、但没有得到处理。   如果您的映像需要使用复杂的 IO(例如 PSI 或 UDMA 等 DMA)、则可能会出现问题、因为这些需要服务呼叫其内部。