【问题标题】:Enabling second UART in U-Boot在 U-Boot 中启用第二个 UART
【发布时间】:2021-07-04 18:16:29
【问题描述】:

我正在开发一个带有 CortexA5 处理器和嵌入式 Linux 的 SAMA5D3-xplained 板的项目。我想在 U-Boot 运行期间和内核加载到 RAM 之前通过 UART 发送和接收一些数据。我不知道我应该做什么。我应该将第二个 UART 添加到 U-Boot 设备树源文件吗?我应该更改电路板配置文件中的某些内容吗?你对我应该采取哪些步骤来实现我的目标有什么想法吗?提前感谢您的帮助。

编辑 我想使用 U-Boot C 代码中的 UART,而不是 U-Boot 命令中的 UART。在将内核加载到 RAM 之前,我需要与其中一个外围设备进行通信。

【问题讨论】:

    标签: embedded-linux uart boot u-boot


    【解决方案1】:

    我假设您正在使用来自https://source.denx.de/u-boot/u-boot.git 的上游 U-Boot。

    设备树 arch/arm/dts/at91-sama5d3_xplained.dts 已经包含六个不同 uart 的定义,称为 serial0 - serial5。 serial0 在 /chosen 节点中设置为标准串行连接。您应该能够使用“dm tree”命令查看所有六台设备。

    可以通过设置stdin和stdout环境变量来切换当前使用的UART。

    如果您不想切换这些变量,因为您仍希望在默认 UART 上输出,您将不得不访问设备驱动程序。不幸的是,drivers/serial/serial-uclass.c 还没有为此导出函数。但是 _serial_putc()、__serial_getc() 和 __serial_tstc() 应该让您了解这是如何完成的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多