ThanksView
|
1.问题 我们产品平台为RK3399,工程样机买的核心板,但是核心板只预留了UART0和UART4,还有1个android的调试口,但是我们业务上需要3个业务口,所以需要将rk3399默认的调试口(UART2)改为普通串口 2.修改步骤 (1)配置内核文件 Device Drivers > [*] Staging drivers ---> Android ---> [ ] FIQ Mode Serial Debugger 配置完成之后如下图:
(2)修改文件kernel/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi
(3)修改启动参数文件parameter.txt CMDLINE参数去掉androidboot.baseband=N/A,添加console=NULL,不加这一句启动时会卡住,比原来启动时间延时一分钟多 androidboot.console=ttyFIQ0 改为androidboot.console=NULL 如下图:
(4)修改设备文件权限 修改文件device/rockchip/common/ueventd.rockchip.rc 在/dev/ttyS4 0666 system system 下面增加一行 /dev/ttyS2 0666 system system
(5)如果调试串口直接作为普通串口使用,最好把uboot也改了,因为在uboot启动过程中串口如果有数据过来的话,会进入命令行,系统就起不来了。这里就不写修改方法了,rk3399原来用的uart2c,我现在使用了uart2b,就绕过了这个问题。
(6)编译
3.遗留问题 (1)绕过了UART2C,使用了UART2B做为普通串口,这里还是想用UART2C做为普通串口 (2)RK3399从UART0~4一共有五个串口,除去默认调试口UART2,还有4个,但是核心板中UART1和UART3和以太网功能复用了,以太网是个很常用的功能,所以这里的IO冲突我怀疑有别的解决办法,如果后期还需要UART资源,再来研究
|
三维半岛官网: http://www.thanksview.com
进入首页-
产品展示
物联网与人工智能 -
方案定制
嵌入式系统与液晶屏方案定制开发 -
技术支持
常见问题分析与解决