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.

[参考译文] TDA4VM:在 CCS 调试环境中、使用 fopen 函数在开发板上打开 bin 文件的具体操作过程是什么?

Guru**** 2457760 points
Other Parts Discussed in Thread: TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1550635/tda4vm-in-the-ccs-debugging-environment-what-is-the-specific-operational-procedure-for-opening-a-bin-file-on-the-development-board-using-the-fopen-function

器件型号:TDA4VM


工具/软件:

在 CCS 调试环境中、使用 fopen 函数在开发板上打开 bin 文件的具体操作过程是什么? 目前、已知使用 fopen 打开/mnt/data.bin 实际上可以访问计算机端的文件。 如果目标是打开开发板上/mnt 目录下的 data.bin 文件(TDA4VM)、该怎么做?

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

    您好、

    在 CCS 调试环境中、使用 fopen 函数在开发板上打开 bin 文件的具体操作过程是什么? 目前、已知使用 fopen 打开/mnt/data.bin 实际上可以访问计算机端的文件。 如果目标是打开开发板上/mnt 目录下的 data.bin 文件(TDA4VM)、该怎么做?

    您需要连接到所需内核并加载为该内核构建的二进制映像。
    请参阅 RTOS SDK 文档、了解如何通过 CCS 设置和加载映像。
    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/11_00_00_06/exports/docs/psdk_rtos/docs/user_guide/ccs_setup_j721e.html#step-3-load-rtos-baremetal-application-binaries-thru-ccs

    此致、
    Sudheer

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

    我按照上述用户指南加载文件。 我需要在 DSP 内核上编写代码、因此加载的二进制映像是 ti-processor-sdk-rtos-j721e-evm-11_00_00_06/vision_apps/out/J721E/C66/freeRTOS/debug/vx_app_rtos_linux_c6x_1.out。

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

    您好、

    我需要在 DSP 内核上编写代码、因此加载的二进制映像是 ti-processor-sdk-rtos-j721e-evm-11_00_00_06/vision_apps/out/J721E/c66/freertos/debug/vx_app_rtos_linux_c6x_1.out。

    您需要将 DSP 内核应用集成到 VisionApp 中。
    从 Vision Apps 加载到 C66x 1 上的应用程序将为“vision_apps/platform/j721e/rtos/c66x_1/main.c"</s>“

    集成应用后、根据视觉应用用户指南构建视觉应用和加载图像。
    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/vision_apps/docs/user_guide/BUILD_AND_RUN.html

    如果您需要与 DSP 应用相关的任何支持、请创建新主题。 我们解决了一个与如何使用调试器加载文件相关的查询、您能够加载映像。

    此致、
    Sudheer

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

    是的、我正在 vision_apps/platform/j721e/rtos/c66x_1/main.c 中执行文件打开操作 当前的问题是:在 nosboot 模式下通过 CCS 运行程序时、DSP 内核通常可以在 PC 端打开文件并读取其内容;但是、在 SD 引导模式下运行时、无法在 j721e-EVM 上正确打开和读取文件。

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

    您好、

    是的、我正在 vision_apps/platform/j721e/rtos/c66x_1/main.c 中执行文件打开操作 当前的问题是:当在 noboot 模式下通过 CCS 运行程序时、DSP 内核通常可以在 PC 端打开文件并读取其内容;但是、在 SD 引导模式下运行时、它无法在 j721e-EVM 上正确打开和读取文件。

    在 SD 引导模式下、您需要将映像软链接到 C6X_1 内核。 在运行 SDK 安装到 SD 脚本时、将默认使用该工具。
    请注意、默认情况下、stip 映像将映射到 C7x_1 内核并在引导时加载到内核上。
     符号去除映像将没有符号、即使将内核连接到调试器时也使用非 符号映像来加载符号(而不是像在 noboot 模式下那样加载程序)
    software-dl.ti.com/.../ccs_setup_j721e.html

    最好的餐厅
    Sudheer

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在 SD 引导模式下、您需要将映像软链接到 C6X_1 内核。 当您运行 SDK 安装到 SD 脚本时、它将是默认值。

    我在更新修改后的代码后、执行了 SDK_builder 目录中的 make linux_fs_install_sd 命令。

    请注意、默认情况下、stip 映像将映射到 C7x_1 内核、并在引导时加载到内核上。

    我应该如何理解这句话? 目前我正在 SD 模式下引导、这是否会影响使用“fopen"API 打开“ 打开文件的能力?

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

    您好、  

    我该如何理解这句话? 当前我正在 SD 模式下引导、这是否会影响使用“fopen “api?
    打开文件的能力

    如果是 SD 引导模式或除无引导模式之外的任何其他引导模式。  

    一些二进制文件加载到内核中并开始在内核中运行。

    您可以通过将 SD 卡连接到 PC 并运行以下命令、找到映射到内核的二进制文件。  

    ls -l /media/xxxx/root/lib/firmware

    上面将列出固件存储库中的内容。 找到映射到 SOC 内核的二进制文件。  

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/11_00_00_06/exports/docs/psdk_rtos/docs/user_guide/ccs_setup_j721e.html#debugging-with-hlos-running-on-a72-linux-qnx

    请参阅之前共享的链接:在非引导模式下运行时如何连接调试器。

    如果您想调试代码、需要确保代码不应在特定循环条件下运行并等待。 连接调试器和加载符号后、您可以找到在所需循环中等待的代码、然后您可以开始 失败条件、并继续调试代码。  

    请参阅等待 TI SDK 中的调试器类型的代码、其中我们将设置一些全局变量、并使代码到达并永远等待、直到连接调试器并更新变量以使循环中断。  

    此致、  

    Sudheer

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

    你(们)好

    是的、我当前正在通过 SD 卡加载程序、但无法通过 C66_1 内核二进制文件正确打开和读取 j721e-EVM 上的文件。

    我的问题是 DSP 内核是否无法对文件进行操作、或者是否需要在打开文件之前执行文件系统操作。

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

    您好、

    我的问题是 DSP 内核是否无法对文件运行、或者是否需要在打开文件前执行文件系统操作

    文件系统操作意味着什么。

    您是加载二进制文件以进行调试吗?  在 CCS 引导模式(即无引导模式)下、二进制文件通过加载程序加载在内核上并继续调试。

    对于 SD 等非 CCS 引导模式或任何其他引导模式、将引导加载程序/应用程序加载到内核中。 要在 CCS 中调试这些文件、我们需要按照步骤操作。
    1) 从 CCS 调试器连接所需的内核。
    2) 加载非编程为已由引导加载程序/应用程序加载的程序的符号。
    3) 开始调试后加载符号。

    注释 :我们不能只通过使用 CCS 调试器连接到内核来读取文件信息编程到内核中。 为了知道调试时的程序执行情况、我们必须加载符号。

    如果上述内容不能明确您的需求、请分享有关无引导模式和 SD 引导模式的请求和预期的更多详细信息。

    此致、
    Sudheer

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

    你(们)好

    我修改后的代码位于 ti-processor-sdk-rtos-j721e-evm-11_00_00_06/vision_apps/platform/j721e/rtos/c66x_1/main.c 中 详细的修改要求为:打开 adcdata.bin 文件、将其中的原始数据读取到指定的存储器地址中、然后处理数据。 当前问题是当我 使用 fopen() 函数打开文件时、无法正确检索文件中的原始数据。 我的引导方法是 SD 卡引导、我不需要在 CCS 模式下进行调试;我可以通过 SD 卡模式引导添加日志来进行调试。

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

    您好、

    是的、我当前通过 SD 卡加载程序、但无法通过 C66_1 内核二进制文件在 j721e-EVM 上正确打开和读取文件。 [/报价]

    您遇到了哪些错误?

    我的问题是 DSP 内核是否无法对文件运行、或者是否需要在打开文件之前执行文件系统操作。

    如果可能、我建议将文件操作移动到 DSP 之外。

    您能否分享您用于读取文件的代码?  

    我建议查看 Vision Apps 示例、特别是:

    vision_apps\apps\basic_demos\app_c7x_kernel。  
    此示例演示了读取和写入文件(例如图像文件)的结构、这可能有助于阐明如何在用例中处理文件操作。

    此致、

    Sivadeep

    [/quote]