Firefly开源社区

标题: 关于android使用串口问题,板子RK3288(我的操作步骤) [打印本页]

作者: specialshoot    时间: 2015-7-20 12:29
标题: 关于android使用串口问题,板子RK3288(我的操作步骤)
编译环境:Ubuntu14.04 64位
首先按照http://wiki.t-firefly.com/index.php/Firefly-RK3288/Build_android中的操作步骤安装jdk6还有14.04软件包安装,安装 ARM 交叉编译工具链和编译内核相关软件包。
然后执行“下载 PAD 版 Android SDK”的步骤执行。
后面按照http://wiki.t-firefly.com/index.php/Firefly-RK3288/UART进行配置,将
&uart_gps {
        status = "okay";
        dma-names = "!tx", "!rx";
        pinctrl-0 = <&uart3_xfer &uart3_cts>;
};
添加到kernel/arch/arm/boot/dts/firefly-rk3288.dts中
最后make firefly-rk3288.img
将编译生成的kernel.img 和 resource.img通过windows下的AndroidTool工具,选择kernel和resource这两项烧录到开发板中,过程正确没有异常
用PL2303连接板子上的三个串口,连线肯定正确,将ttyS2给权限之后可以收到android板子发送给pc串口调试助手的数据,这时候用串口调试助手给android板子发数据,没有收到。用的代码是android-serialport-api的源码,配置正确。
我从adb shell里/dev目录下没有发现ttyS3串口,用android-serialport-api扫描也没有ttyS3的串口。不止如何解决
作者: zhansb    时间: 2015-7-20 17:54
刚刚按照wiki上添加:
用户只需在 kernel/arch/arm/boot/dts/firefly-rk3288.dts 文件中打开所要使用的节点即可,如下所示:

&uart_gps {
        status = "okay";
        dma-names = "!tx", "!rx";
        pinctrl-0 = <&uart3_xfer &uart3_cts>;
};

编译后有ttyS3的设备。
确认机器用的是编译出来的resource.img?

作者: zhansb    时间: 2015-7-20 17:57
添加uart3的补丁

uart3.rar

300 Bytes, 下载次数: 226, 下载积分: 灯泡 -1 , 经验 -1

添加uart3的补丁


作者: specialshoot    时间: 2015-7-21 09:14
zhansb 发表于 2015-7-20 17:54
刚刚按照wiki上添加:
用户只需在 kernel/arch/arm/boot/dts/firefly-rk3288.dts 文件中打开所要使用的节 ...

是的
作者: specialshoot    时间: 2015-7-21 09:17
zhansb 发表于 2015-7-20 17:57
添加uart3的补丁

请问这个patch怎么用呢
作者: specialshoot    时间: 2015-7-21 09:52
zhansb 发表于 2015-7-20 17:57
添加uart3的补丁


我是这么配置的

作者: zhansb    时间: 2015-7-21 10:54
patch用法百度一下,很多介绍
pad版和默认版试过都有ttyS3,检查一下有没有哪个步骤漏了或者错误

shell@rk3288:/ # ls /dev/tty*                                                  
/dev/tty
/dev/ttyGS0
/dev/ttyGS1
/dev/ttyGS2
/dev/ttyGS3
/dev/ttyS0
/dev/ttyS2
/dev/ttyS3



作者: specialshoot    时间: 2015-7-21 20:32
zhansb 发表于 2015-7-21 10:54
patch用法百度一下,很多介绍
pad版和默认版试过都有ttyS3,检查一下有没有哪个步骤漏了或者错误

实在是搞不定了,步骤应该没错,全是按照文档的来的,就加那几行再重新make一遍嘛,然后再从androidTool上把Resource和Kernel勾选分别把两个make出来的固件放到上面然后run嘛,还是没有
作者: specialshoot    时间: 2015-7-21 20:37
zhansb 发表于 2015-7-21 10:54
patch用法百度一下,很多介绍
pad版和默认版试过都有ttyS3,检查一下有没有哪个步骤漏了或者错误

能不能留个qq,我的操作步骤就是按照你们的文档来的
作者: specialshoot    时间: 2015-7-21 20:38
zhansb 发表于 2015-7-21 10:54
patch用法百度一下,很多介绍
pad版和默认版试过都有ttyS3,检查一下有没有哪个步骤漏了或者错误

