rk3399打开串口和使用gpio功能

一 、GPIO使用

我们直接参考\kernel\drivers\misc\5v_en.c

就会有

 [*] RGF GPIO gpio driver (NEW)

编译出 .o文件先

Dlt 上面有两个led 红和绿

LED_CTL   GPIO4_D1

一个脚控制

LED_CTL 控制之后,就绿灯,否则 红灯!

二、TTL串口功能打开

从 rk3399.dtsi 中

aliases {

i2c0 = &i2c0;

i2c1 = &i2c1;

i2c2 = &i2c2;

i2c3 = &i2c3;

i2c4 = &i2c4;

i2c5 = &i2c5;

i2c6 = &i2c6;

i2c7 = &i2c7;

i2c8 = &i2c8;

serial0 = &uart0;

serial1 = &uart1;

serial2 = &uart2;

serial3 = &uart3;

serial4 = &uart4;

dsi0 = &dsi;

dsi1 = &dsi1;

};

可以知道我们 RK3399 有哪些通道

0-8 共9路i2c ,串口就是 0-4 共5路 ,还有两路 mipi等,当然还有其他接口别名没有对应过来

然后我们要想打开 我们对应的串口就

&uart0 {

pinctrl-names = "default";

pinctrl-0 = <&uart0_xfer &uart0_cts>;

status = "okay";

};

&uart2 {

status = "okay";

};

&uart4 {

status = "okay";

};

就可以了,因为dlt3399开发板只引出 uart0  uart2  uart4,所以我们就测试这三路,

其中 uart0 是用在蓝牙的,现在我们蓝牙都已经能工作就说明uart0 是通的,当然 uart2是调试串口,能够看到打印信息,也是同的,现在测试 uart4

通过 adb 查看设备节点

Dev/下 ls 会有 ttyS* 就是我们的 UART 生成对应的节点,

uart4 就对应 ttyS4

我们使用 SerialPort.apk 来测试,然后短接 uart4 的RX和TX脚,自发自收

最后讲下,我们在rk3399基本都是使用到 串口的 中断模式,至于DMA模式不建议大家使用,因为RK3399的CPU性能已经很好了,使用串口传输数据的速度瓶颈现在都在于外部设备了!

你可能感兴趣的:(RK3399项目调试,嵌入式硬件,android,linux)