全志H3平台应用层使用串口出现权限不够问题解决
2017-08-02 17:04
357 查看
目前在使用全志H3完成一个项目,其中涉及到串口和下位机通信的问题,在应用层直接使用了Google开源的一个jni demo进行修改调试(google serial_port demo),应用界面如下:
配置好串口通道和波特率之后,出现了”you dont have read/write permission to the serial port“的提示,平台只留下了一路串口,已经测试串口端口哈选择没有错误,而Android平台波特率也应该是115200,显然,这是因为权限不足导致。而且在测试的时候发现如果选择ttyS2的话就没有权限限制的问题,这证明ttyS2的权限是的打开的,但是ttyS0却没有设置。但幸好这个串口能够打印系统信息出来,那么通过secureCRT工具进入到设备去看看ttyS2 和ttyS0是个什么状态,果然,ttyS2是默认就能够读写的:
而ttyS0的权限为:crw-----,设备很显然是不能够读写的,所以才出现了上述的提示,然后在这里手动修改了ttyS0的权限:chmod 777 dev/ttyS0然后再次通过串口应用demo进进行访问则ok了,这更加证明问题就在于此。那么如何去系统源码里面去修改默认读写权限呢?之前在使用Samsung 6818平台的时候有转过一篇文章:http://blog.csdn.net/zhaoqi2617/article/details/53392495 ,里面也提到了修改相应的init.rc文件,增加权限,但是平台不一样,相应的文件路径也完全不同,名称也可能不同,因此不可能直接搜索得到。但且本平台的ttyS2权限已经有修改过,因此随着这写线索去找ttyS2的权限配置肯定比全局搜索来的快很多,在android
目录下的方案文件夹下面,进入到自己的方案文件夹,可是并没有找到一个像样的.rc文件,搜索了一下ttyS2也没有找到相应的配置线索。于是退回到上一级目录,进入到公版的方案目录内,找到一个init.sun8i.rc的文件,打开后搜索,果然发现了ttyS2的权限配置:
那么肯定要在这里添加ttyS0的权限了,依葫芦画瓢,即:chmod 0777 /dev/ttyS0。退出后保存,准备编译,但是!突然想到个问题,这个是在公版方案里面修改的,我编译的并不是公版方案,能够起作用吗?于是想到肯定在自己的方案目录里面有相应的文件调用或者配置,搜索了自己方案目录内的情况,在方案.mk文件里面有:include device/~~/dolphin-common.mk那么再去看看看dolphin-common.mk文件里面是否有定义:
上图中在dolphin-common.mk文件当中已经对init.sun8i.rc进行了定义,因此反推回去,在common里面进行的配置是能够在自己的方案里面生效使用的。最后编译android部分,刷机。进入到dev/下查看uart0/ttyS0的权限已经变成默认可读写了。
配置好串口通道和波特率之后,出现了”you dont have read/write permission to the serial port“的提示,平台只留下了一路串口,已经测试串口端口哈选择没有错误,而Android平台波特率也应该是115200,显然,这是因为权限不足导致。而且在测试的时候发现如果选择ttyS2的话就没有权限限制的问题,这证明ttyS2的权限是的打开的,但是ttyS0却没有设置。但幸好这个串口能够打印系统信息出来,那么通过secureCRT工具进入到设备去看看ttyS2 和ttyS0是个什么状态,果然,ttyS2是默认就能够读写的:
而ttyS0的权限为:crw-----,设备很显然是不能够读写的,所以才出现了上述的提示,然后在这里手动修改了ttyS0的权限:chmod 777 dev/ttyS0然后再次通过串口应用demo进进行访问则ok了,这更加证明问题就在于此。那么如何去系统源码里面去修改默认读写权限呢?之前在使用Samsung 6818平台的时候有转过一篇文章:http://blog.csdn.net/zhaoqi2617/article/details/53392495 ,里面也提到了修改相应的init.rc文件,增加权限,但是平台不一样,相应的文件路径也完全不同,名称也可能不同,因此不可能直接搜索得到。但且本平台的ttyS2权限已经有修改过,因此随着这写线索去找ttyS2的权限配置肯定比全局搜索来的快很多,在android
目录下的方案文件夹下面,进入到自己的方案文件夹,可是并没有找到一个像样的.rc文件,搜索了一下ttyS2也没有找到相应的配置线索。于是退回到上一级目录,进入到公版的方案目录内,找到一个init.sun8i.rc的文件,打开后搜索,果然发现了ttyS2的权限配置:
那么肯定要在这里添加ttyS0的权限了,依葫芦画瓢,即:chmod 0777 /dev/ttyS0。退出后保存,准备编译,但是!突然想到个问题,这个是在公版方案里面修改的,我编译的并不是公版方案,能够起作用吗?于是想到肯定在自己的方案目录里面有相应的文件调用或者配置,搜索了自己方案目录内的情况,在方案.mk文件里面有:include device/~~/dolphin-common.mk那么再去看看看dolphin-common.mk文件里面是否有定义:
上图中在dolphin-common.mk文件当中已经对init.sun8i.rc进行了定义,因此反推回去,在common里面进行的配置是能够在自己的方案里面生效使用的。最后编译android部分,刷机。进入到dev/下查看uart0/ttyS0的权限已经变成默认可读写了。
相关文章推荐
- Jenkins使用jenkins-cli.jar进行远程调用时出现“ERROR: No such job 'test'”或者权限不够等问题解决(Windows)
- 解决 django1.2环境中使用自带的admin管理界面,配置后访问出现“你无权限修改任何东西” 的问题
- android开发(37) android使用android_serialport_api 操作串口,解决权限问题
- 用ASP.NET做项目,本本上的系统是XP,网上下载了IIS6,安装完后出现HTTP500问题,解决之.接着出现了浏览页面时跳出登陆框让输用户名及密码,GOOGLE了一下,原来是权限不够,解决方法
- android开发(37) android使用android_serialport_api 操作串口,解决权限问题
- 问题:使用scott登录Oracle以后,创建视图,提示“权限不够”,怎么解决?
- centos6.4 下 virt-manager 使用 nfs存储出现的无权限访问问题解决办法
- 解决问题:vs 使用命令行参数调试时出现"当前项目设置指定将使用特定的安全权限对该项目进行调试.在此模式下,命令行参数将不会传递给可执行文件."
- 使用网络目录映射虚拟目录出现 500.19 权限不足问题的一个解决办法
- 解决win2003里IIS运行ASP时出现请求资源在使用中的问题
- 使用Nunit对使用NHibernate的类进行测试出现的问题解决
- 关于使用asp.net调试器出现的问题及相关解决方法
- 安装IE7 Visual Studio出现调试不够权限的解决办法
- 如何解决ADO.NET访问Access数据库出现"操作必须使用一个可更新的查询"的问题
- 蛙蛙推荐:使用FreeTextBox出现脚本错误的问题解决
- 在JBossPortal中使用MySQL5出现数据截断问题的解决方法
- "执行SQL语句时出现问题操作必须使用一个可更新的查询"错误的解决方法
- Oracle出现了问题“无法使用系统回滚段”并解决
- 如何解决ADO.NET访问Access数据库出现"操作必须使用一个可更新的查询"的问题
- 使用hibernate心得——字符串超长的解决办法(setCharacterStream出现顺序问题)