瑞芯微rk3128串口(uart)配置

*****************************************************************

注:文章版权、论点归创视微-王建忠所有,转载请注明

*****************************************************************

画了一个给智能家居的用tvbox的板子,用到串口数传。所以需要配置串口。


rk3128上有3组串口。

uart2用于debug。

uart1用于蓝牙

uart0,给外部串口数据传输用。有点少了。不过毕竟3128是tvbox版本的芯片,价格便宜总不能要求和3288一样多。


废话少说,开始正题。

瑞芯微肯定已经把串口驱动都集成进去了。具体的串口流程我就不讲了,不懂的自己搜索linux串口开发。我这里就直接讲uart0如何配置就好了。

打开3128/kernel/arch/arm/boot/dts/rk312x.dtsi

找到

	uart0: serial@20060000 {
		compatible = "rockchip,serial";
		reg = <0x20060000 0x100>;
		interrupts = ;
		clock-frequency = <24000000>;
		clocks = <&clk_uart0>, <&clk_gates8 0>;
		clock-names = "sclk_uart", "pclk_uart";
		reg-shift = <2>;
		reg-io-width = <4>;
		dmas = <&pdma 2>, <&pdma 3>;
		#dma-cells = <2>;
		pinctrl-names = "default";
		pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
		status = "disabled";
	};

将status = “disabled”;修改成status = “okay”;

然后编译kernel。

由于rk3128是不开放root。所以,要再权限文档里,加上chmod 777 /dev/ttyS0


然后在windows电脑上,用串口调试助手在测试:

发送数据

echo csw uart0 test... > /dev/ttyS0(在adb shell窗口)

这时候,串口调试助手应该接收“csw uart0 test...”

接收数据

cat /dev/ttyS0(在adb shell窗口)

用串口调试助手发送数据。

这时候,执行adb shell的命令窗口会打印数据。


你可能感兴趣的:(驱动开发)