都折腾我好三四天了,我有没有操作错误要不要录个视频给你们啊。。。
作者: specialshoot    时间: 2015-7-21 20:48
zhansb 发表于 2015-7-21 10:54
patch用法百度一下,很多介绍
pad版和默认版试过都有ttyS3,检查一下有没有哪个步骤漏了或者错误

qq联系多好,我qq也私信给你了,本来看论坛回复就慢而且我也不可能总开着论坛这个网页,等消息,没事还要看一下或刷新一下。这样效率太低了,毕竟还有别的事情要做
作者: zhansb    时间: 2015-7-22 09:51
QQ平时信息很多,有可能会漏掉。
在论坛交流,可以让其他人也参与进来,分享自己的想法,后面的人也可以学习。
作者: biaon    时间: 2015-10-14 17:32
specialshoot 发表于 2015-7-21 20:38
都折腾我好三四天了,我有没有操作错误要不要录个视频给你们啊。。。

楼主问题解决了没
作者: zfm076    时间: 2016-4-7 16:55
楼主问题解决了么? 我是电脑串口往安卓的串口发东西,用安卓上安装的串口APP没有显示我发的数据。。。
作者: yl586526    时间: 2016-5-19 14:29
支持
作者: xiangxubo    时间: 2016-6-8 21:37
谢谢,正需要
作者: perryzhou007    时间: 2016-8-28 15:59
不错。学习学习
作者: lam007    时间: 2016-9-17 22:31
求解,我的也是这样,使用串口工具,打开串口都是失败的.
作者: dynaglass    时间: 2016-9-19 13:59
我的开发板也是这样的问题,/dev下没有ttyS3

作者: alaode    时间: 2016-9-19 15:34
你把rk3288.dtsi的 串口3打开就行   firefly里的打开就行了。  别的不管

作者: yangkong521    时间: 2016-10-14 19:16
本帖最后由 yangkong521 于 2016-10-19 16:12 编辑

这个坑我终于爬出来了,原因是默认的系统固件的boot.img在编译时将内核编译进去了,如果只是烧写修改的kernel.img和resource.img不会改变系统启动时的内核。所以正确做法是下载系统源码并按照uart的教程修改内核内容并编译内核,同时需要使用 make -j8 对固件进行重新编译,最后使用 ./mkimage.sh 生成各个img。./mkimage.sh不会讲内核编译进boot.img 而 ./mkimage.sh ota 会将内核编译进boot.img(估计下载的编译好的固件使用的是该命令编译的)。随后在/rockdev/Image-rk3288目录下得到各个img文件。最后将编译好的kernel.img resource.img boot.img烧录进去就OK了。系统的编译过程参考wiki中的固件编译,内核文件的配置参考wiki中驱动开发中uart部分。
作者: lushengchu    时间: 2016-10-17 16:14
打包时候不要选ota模式就不会把kernel.img打包到boot.img去了啊
作者: lushengchu    时间: 2016-10-17 16:14
看来你是刚做rk平台不久,嘿嘿
作者: yangkong521    时间: 2016-10-19 16:09
lushengchu 发表于 2016-10-17 16:14
打包时候不要选ota模式就不会把kernel.img打包到boot.img去了啊

捕获.PNG (7.71 KB, 下载次数: 51)

捕获.PNG

捕获1.PNG (8.31 KB, 下载次数: 44)

捕获1.PNG

作者: lushengchu    时间: 2016-10-22 10:40
yangkong521 发表于 2016-10-19 16:09

不对吧,你看我的:
lsc@lsc:~/newDisk2/RK3288_EBOX_DINGSUNG$ ./mkimage.sh
TARGET_PRODUCT=rk3288
TARGET_HARDWARE=rk30board
system filesysystem is ext4
create boot.img without kernel... done.
create recovery.img with kernel and with out resource... done.
create misc.img.... done.
create system.img... ^C
lsc@lsc:~/newDisk2/RK3288_EBOX_DINGSUNG$
作者: billchian    时间: 2016-11-15 14:00
哥们 能不能留个QQ我现在也遇到这个问题了




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1