[RK3288][Android6.0] 调试笔记 --- 普通串口的添加 【转】

本文转载自:http://blog.csdn.net/kris_fei/article/details/54574073

标签: rk3288 串口添加

2017-01-16 14:52 1079人阅读 评论(0) 收藏 举报

版权声明:本文为博主原创文章,未经博主允许不得转载。

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: [email protected] {
  
 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

时间: 2024-11-06 11:06:46

[RK3288][Android6.0] 调试笔记 --- 普通串口的添加 【转】的相关文章

[RK3288][Android6.0] 调试笔记 --- 通用GPIO驱动控制LED【转】

本文转载自:http://m.blog.csdn.net/kris_fei/article/details/69553422 Platform: ROCKCHIPOS: Android 6.0Kernel: 3.10.92 由于板子没有lcd无法得知sd卡升级是否完成,因此使用LED显示.Recovery中升级完成后控制GPIO输出高电平点亮LED. 系统自带GPIO控制驱动:内核已经自带了通用GPIO驱动,可以直接在用户空间操作.路径: /sys/class/gpio[email protec

[RK3288][Android6.0] 调试笔记 --- 替换系统签名【转】

本文转载自:http://blog.csdn.net/kris_fei/article/details/55100299 Platform: RK3288OS: Android 6.0Kernel: 3.10.92 由于项目的apk安装需要shareid为system的权限(不需要高权限的apk是可以正常安装的),一开始我用的是releasekey,导致签名文件不匹配无法安装,因此就替换系统默认platform签名文件. 生成新的签名文件方法参考rk3288/build/target/produ

[RK3288][Android6.0] 调试笔记 --- 录音音量从HAL到APP层会变小问题【转】

本文转载自:http://blog.csdn.net/kris_fei/article/details/72783843?locationNum=9&fps=1 Platform: RockchipOS: Android 6.0Kernel: 3.10.92 现象:录音使用1K正弦波作为数据源做测试,然后比较HAL和APP层dump出来的pcm数据,发现到APP层之后相对HAL层的音量会小很多. 原因:后来发现是因为在HAL层有个叫SPEEX的降噪算法,它会固定的信号有衰减,因此音量变小了.RK

[RK3288][Android6.0] 调试笔记 --- 系统识别不同硬件版本方法【转】

本文转载自:http://m.blog.csdn.net/kris_fei/article/details/70226451 Platform: RockchipOS: Android 6.0Kernel: 3.10.92 需求:硬件版本不一样,通过几个gpio的高低电平来表示不同版本,u-boot/kernel/hal/framework/app层都需要用到,那么可以使用系统自身的参数传递机制以及property API来实现. 以一个gpio为例.改动:u-bootdiff --git a/

[RK3288][Android6.0] 音频调试方法小结【转】

本文转载自:http://blog.csdn.net/kris_fei/article/details/70053135 Platform: ROCKCHIPOS: Android 6.0Kernel: 3.10.92 以rt5631为例,后续遇到再增加. 使用tinyalsa工具确定播放音问题是否在驱动层1|[email protected]:/data # tinycap  test.wav                                        Capturing s

[RK3288][Android6.0] Display驱动初始化流程小结【转】

本文转载自:http://blog.csdn.net/kris_fei/article/details/52584903 Platform: RK3288OS: Android 6.0Kernel: 3.10.92 以MIPI DSI接口的lcd为例. rk_screen.c:读取lcd timing参数.lcd_mipi.c:屏幕mipi配置信息.rk_fb.c:fb驱动.rk3288_lcdc.clcdc controller驱动.rk32_mipi_dsi.c:dsi controller

[RK3288][Android6.0] 系统按键驱动流程分析【转】

本文转载自:http://blog.csdn.net/kris_fei/article/details/77894406 Rockchip的按键驱动位于 kernel/drivers/input/keyboard/rk_keys.c 默认支持的keys在dts中定义: 其中power key作为普通gpio,具有唤醒功能.而其他按键比如,volume up/down 可以通过adc精确读取到gpio的电压值,原理图如下:   和一般的按键一样,驱动是通过内核input子系统来将keys注册供用户

[RK3288][Android6.0] 关于uboot中logo相关知识点小结【转】

本文转载自:http://blog.csdn.net/kris_fei/article/details/76256224 Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 遇到不少网友找不到uboot logo在哪里,其实一开始我也潜意识地去u-boot目录下去找,但是后来发现是在kernel目录下  加载顺序: 1.uboot开机的时候会先去logo分区加载 2.加载失败则尝试从resource分区加载 3.加载失败则尝试从boot分区加载

RK3288以太网的mac地址调试笔记【学习笔记】【原创】

平台信息:内核:linux3.1.0系统:android/android6.0平台:RK3288 作者:庄泽彬(欢迎转载,请注明作者) 邮箱:[email protected] 说明:提供以太网mac地址烧录以及读写的方式 一.功能演示以及说明: 1.1在安卓的文件系统生成如下的设备节点:/sys/kernel/pax_ethernet/mac用于烧录以及读取以太网的mac地址.使用adb命令进行以太网mac地址的烧写以及读写.本质上在使用echo "aa:aa:aa:aa:aa:aa"