返回

树莓派4固件Debug日志:从固件直接输出到串口

闲谈

引言

树莓派4是一款功能强大的单板计算机,它在业余爱好者、教育者和专业开发者中都很受欢迎。树莓派固件是Embedded Linux系统不可或缺的一部分,它负责引导系统、管理硬件和提供基本功能。在开发和调试过程中,查看固件日志至关重要,它可以提供有关系统行为和错误的宝贵信息。

默认情况下,树莓派4固件的日志输出到内核缓冲区。虽然这对于使用syslog或dmesg等工具访问日志来说很方便,但它可能不适合实时调试或直接从串口访问日志的情况。

本指南将介绍如何修改树莓派4固件,以便将调试日志直接输出到串口。这将允许您在没有中间缓冲区的情况下实时查看日志消息,从而简化故障排除和调试过程。

先决条件

  • 树莓派4
  • MicroSD卡
  • 文本编辑器(例如Vim或Nano)
  • 串口转USB适配器
  • 串口终端程序(例如PuTTY或minicom)

修改固件

  1. 下载树莓派4固件源代码。
    从官方树莓派网站下载最新的树莓派4固件源代码。

  2. 找到UART驱动程序文件。
    在下载的源代码中,找到文件arch/arm/boot/dts/bcm2711-rpi-4-b.dts。此文件包含设备树,其中定义了UART驱动程序。

  3. 修改设备树。
    bcm2711-rpi-4-b.dts文件中,找到以下行:

    serial@40008000 {
        compatible = "ns16550a";
        reg = <0x40008000 0x1000>;
        clocks = <&uart0>;
        clock-frequency = <1843200>;
    };
    

    添加以下行:

        status = "okay";
    

    此修改将启用UART驱动程序并允许从固件直接输出日志。

  4. 编译固件。
    按照树莓派网站上的说明编译修改后的固件源代码。

部署固件

  1. 将固件写入MicroSD卡。
    使用树莓派映像工具或其他类似工具将编译后的固件写入MicroSD卡。

  2. 将MicroSD卡插入树莓派4。
    将装有修改后固件的MicroSD卡插入树莓派4。

  3. 通过串口连接到树莓派4。
    使用串口转USB适配器将串口终端连接到树莓派4的串口。

查看调试日志

  1. 启动树莓派4。
    启动树莓派4并等待固件引导完成。

  2. 打开串口终端。
    打开串口终端程序,例如PuTTY或minicom,并配置它与树莓派4的串口通信。

  3. 查看日志输出。
    树莓派4固件的调试日志现在应该直接输出到串口终端。您将能够实时查看系统日志消息,从而简化故障排除和调试过程。

结论

通过修改树莓派4固件,可以将调试日志直接输出到串口。这简化了实时调试和故障排除,因为它允许您直接从固件查看日志消息,而无需使用中间缓冲区。本指南提供了详细的分步说明,可帮助您实现此修改并充分利用树莓派4的调试功能。