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.

[参考译文] RTOS/TDA2PXEVM:I#39;m 无法看到 System_printf 调用

Guru**** 2539500 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/697761/rtos-tda2pxevm-i-m-not-able-to-see-system_printf-calls

器件型号:TDA2PXEVM

工具/软件:TI-RTOS

我 已经能够编译并运行 bsp_examples_i2c_led_blink 示例、方法是将其(作为 AppImage)和 TDA2px 板的 MLO 复制到 sdcard 并使用它来引导 TDA2pc-EVM 板。  但是,我看不到来自 System_printf()调用的任何消息。 我尝试添加 System_flush()调用,以确保我可以更早看到消息,但它没有帮助。

cfg 文件包含以下行:

VAR SysStd  = xdc.useModule('xdc.runtime.SysStd');

稍后、cfg 文件具有以下行、以防这导致问题:

System.SupportProxy = SysStd;

我将 UART 连接到我的笔记本电脑、并且在启动 TDA2px 板时看到消息出现。  但它不显示来自 LED 闪烁程序的任何消息。  该程序正在运行、因为我看到 LED 正确闪烁、我知道它正在运行我的代码、因为当我更改闪存速率时、我看到它正在相应地更改 LED 闪烁速率。

如何查看 System_printf()消息?

谢谢你。

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

    您好!

    要在应用程序中使用 System_printf(),请执行以下步骤:

    • 在应用程序的*。cfg 文件中包含 xdc.runtime.System 模块

    xdc.useModule('xdc.runtime.System'); 
    • 在 C 文件中包含 System.h 头文件,然后可以进行 System_printf()调用

    #include 
    
    void func()
    {...
    
    system_printf ("这是测试 msg %d.\n"、msgid);
    } 

    此致、

    Rishabh

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

    我使用 的是随 PDK 提供的 TI 的 bsp_examples_i2c_led_blink 示例代码。

    #include 源代码中。

    cfg 文件奇怪地具有两次 xdc.runtime.system 引用。

    VAR 系统  = xdc.useModule("xdc.runtime.System");

    大约10行之后:

    VAR 系统    = xdc.useModule('xdc.runtime.System');

    无论如何、它都会编译并正确运行。  我删除了其中一个引用、它继续以相同的方式工作。   

    软件会编译并运行。  我可以看到 LED 闪烁。  我无法看到来自 System_printf 调用的消息。  他们应该出现在哪里?

    我正在观看 UART 并在那里期待它们、但它们没有出现。  这就是 UART 提供的内容:

    TDA2Px SBL 引导

    DPLL 配置完成

    时钟域配置完成

    模块启用配置完成

    TI EVM 焊盘配置完成

    TDA2Px DDR 配置

    DDR 配置完成

    应用程序映像下载开始

    SD Boot (SD 引导)-文件打开成功完成

    尝试使用标题版本1引导应用程序映像

    IPU1 CPU0映像加载完成

    应用程序映像下载完成

    将 MPU CPU1置于关闭模式

    EVE MMU 配置完成

    EVE MMU 配置完成

    (一

    PMCCNTR 每64个时钟周期进行一次计数、每64个时钟周期进行多次计数、以获得实际的 CPU 周期

    SBL 初始配置周期- 1763884 (150.51ms)
    SoC Init 周期- 204740 (17.47ms)
    DDR 配置时钟周期- 95006 (8.10ms)
    APP 图像加载周期- 1938626 (165.42ms)
    从 Core 启动周期- 139279 (11.88ms)
    SBL 启动周期- 4149358 (354.7ms)
    SBL 启动 IPU1_0 - 24979的时间(2.13 ms)
    (一

    正在将 MPU 置于保留状态...

     


    但在 LED 闪烁时,我看不到我所期望的任何 System_printf()消息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它现在正在工作。 我不确定到底是什么修复了它、但我在 cfg 文件中将 EVE_SW_CONFIG 设置为1、并在调用 gmake 时添加了 build_profile=debug、可能还有一些我不记得的其他内容、但最终结果是我现在可以看到这些消息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Scott、

    很高兴您的问题得到解决。
    System_printf 消息将打印在 CIO 控制台上。
    您可以使用 CCS 运行该二进制文件并查看这些消息。
    请确保在使用 CCS 时将 TDAxxx_multicore_reset.gel 中的 VISION_SDK_config 设置为1。

    此致、
    Rishabh