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]