IPCM UART使用参考
1. 概述¶
本文主要介绍IPCM UART以及其使用,包括简单的原理以及多路串口的配置说明,方便配合用户端使用多路串口。
2. 关键词¶
UART ttyS0 ttyS1 ttyS2
3. HW 原理图介绍¶
3.1. 公版电路图说明¶
关于UART的电路图做简单的说明, BGA package EVB,对应chip来说我们是有五路UART port :
-
CON2 for debug UART
-
CON20 for 2nd debug UART
-
CON19 for UART(optional)
-
JP123 for FUART
-
JP124 for FUART TEST CON
如下图:
3.2. EVB uart pad介绍¶
在内部有五路debug uart,公版电路图上显示pad,对应EVB的board亦有五路pad。Debug UART 仅供系统 logging 与 debug 使用。
每一个具体的board上对应的接口都可以配置具体的uart(可以通过缓存器将所有的uart都通过一个pad 来测试,可以通过敲缓存器实现测试)。
4. IPCM UART SW配置方法¶
IPCM 的uart与具体的pad配置流程如下:
-
在
linux-4.9\arch\arm\boot\dts\mercury6.dtsi
aliases { console = &uart0; serial0 = &uart0; serial1 = &uart1; serial2 = &fuart; serial3 = &uart2; serial4 = &uart3; }; ……. uart0: uart@1F221000 { compatible = "sstar,uart"; reg = <0x1F221000 0x100>; interrupts= <GIC_SPI INT_IRQ_UART_0 IRQ_TYPE_LEVEL_HIGH>; status = "ok"; clocks = <&CLK_uart0>; };
该文件是linux系统的设备树配置文件,该档中的uart0对应在系统中通过命令查看到的ttyS0-ttyS4
如下:
对应配置文件说明如下:
在板子中查看uart设备相关信息可直接cat ms_uart文件,如下:
也可以通过命令行查看如下:
5. 测试UART¶
-
在网上dump一个开源的测试程序,点击获取参考程序。
按照如下方式下载即可:
下载后的文件如linux-serial-test.c
-
编译下载的serial_test.tar.gz
包含makefile以及serial_test.c档,然后操作如下步骤:
tar xzvf serial_test.tar.gz cd serial_test make
然后去bin目录下取可执行文件serial_test
具体操作如下:
-
EVB board上对应的JP-Connection都可以配置具体的uart
对应pc端的连接
-
将服务器mount的一个目录mount到板子上
/home/gavin.ran/gavin_demo/serial_test
用在board上执行:
mount -t nfs -o nolock 172.21.28.81:/home/gavin.ran/gavin_demo /system/vendor
然后
cd /system/vendor/serial_test
进行 测试。