CubieBoard博客-HomeCubieTech公司网站

cubie.cc CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 3455|回复: 0

CubieBoard6 uart口读写测试

[复制链接]

14

主题

0

好友

5854

积分

论坛元老

Rank: 8Rank: 8

贡献
1086
金钱
2505
威望
1086
买家信用
卖家信用
积分
5854
发表于 2017-4-27 16:33:46 |显示全部楼层
本帖最后由 bill 于 2017-4-27 16:40 编辑

在CubieBoard6上有uart0-uart7共7组uart口,uart2和uart3分别被蓝牙和调试串口所用,目前验证空置能用的uart口有uart0和uart4,下面会在CB6(android)平台和PC(ubuntu)平台相互传输数据来验证uart口是否能通。

第一步,先在kernel下的dts文件中把uart0和uart4口打开。
  1. serial@b0120000 {
  2.                 clock-frequency = <48000000>;
  3.                 pinctrl-names = "default";
  4.                 pinctrl-0 = <&serial0_state_default>;
  5. //              actions,enable-dma-rx;
  6.                 status = "okay";
  7.         };
复制代码
  1. serial@b0128000 {
  2.                 clock-frequency = <48000000>;
  3.                 pinctrl-names = "default";
  4.                 pinctrl-0 = <&serial4_state_default>;
  5. //              actions,enable-dma-rx;
  6.                 status = "okay";
  7.         };
复制代码
另外发现uart4串口定义需要修改才能使用,这个需要查看cpu的datasheet,发现在MFP_CTL3寄存器的11、 10 、9 和8位可以设置成UART4,所以在kernel下的dts文件的加上"mfp3_11_10" //UART4_RX   "mfp3_9_8"//UART_TX.
  1. serial4_state_default: serial4_default{
  2.        serial_4{
  3.        actions,groups = "mfp3_11_10" ,"mfp3_9_8", "uart4_dummy";
  4.        actions,function = "uart4";
  5.         };
  6.                 };
复制代码
第二步,编译kernel,生成dtb文件,文件目录如下

owl/out/s500_android_gb5_wxga/kernel/arch/arm/boot/dts/actduino_s500_lcd_1280x800.dtb
将该文件push到CB6的misc目录下,替换掉原有的kernel.dtb文件,重启即可生效

重启后,dts配置成功生效,用串口查看CB6 会出现/dev/ttyS0和/dev/ttyS4两个节点,并给予节点权限
  1. chmod 777 /dev/ttyS*
复制代码
第三步,搭建测试环境,连接pc和CB6

在CB6安卓上安装apk(serialport apk,在网上搜索即可)
PC(ubuntu):直接在软件中心下载serial port terminal工具

根据原理图、丝印图和拓展pin定义表找到相应的UART0_TX、UART0_RX、UART4_TX和UART4_RX,原理图等硬件资料都能在论坛的“国内下载”找到。

根据下列2张图找到UART0_TX 、UART0_RX和GND,用串口线连接好PC和CB6。





在PC(ubuntu)上打开刚下载的串口工具,配置好端口(本机是ttyUSB0)和波特率(115200),并在CB6上打开串口工具apk,同样配置好端口(ttyS0 对应UART0)和波特率(115200)








UART0发送测试:
CB6上的apk界面如下,点击“send01010101”发送数据到PC(ubuntu)



PC(ubuntu)串口工具会接收数据,表示uart0口发送数据没问题,UART0_TX可用,如下图所示





UART0接收测试:

另外在PC(ubuntu下),用串口工具发送数据



点击CB6串口APK的“Console”按钮,如下图,CB6正常接收到数据,表示UART0_RX可用




同理UART4的验证也是一样,找到CB6上对应的拓展pin,和主机PC互联,其他步骤都基本一致。
另外PC是windows系统也是可以测试的,只是工具不同,其他都大同小异





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

QQ|Archiver|手机版|邮件群发|cubie.cc---深刻的嵌入式技术和应用讨论中文社区 ( 粤ICP备13051116号-1  

GMT+8, 2020-1-23 07:57 , Processed in 0.015105 second(s), 6 queries , Apc On.

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc. | Style by Coxxs

回顶部