RK プラットフォームの Android システムは、uart2 デバッグ シリアル ポートを通常のシリアル ポートに変更します。

通常の状況では、RK シリーズ マザーボードの ttyS2 (つまり uart2) は基本的にデバッグ ポートとして設計されており、fiq デバッガー機能を提供します。
デバッグ ポートを通常のシリアル ポートに変更します。具体的な変更は次のとおりです。

  1. カーネル内の fiq デバッガー ドライバーを削除します。
//dts中disabled掉fiq debugger驱动节点
fiq-debugger {
    
    
    compatible = "rockchip,fiq-debugger";
    interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
    rockchip,serial-id = <2>;
    rockchip,wake-irq = <0>;
    rockchip,irq-mode-enable = <0>;  /* If enable uart uses irq instead of fiq */
    rockchip,baudrate = <115200>;  /* Only 115200 and 1500000 */
    pinctrl-names = "default";
    pinctrl-0 = <&uart2_xfer>;
+   status = "disabled";
};

//或者注释掉kernel config里的FIQ_DEBUGGER相关配置
#CONFIG_FIQ_DEBUGGER=y
#CONFIG_FIQ_DEBUGGER_NO_SLEEP=y
#CONFIG_FIQ_DEBUGGER_CONSOLE=y
#CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE=y
#CONFIG_FIQ_DEBUGGER_TRUST_ZONE=y
  1. uart2 を開きます (その前にデバッグ用シリアル ポートを閉じる必要があるため)。
&uart2 {
    
    
-       status = "disabled";
+       status = "okay";
};
  1. bootargs を削除します。
        chosen {
    
    
-               bootargs = "earlycon=uart8250,mmio32,0xff690000 vmalloc=496M";
+               //bootargs = "earlycon=uart8250,mmio32,0xff690000 vmalloc=496M";
        };
  1. パラメータ .txt を変更します (ttyFIQ0 を削除します)。
-CMDLINE: console=ttyFIQ0 androidboot.baseband
+CMDLINE: console= androidboot.baseband
  1. device/rockchip/common/recovery/etc/init.rc ファイルからコンソールを削除します。
service recovery /sbin/recovery
-    console
+    #console
     seclabel u:r:recovery:s0

変更、コンパイル、書き込みを行うと、ttyS2 は通常のシリアル ポートとして使用できるようになり、TX と RX を短絡すると自動的に受信できるようになります。

おすすめ

転載: blog.csdn.net/weixin_45639314/article/details/132412447