单片机/MCU论坛
直播中

张华

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

NUC980怎么把Uboot和kernel的输出改到其它串口?

使用的NUC980官方固件 板子只引出了PA1和PA0 没有把UART0引出 请问应该怎么把Uboot和kernel的输出改到其它串口

回帖(1)

h1654155216.9102

2024-1-17 15:34:21
如果您的NUC980板子没有将UART0引出,但是有其他串口可用,您可以尝试通过以下步骤将U-boot和kernel的输出改到其他串口:

1. 打开U-boot源代码目录,找到`include/configs/nuc980.h`文件。
2. 在该文件中找到并修改以下定义,将串口的地址、波特率和数据位等参数设置为您想要使用的串口的参数:
```c
#define CONFIG_CONS_INDEX        0    // 设置新的串口索引,默认为0
#define CONFIG_BAUDRATE          115200    // 设置新的串口波特率,默认为115200
#define CONFIG_SYS_NS16550_COM1   NS16550_BASE     // 新的串口基地址,默认为NS16550_BASE
#define CONFIG_SYS_NS16550_COM1_AHB  (NS16550_BASE_AHBCON_BASE + 0xf000) // 新的串口基地址,默认为NS16550_BASE_AHBCON_BASE + 0xf000
#define CONFIG_SYS_NS16550_COM1_CLK    33177600    // Rio 提供的准确的波特率
#define CONSOLE_ARGENT            "ttyS0"    // 新的串口名,默认为ttyS0
```
3. 保存文件并重新编译U-boot。

接下来,您还需要更改内核的引导参数,以使用新的串口来输出。您可以按照以下步骤进行设置:

1. 打开内核源代码目录,找到`arch/arm/mach-nuc980/Makefile.boot`文件。
2. 在该文件中找到以下定义行:
```makefile
BOOTARGS := "console=ttyS0,115200"
```
3. 将其中的`ttyS0`改为您在U-boot中设置的新串口名。

另外,请确保所使用的串口的硬件连接正确,以及相应的驱动程序已经正确加载。

完成上述步骤后,重新编译内核并烧写到NUC980板子上,U-boot和kernel的输出应该会通过新的串口进行输出。
举报

更多回帖

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