rk3399调试串口改为普通串口步骤
1、本人使用的开发板是友善的NanoPC-T4,Android7.1.2,要吐槽一下友善了,对于这个平台,感觉资料太少,技术支持不到位,可能由于多年不碰Linux底层的原因,遇到了很多问题,在此记录下来,防止忘记。
参考:https://itbbs.pconline.com.cn/soft/53926357.html
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]