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 ...
随机推荐
- JMS学习(二)- JMS Message Model 组成介绍及消息头详解
一.前言 从本文起依次详细介绍JMS中的一些重要的概念,主要参考了官方的JMS1.1的文档,该文档很老了,是02年的,那年,JAVA还没有被Oracle收购..本文主要介绍Message及其相关概念, ...
- Yii2学习笔记之场景
场景 一个模型可能在多个场景中使用,在不同的场景中,模型可能使用不同的业务逻辑和规则.例如, User 模型可能在用户登录时使用,也可能在用户注册时使用,某些属性可能在用户注册时强制要求有,在用户登录 ...
- Spring框架之AOP
SpringAop: 1.加入 jar 包 com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver ...
- Jquery_Ajax GET方式传递文本
第一个网页: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. ...
- 在Hadoop平台跑python脚本
1.开发IDE,我使用的是PyCharm. 2.运行原理 使用python写MapReduce的“诀窍”是利用Hadoop流的API,通过STDIN(标准输入).STDOUT(标准输出)在 ...
- elasticsearch索引的增删改查入门
为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口. RESTful接口URL的格式: http://localhost:9200/<index>/&l ...
- ABAP SY-SUBRC 使用过程中返回值的几种含义
当进行Debug的时候,经常会遇到"SY-SUBRC"的返回值.具体如何使用.在各种语句下返回值. ================= FUNCTION MODULE (或RFC中 ...
- andriod 带看括弧的计算器
界面 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=& ...
- Android-BaseLine基础性开发框架
比较基础性的Android快速开发框架Android-BaseLine,Android-BaseLine实现的功能远远没有其他框架多,一个很好的框架不应该显得太过臃肿,很多功能一般情况下我们可能用不到 ...
- Android中使用抖动动画吸引来用户注意
原文:http://www.androidcn.org/topic/552e65bc61d460226ab27a5c 在应用中,有时候我们要吸引用户去点击某些按钮,比如应用市场的推荐按钮,为了能够吸引 ...