导航

随笔分类 -  开发笔记

摘要:如今,PC势弱,手机、平板大行其道,安卓、苹果、win三大平台混战,设备厂商苦之久矣!我们的产品是一个基于usb连接的设备,为了方便用户使用,以及争取最多的二次开发厂商支持,我们希望这样usb设备是这样的 --1. 无论win32还win64都不需要另外安装驱动程序就能连接2. 安卓下不需要root... 阅读全文

posted @ 2015-07-22 22:06 xhawk18 阅读(1821) 评论(0) 推荐(1)

摘要:用过realtek rtl8188, rtl8723的WIFI/BT芯片,罗列一些bug ---1. rtl8723和android ics 4.04整合,发现bluetooth只能用一次,下次开机bluetooth就失效了,必须清数据分区。。。2. rtl8188和android ics 4.04... 阅读全文

posted @ 2014-09-19 22:42 xhawk18 阅读(2199) 评论(5) 推荐(0)

摘要:夜深人静时,写了几行代码的插件。希望大家喜欢。安装此插件后 --1. 已选了文本时,按F3会搜索选中的文字2. 不选文本时,按F3会搜索上一次搜索的内容3. 既没选文本,又无上一次的搜索时,跳出选择对话框完全的Ultraedit风格.下载地址:http://npp-f3-plugin.googlecode.com/svn/tags/安装办法:解压Npp_F3_Plugin_1.0.zip,将其中的jN.dll 和 jN 目录,原样复制到notepad++的安装目录下的 plugins 目录下。C:\Program Files\Notepad++\plugins\jNC:\Program Fil 阅读全文

posted @ 2014-01-05 03:08 xhawk18 阅读(1947) 评论(2) 推荐(1)

摘要:问题出在usbtouch_irq case -ECONNRESET: case -ENOENT: case -ESHUTDOWN: case -EPIPE: /* this urb is terminated, clean up */ dbg("%s - urb shutting down with status: %d", __func__, urb->status); return;当出现EPIPE错误时,驱动并未做太多处理。然后,就没有然后了,触控屏从此不动了!触控屏厂家老板带着他的小姨子跑了!什么时... 阅读全文

posted @ 2013-10-24 09:37 xhawk18 阅读(4878) 评论(2) 推荐(0)

摘要:前段时间支持客户的项目,对方的串口始终调试不通。仔细检查程序,发现问题所在 --设置串口的某个参数,写 opt.c_cflag &= ~(OPOST)实际上,OPOST是 c_oflag上的属性,用在c_cflag上,显然不对,这也导致串口不通。奋战一夜,找到一个字母的bug,我肋个去。。客户的代码,来自一篇流传甚广的网文,找到一个链接如下。http://hi.baidu.com/zxchao/item/fd888110f2138ff8ddeeca72果然天下程序一大抄,你抄我来我抄他,哈哈。大家对串口编程时,可参考上面链接中的文章,但是其中是有bug的。一般人我不告诉他。(转载请标明 阅读全文

posted @ 2013-10-10 02:53 xhawk18 阅读(312) 评论(0) 推荐(0)

摘要:xhawk整合过很多触控屏的驱动,这是最紧张的一次。以前碰到的触控屏,无非就是将驱动代码放到linux kernel下面,加下i2c设备,然后再看看屏幕是否旋转,大小是否对,三下五除二,效果就出来了。这次的elan屏,有两种接口,usb口和i2c口的。先说usb口触控屏,它是 “免驱” 的,插上windows直接可以使用。我肋个去~~ android/linux素好源码,恶 “免驱”。何不一试?也许运气不错!将屏幕连接到系统一看,有戏!/dev/input下面成功的出现了新的event2和mouse2设备。再到安卓界面上试试看,咦,没反应?再 cat /dev/input/event2,发现触 阅读全文

posted @ 2013-10-10 02:32 xhawk18 阅读(1180) 评论(2) 推荐(0)

摘要:1. 先安装32位库 sudo apt-get install liblzo2-dev:i3862. 然后备份 /usr/lib/i386-linux-gnu/liblzo2.a /usr/lib/i386-linux-gnu/liblzo2.so3. 安装64位库 sudo apt-get install liblzo2-dev4. 将第二步备份的库,恢复到原始位置 阅读全文

posted @ 2013-09-12 10:05 xhawk18 阅读(1106) 评论(0) 推荐(0)

摘要:bing小朋友吐槽google算错了减法,39999999999999999 - 39999999999999998 竟然不等于1,而是0.凭着对技术的敏感性,xhawk想,百度不会也算错了吧。于是验证下,果不其然,百度也算错了减法。。百度啊百度,你让老夫太失望了。。有图为证!(先搜索100+100,进入百度计算器,然后点高级,可以自由输入表达式,验证结果。)你们说这是为什么哩?(转载请标明:http://www.cnblogs.com/xhawk18/)(以下为凑200字)(以下为凑200字)(以下为凑200字)(以下为凑200字)(以下为凑200字)(以下为凑200字)(以下为凑200字) 阅读全文

posted @ 2013-07-27 15:34 xhawk18 阅读(1272) 评论(9) 推荐(0)

摘要:年前做过一款Android 2.3,用飞思卡尔iMX5的系统,过了几天猪狗不如的生活。。终于搞定。有了上次经验,这次用iMX6做Android 4的平台,就顺畅了很多。第一天,下载系统下载飞思卡尔的iMX6安卓软件包。下过来后,按照文档的指示,下载repo,克隆各种git仓库路径。。网速太慢,晚上放着下。。第二天,编译系统第二天早上一看,代码全下好了,好现象!还是按照文档,编译uboot,kernel,boot.img,system.img等各部分。期间遇到编译错误若干,还好都不难解决,基本上还是编译iMX5安卓时遇到的老问题,还有就是linux编译机器要装一个软件包。大半天的功夫,编译完成。 阅读全文

posted @ 2013-06-01 23:01 xhawk18 阅读(2544) 评论(2) 推荐(0)

摘要:C++ lambda函数,当函数参数用复制的方式捕获时,参数存放在哪里呢?开始以为在栈里,好像不对。带着这个疑问,写一段递归函数,将参数的地址打出来看看。参考代码如下:#include #include void fun2( std::function callback ) { (callback)(); } void fun1(int n) { if(n <= 0) return; printf("stack address = %p, ", &n); fun2([n]() { printf("capture address = %p\n" 阅读全文

posted @ 2013-05-30 23:49 xhawk18 阅读(2078) 评论(0) 推荐(0)

摘要:bug是这样的,装配好的iMX6板子。再次开机后,停留在uboot,无法正常启动进入安卓系统。拆机时,同事看到,板子有根针脚歪了,碰到另一根。于是将管脚拨正,板子神奇的正常运行了。再观察这个板子的外壳结构,变歪的针脚边上,有个螺丝孔。于是恍然,整个bug过程是这样的 ---1. 板子安装时,螺丝顶住了一个针脚,这个针脚是 uboot 的串口TX引脚。2. uboot的串口TX针脚被顶后,和旁边的针脚靠在一起,这个被靠的是uboot的RX针脚。3. 于是uboot启动时,写往TX的数据,都原封不动的传回给RX管脚。RX上收到了数据。。 uboot启动时,不是说 Press Any Key 进入u 阅读全文

posted @ 2013-05-30 23:01 xhawk18 阅读(158) 评论(0) 推荐(0)