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:将 enet_lwip 示例 UART 从 UART0 更改为 UART1 不工作

Guru**** 2644735 points

Other Parts Discussed in Thread: TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1589723/tda4vm-changing-enet_lwip-example-uart-from-uart0-to-uart1-not-working

器件型号: TDA4VM

尊敬的 TI 专家:

我正在开发 TDA4VM (J721E EVM)。 从 PDK 运行以太网示例 ( enet_lwip示例)、UART 输出显示在上 UART0 、但它与 Linux 内核日志混合。 我想避免这种情况、因此我尝试将示例切换到 UART1

我修改了中的 UART 实例 board_utils.c如下所示:

Board_initParams_t gBoardInitParams = {
    BOARD_UART2_INSTANCE,
    BOARD_UART_SOC_DOMAIN,
    BOARD_PSC_DEVICE_MODE_NONEXCLUSIVE,
    BOARD_MAIN_CLOCK_GROUP_ALL,
    BOARD_MCU_CLOCK_GROUP_ALL
};

我在文件中对此进行了更新:

ti-processor-sdk-rtos-j721e-evm-11_00_00_06/pdk_jacinto_11_00_00_21/packages/ti/board/src/j721e_evm/board_utils.c

但是、切换到 UART0 到 UART1 后、我无法在该端口上获得任何输出。

您能指导我如何enet_lwip将示例输出正确地重定向到 UART1 而非 UART0?

谢谢。

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

    您好、

    Board_initParams_t gBoardInitParams ={ Board_UART2_Instance、

    高于 BOARD_UART2_INSTANCE is UART2 not UART1.

    Can you please confirm after above change, have you rebuild baord_libs? If not can you please check by rebuilding board_libs.

    You can also try to build enet example along with "
    disable_recurse_DEPS=no“、以便它将重新构建所有必需的库和模块。

    此致、
    Sudheer

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

    您好、

    根据日志、我观察到已重建您已修改以启用 UART2 实例的 board_utils.c。  

    我期望主 UART2 上有日志、它是来自四通道 UART (ttyUSB0、ttyUSB1、 ttyUSB2 、ttyUSB3) TI EVM 上的输出 ( J45 UART) 的一部分。

     您能否 在 115200 处与 Baudarte 重新检查、并在无奇偶校验的情况下重新检查 8 位数据。

    此致、
    Sudheer

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

    您好、

    我尝试了之前你在这里提到的相同,但没有得到的日志,我连接 ttyUSB2 的波特率只有 115200。

    内核设备树或 u-boot 设备树中的设备树是否需要更改(如果是)。

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

    您好、

    在内核设备树或 u-boot 设备树中、如果是、设备树中是否需要更改任何内容。

    在不使用 与 其他功能进行多路复用的 UART2 引脚之前、无需更改器件树。  

    默认情况下、TI SDK 为 MCU2_0 ETHFW 应用启用 UART2。

    您还可以参阅下面的常见问题解答、其中我们启用了 SDK 的 Main UART、了解如何通过应用调整 UART 的电路板配置。
    【常见问题解答】TDA4VM-Q1:如何从 PDK 应用启用跨域 UART 访问。

    此致、
    Sudheer

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

    您好、

    我检查了您添加的该补丁中的上述链接  

    + initParams.uartSocDomain = BOARD_SOC_DOMAIN_MAIN;
    + initParams.uartInst = BOARD_UART2_INSTANCE;
    + initParams.pscMode = BOARD_PSC_DEVICE_MODE_NONEXCLUSIVE;
    + Board_setInitParams(&initParams);

    这只是设置   gBoardInitParams which i have already changed directly,then too im not getting any logs in my UART console.

    Thanks

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

    您好、

    这只是设置   gBoardInitParams which i have already changed directly[/报价]

    是的、这就是我在您直接修改时的第一步中没有分享此内容的原因。 直接修改时的唯一问题 是重新构建可以 通过 build 命令使用 disable_recurse_DEPS=no 触发的电路板库。

    如果我在 UART 控制台中也没有收到任何日志。

    您能否重新确认、在沿着 Linux 端运行之前、您是否能够在默认 UART0 控制台中观察到打印内容?

    默认情况下 、ENET 示例不兼容于在 Linux 端运行、 正如您提到 Linux 打印件也 在同一控制台上观察到的那样、我没有问过这一点。

    为了使 ENET 示例与 Linux 兼容、您需要更新 ENET 的链接器文件、使其不会与其他存储器区域重叠。  

    默认情况下、从 0xA0000000 开始的 DDR 空间中的每个内核保留 16MB、用于 Linux 端运行的应用程序。

    对于 MCU2_0、您应该使用从 0xA2000000 开始的 DDR 空间、长度将为 0x01000000。

    此致、
    Sudheer

    [/quote]