1. 程式人生 > >rk3399除錯串列埠改為普通串列埠步驟

rk3399除錯串列埠改為普通串列埠步驟

1、本人使用的開發板是友善的NanoPC-T4,Android7.1.2,要吐槽一下友善了,對於這個平臺,感覺資料太少,技術支援不到位,可能由於多年不碰Linux底層的原因,遇到了很多問題,在此記錄下來,防止忘記。

2、配置核心檔案

Device Drivers > [*] Staging drivers  ---> Android  ---> [ ] FIQ Mode Serial Debugger

配置完成之後如下圖:

3、修改檔案kernel/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi

4、修改啟動引數檔案parameter.txt

CMDLINE引數去掉androidboot.baseband=N/A,新增console=NULL,不加這一句啟動時會卡住,比原來啟動時間延時一分鐘多

androidboot.console=ttyFIQ0 改為androidboot.console=NULL

如下圖:

5、修改裝置檔案許可權

修改檔案device/rockchip/common/ueventd.rockchip.rc

在/dev/ttyS4                0666   system     system

下面增加一行

/dev/ttyS2                0666   system     system

6、編譯

make ARCH=arm64 bootimage

生成檔案boot.img在目錄out/target/product/nanopc-t4

make ARCH=arm64 nanopi4-images

生成檔案kernel.img 和resource.img 在Kernel目錄下

7、燒寫更新的映象即可

修改過程中遇到的問題

1、如果除錯串列埠直接作為普通串列埠使用,最好把uboot也改了,因為在uboot啟動過程中串列埠如果有資料過來的話,會進入命令列,系統就起不來了。這裡就不寫修改方法了,rk3399原來用的uart2c,我現在使用了uart2b,就繞過了這個問題。

2、Android應用出現 You do not have read/write permission to the serial port錯誤,按照步驟5修改裝置檔案許可權

3、出現 bootconsole [uart0] disabled錯誤並卡住一分多鐘,按照步驟4修改啟動引數檔案parameter.txt,可以解決這個問題

如有疑問,發我郵箱[email protected]