ST意法半导体
直播中

张娟

7年用户 2107经验值
私信 关注
[问答]

怎样去更改默认的tf-a和u-boot串口linux控制台呢

您好,我的主串口控制台应该是 USART2 而不是 UART4。我修改内核dts如下:
  •         chosen {
  •                 stdout-path = "serial0:115200n8";
  •         };
  •         aliases {
  •                 ethernet0 = ðernet0;
  •                 mmc0 = &sdmmc1;
  •                 mmc1 = &sdmmc2;
  •                 serial0 = &usart2;
  •         };
它正确配置了内核控制台。
如果我在 tf-a 和 u-boot dts 中尝试相同的修改,在启动时我会看到从 uart4 开始的日志,但此时它会阻塞
  • Preparing exit to normal world
  • No serial driver found
我也应该修改一些引导环境吗?




回帖(1)

刘勇

2022-12-19 11:17:48
对于 uboot 项目,我在 defconfig 中添加了 CONFIG_DEBUG_UART_BASE=0x4000E000 (usart2 base address),我添加了
   选择{
      stdout-path = "serial0:115200n8";
   };
   别名{
      ethernet0 = ðernet0;
      mmc0 = &sdmmc1;
      mmc1 = &sdmmc2;
      serial0 = &usart2;
      serial1 = &uart4;
   };
&pinctrl {
   usart2_pins_d: usart2-2 {
      引脚 1 {
         pinmux = ; /* USART2_TX */
         偏置禁用;
         驱动推拉;
         转换率 = <3>;
      };
      引脚 2 {
         pinmux = ; /* USART2_RX */
         偏置禁用;
         偏置上拉;
      };
   };
   usart2_idle_pins_d: usart2-idle-2 {
      引脚 1 {
         pinmux = ; /* USART2_TX */
      };
      引脚 2 {
         pinmux = ; /* USART2_RX */
         偏置禁用;
      };
   };
   usart2_sleep_pins_d: usart2-sleep-2 {
      别针{
         pinmux = , /* USART2_TX */
            ; /* USART2_RX */
      };
   };
};
&usart2{
   pinctrl-names = "default", "sleep", "idle";
   pinctrl-0 = <&usart2_pins_d>;
   pinctrl-1 = <&usart2_sleep_pins_d>;
   pinctrl-2 = <&usart2_idle_pins_d>;
   状态=“好的”;
};
在.dts。
我在tf-a项目的dts中也添加了这部分。
然后我生成了 fip 二进制文件。闪烁时,我在 usart2 上看到 cubeprogrammer 日志。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分