Android驱动调试利器Busybox之初体验
工欲善其事必先利其器,之前做WinCE开发时,经常写一些小工具以提高开发调试的效率,如WinCE驱动调试助手、WinCE串口调试助手、WinCE6.0寄存器访问工具、WinCE远程桌面助手和S3C2410 IIC调试助手等,虽然有些功能不算完善,但在实际工作中还是发挥了一些作用。现在搞Android开发,基本不用自己造轮子了,Linux下有瑞士军刀美称的Busybox就足以处理大多数问题。
今天就以测试一个字符设备驱动为例简单介绍下BusyBox的使用。
Busybox官网下载地址:http://www.busybox.net/downloads/binaries/
Android安装Busybox的方法及步骤可参考:http://omappedia.org/wiki/Android_Installing_Busybox_Command_Line_Tools
本例中主要使用了Busybox的hexdump的功能,将从字符设备中读取的数据按照16进制数据帧的方式显示出来,具体过程请看下图。
调试过程中使用到的命令如下:
adb remount adb push E:\busybox /system/bin busybox --install /system/xbin cat /dev/bonovo_key | hexdump -v -e '"[" 6/1 "%02x " "]\n"' echo -n "\x22\x01\x12\x02\x00\x00" > /dev/bonovo_key echo -n "\x22\x00\x12\x02\x00\x00" > /dev/bonovo_key
说明:bonovo_key是一个字符设备,专门处理按键信息,支持从串口设备获取远端MCU发过来的按键信息,也可以由上层应用写入按键信息,然后统一上报给按键处理的应用。利用echo、cat,配合Busybox的hexdump,不用自己编写测试应用就可以验证驱动,真爽!本例只是牛刀小试,Busybox更多强大功能有待发掘。不怕做不到,就怕想不到,各位看官发挥你们的想象力吧!
Android驱动调试利器Busybox之初体验的更多相关文章
- Android百度地图开发01之初体验
做关于位置或者定位的app的时候免不了使用地图功能,本人最近由于项目的需求需要使用百度地图的一些功能,所以这几天研究了一下,现写一下blog记录一下,欢迎大家评论指正! 一.申请AK(API Key) ...
- Android自定义View(一、初体验自定义TextView)
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51454685 本文出自:[openXu的博客] 目录: 继承View重写onDraw方法 自 ...
- 【转】android 电容屏(三):驱动调试之驱动程序分析篇
关键词:android 电容屏 tp 工作队列 中断 坐点计算 电容屏主要参数平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310( ...
- android 电容屏(二):驱动调试之基本概念篇
平台信息: 内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博 ...
- 【转】android 电容屏(二):驱动调试之基本概念篇
关键词:android 电容屏 tp 工作队列 中断 多点触摸协议平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung ...
- 【转】Android LCD(四):LCD驱动调试篇
关键词:android LCD TFTSN75LVDS83B TTL-LVDS LCD电压背光电压 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台 ...
- Android开发学习之路--百度地图之初体验
手机都有gps和网络,通过gps或者网络可以定位到自己,然后通过百度,腾讯啊之类的地图可以显示我们的地理位置.这里学习下百度地图的使用.首先就是要申请开发者了,这个详细就不多讲了.http://dev ...
- 初入android驱动开发之字符设备(四-中断)
上一篇讲到android驱动开发中,应用是怎样去操作底层硬件的整个流程,实现了按键控制led的亮灭.当然,这是一个非常easy的实例,只是略微演变一下,就能够得到广泛的应用. 如开发扫描头,应用透过监 ...
- 初入android驱动开发之字符设备(一)
大学毕业,初入公司,招进去的是android驱动开发工程师的岗位,那时候刚进去,首先学到的就是如何搭建kernel.android的编译环境,然后就是了解如何刷设备以及一些最基本的工具.如adb.fa ...
随机推荐
- python flask应用部署
失败版本:flask+uwsgi ini配置文件 [uwsgi] callable = app ;//程序内启用的application变量名 home = /home/jcuan/code/pyth ...
- ArrayList、Vector、HashMap、HashTable、HashSet的默认初始容量、加载因子、扩容增量
这里要讨论这些常用的默认初始容量和扩容的原因是: 当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全 ...
- JSON数据解析(转)
上篇随笔详细介绍了三种解析服务器端传过来的xml数据格式,而对于服务器端来说,返回给客户端的数据格式一般分为html.xml和json这三种格式,那么本篇随笔将讲解一下json这个知识点,包括如何通过 ...
- MySQL Fabric 分片性能测试
苦逼的人生,开始了新一轮调研.这次是上面要看 MySQL Fabric 分片性能,好吧,开搞. 1 啥是 MySQL Fabric 其实就是一个Python进程和应用端的Connector的组合.来一 ...
- [Azure] Notification Hubs注册模式
[Azure] Notification Hubs注册模式 关于Azure Notification Hubs的注册模式,可以参考下列连结的文件内容. Notification Hubs Featur ...
- jQuery Mobile笔记
1.获取jQuery mobile 文件,访问jQuerymobile网站下载 (貌似使用jquery mobile后,jquery会自动在网页中添加一些class类,第一次知道的我是被吓呆的!!) ...
- SAP 金额在表中的存储及货币转换因子
场景:一个接口出问题了,SAP通过RFC将SO数据传输到Java系统,错误的将100日元传为1.00日元. 其实查看SAP透明表发现,表中存储的的确是1.00,是前台真实数据的1/100,开发接口时没 ...
- SAP中关于用户IP信息的获取(转载)
SAP中如何获取登录用户的IP? 或如何查看哪些IP登录到SAP中: 在Table: USR41中查看,具体字段的说明如下: MANDT --- ClientBNAME --- 登录的 ...
- Disconnected: No supported authentication methods available (server sent: publickey)
安装Git客户端后,进行PULL时报如下错误 disconnected no supported authentication methods available(server sent: publi ...
- 为什么Android应该根据屏幕分辨率来加载不同的图片文件
1.图片在xxhdpi,手机是hdpi的 我们有一个手机是hdpi的.我们还有一个图片,我们把他放在xxhdpi下.当手机显示的时候,系统会去hdpi中找,发现没有图片,最终在xxhpi中找到.终于找 ...