[RK3288][Android6.0] 调试笔记 --- 普通串口的添加
来源:互联网 发布:公司数据管理制度 编辑:程序博客网 时间:2024/05/18 21:41
Platform: ROCKCHIP
OS: Android 6.0
Kernel: 3.10.92
uart0,1,3,4 (普通串口) 用的是同一个串口驱动.
uart2(调试串口)的驱动代码嵌在fiq debugger的code中.
相关的配置在rk3288.dtsi中:
aliases {
serial0 = &uart_bt;
serial1 = &uart_bb;
serial2 = &uart_dbg;
serial3 = &uart_gps;
serial4 = &uart_exp;
......
}
uart_bb: serial@ff190000 {
compatible = "rockchip,serial";
reg = <0xff190000 0x100>;
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <24000000>;
clocks = <&clk_uart1>, <&clk_gates6 9>;
clock-names = "sclk_uart", "pclk_uart";
reg-shift = <2>;
reg-io-width = <4>;
dmas = <&pdma1 3>, <&pdma1 4>;
#dma-cells = <2>;
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
status = "disabled";
};
假设这里要使用uart1,也就是uart_bb, 那么只要在主dts中添加:
&uart_bb {
status = "okay";
dma-names = "!tx", "!rx";
};
另外,由于uart1默认作为base band通信用,所以在.rc修改成你需要的权限
diff --git a/init.connectivity.rc b/init.connectivity.rc
index 71d125a..1e06417 100755
--- a/init.connectivity.rc
+++ b/init.connectivity.rc
@@ -54,10 +54,8 @@ on boot
# bluetooth power up/down interface
chmod 0660 /dev/ttyS0
- chmod 0660 /dev/ttyS1
chmod 0660 /dev/vflash
chown bluetooth net_bt_stack /dev/vflash
- chown bluetooth net_bt_stack /dev/ttyS1
chown bluetooth net_bt_stack /dev/ttyS0
chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type
chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
diff --git a/ueventd.rockchip.rc b/ueventd.rockchip.rc
index b7f45c2..c6d773a 100644
--- a/ueventd.rockchip.rc
+++ b/ueventd.rockchip.rc
@@ -31,6 +31,9 @@
/dev/mirroring 0664 media media
/dev/iep 0660 media media
+#Kris
+/dev/ttyS1 0666 system system
+
# for Sensor HAL
/dev/akm8973 0660 system system
/dev/accelerometer 0660 system system
测试:
可以弄两块板子, 然后将两个一样的串口连接起来,一块收一块发
1.
# cat /dev/ttyS1
2.
# echo test > /dev/ttyS1
OS: Android 6.0
Kernel: 3.10.92
uart0,1,3,4 (普通串口) 用的是同一个串口驱动.
uart2(调试串口)的驱动代码嵌在fiq debugger的code中.
相关的配置在rk3288.dtsi中:
aliases {
serial0 = &uart_bt;
serial1 = &uart_bb;
serial2 = &uart_dbg;
serial3 = &uart_gps;
serial4 = &uart_exp;
......
}
uart_bb: serial@ff190000 {
compatible = "rockchip,serial";
reg = <0xff190000 0x100>;
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
clock-frequency = <24000000>;
clocks = <&clk_uart1>, <&clk_gates6 9>;
clock-names = "sclk_uart", "pclk_uart";
reg-shift = <2>;
reg-io-width = <4>;
dmas = <&pdma1 3>, <&pdma1 4>;
#dma-cells = <2>;
pinctrl-names = "default";
pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
status = "disabled";
};
假设这里要使用uart1,也就是uart_bb, 那么只要在主dts中添加:
&uart_bb {
status = "okay";
dma-names = "!tx", "!rx";
};
另外,由于uart1默认作为base band通信用,所以在.rc修改成你需要的权限
diff --git a/init.connectivity.rc b/init.connectivity.rc
index 71d125a..1e06417 100755
--- a/init.connectivity.rc
+++ b/init.connectivity.rc
@@ -54,10 +54,8 @@ on boot
# bluetooth power up/down interface
chmod 0660 /dev/ttyS0
- chmod 0660 /dev/ttyS1
chmod 0660 /dev/vflash
chown bluetooth net_bt_stack /dev/vflash
- chown bluetooth net_bt_stack /dev/ttyS1
chown bluetooth net_bt_stack /dev/ttyS0
chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type
chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
diff --git a/ueventd.rockchip.rc b/ueventd.rockchip.rc
index b7f45c2..c6d773a 100644
--- a/ueventd.rockchip.rc
+++ b/ueventd.rockchip.rc
@@ -31,6 +31,9 @@
/dev/mirroring 0664 media media
/dev/iep 0660 media media
+#Kris
+/dev/ttyS1 0666 system system
+
# for Sensor HAL
/dev/akm8973 0660 system system
/dev/accelerometer 0660 system system
测试:
可以弄两块板子, 然后将两个一样的串口连接起来,一块收一块发
1.
# cat /dev/ttyS1
2.
# echo test > /dev/ttyS1
0 0
- [RK3288][Android6.0] 调试笔记 --- 普通串口的添加
- [RK3288][Android6.0] 调试笔记 --- 调试串口的更换
- [RK3288][Android6.0] 调试笔记 --- Su添加密码登陆功能
- [RK3288][Android6.0] 调试笔记 --- 伪电池驱动添加
- [RK3288][Android6.0] 调试笔记 --- apk安装添加黑名单
- [RK3288][Android6.0] 调试笔记 --- 隐藏系统状态栏的方法
- [RK3288][Android6.0] 调试笔记 --- display数据帧的dump
- [RK3288][Android6.0] 调试笔记 --- ComponentName的使用
- [RK3288][Android6.0] 调试笔记 --- CPU使用的频率表
- [RK3288][Android6.0] 调试笔记 --- GPU DVFS的控制开关
- [RK3288][Android6.0] 调试笔记 --- RT5640的ctl name列表
- [RK3288][Android6.0] 调试笔记 --- 空格引起的编译错误
- [RK3288][Android6.0] 调试笔记 --- user版本串口只有输出不能输入
- [RK3288][Android6.0] 系统调试串口驱动流程小结
- [RK3288][Android6.0] 调试笔记 --- 移除锁屏功能
- [RK3288][Android6.0] 调试笔记 --- PreviewCallback获取NV12格式数据
- [RK3288][Android6.0] 调试笔记 --- 替换系统签名
- [RK3288][Android6.0] 调试笔记 --- 设置中文为默认输入法
- 2794: [Poi2012]Cloakroom
- 修改Android签名证书keystore作为eclipse默认debug签名证书
- vSphere Client 不能编译版本为10 或更高版本 的虚拟机
- WebGL 3D 数百个 HTML5 例子学习 HT 图形组件
- 百度富文本框ueditor使用教程
- [RK3288][Android6.0] 调试笔记 --- 普通串口的添加
- Qt获取打开,保存文件路径
- 交换排序—快速排序(Quick Sort)
- Java中无参带返回值的使用
- SQL事务
- PHP 面向对象设计原则--单一职责原则
- 关于app更新后部分用户点击icon图标会闪退的问题
- 双调欧几里得旅行商问题 hdu 2224 |hdu 4824 [动态规划]
- Android百分比布局