日积月累
bengold1979
这个作者很懒,什么都没留下…
展开
-
实现Macbook Air/安卓手机/苹果手机日历同步
工作这么久后,最急需解决的问题是什么?时间管理!良好的时间管理能极大的提升工作效率。时间管理工具有很多资料和方法,比如番茄工作法之类的。我暂时还不需要用这个时间管理模型。 最简单,最容易使用的工具就是日历。对,你没有看错,是日历。 无论是iOS,还是Android,windows都有日历工具。过去,我母亲喜欢在老式纸张的台历上用笔记录。她会把一些值得纪念,或是重要的事情都在挂历或台历上写下来。她年纪大了,说是要用这些作为日后的回忆。也许这是老人家为了未来记性不好...原创 2021-07-02 22:35:59 · 1934 阅读 · 0 评论 -
从UCWEB的夜间模式想到的
最近在我的HTC8125上安装了UCWEB7.0版。发现一个新特性——夜间模式。试了下,对于我在关灯的室内上网浏览网页确实效果很好,不会伤我的眼睛。之前,都是白底黑字,在晚上特别刺眼。现在这种模式下好多了。不过我想,那些网站是否也应该除了考虑小屏幕阅读器的网页浏览效果外,还要考虑这种人性化模式下,网页配色的适配了。因为,之前网页设计时的设想被彻底推翻了。很有可能这种新的人性化设计,会使原创 2010-03-20 22:39:00 · 1033 阅读 · 0 评论 -
终于调通6085和Marvell8688了
在每天工作12小时,持续5天的高强度环境下终于调通了Marvell8688和高通6085的SDIO总线通信。其实SDIO总线通信没有什么很复杂的东西。但是不知道为何开始就是不顺。在完全排除硬件问题的情况下,软件作了无数次code,build,link,test,还加了无数多的日志打印信息语句。从日志中看,状态寄存器就是有些让人无法理解的现象。没办法,给高通提SR,但是回复太慢。终于拿到原创 2010-03-20 21:57:00 · 1597 阅读 · 1 评论 -
解决了USB中suspend和resume的一个问题
我们公司GSM部门有个双模智能手机的项目。MTK平台和EVDO平台通过USB进行通信。结果在项目测试过程中发现,当MTK做HOST控制EVDO做Device时,HOST控制Device进行suspend和resume状态切换过程中发现状态出现故障。即设备进入suspend之后无法被唤醒。刚开始MTK认为是我们的问题。我们自己验证发现,该功能没有问题。于是让对方换PC做HOST验证。但是原创 2010-03-14 20:05:00 · 7107 阅读 · 1 评论 -
Marvell8688模块调试
这周终于能确认硬件连接Marvell8688没有问题了。之前一直出现CMD5指令超时的情况。当时换Atheros6002的模块也超时。因为当时是自己手工飞线焊的,所以也无法十分肯定是硬件问题还是飞线或软件的问题。后来换了一块WIFI模块板后CMD5指令通讯成功。于是终于松了口气,确认软件没有问题了。于是找硬件同事查WIFI的DEMO板故障,最后发现是有两个电阻没有贴上去。真是雷人得很,原创 2010-03-06 21:16:00 · 1667 阅读 · 0 评论 -
USB的插入检测机制
自USB集线器的每个下游端口的D+和D-上,分别接了一个15KOm的下拉电阻到地。这样,当没有设备插入时,端口被拉低。而设备端的D+或D-会接一个15KOm上拉电阻,接到3.3V电源。其中全速和高速设备,在D+上接上拉电阻;而低速设备在D-上接上拉电阻;设备接入集线器后,接了上拉电阻的一端的电压经过上下拉电阻分压,降为3V左右。对集线器的接收端来说就是一个高电平。集线器检测到这个高电平原创 2010-03-05 10:04:00 · 5047 阅读 · 2 评论 -
读书Flex3
抽空看看该书原创 2009-10-13 21:42:00 · 533 阅读 · 0 评论 -
usb mass storage设备枚举过程
8月份从PC开发岗位换到底层嵌入式驱动开发来了。接到的第二个活,是在高通8650平台上实现驻留支持SCSI指令。8650平台是高通推出的EVDO RevB的双核平台,和之前6085相比性能更强,软件结构也有了大的变化。就拿我要实现的这个功能来说,之前6085的驻留文件部分,USB部分处理基本可以采用自己逻辑实现。但是8650就不太好处理了,因为它走的是高通的HSU方式。这个新机制的特点原创 2009-10-11 22:17:00 · 3154 阅读 · 0 评论 -
做个带菜单选项的批处理
最近因为工作需要编译生成指定的目标文件。于是上网搜了下批处理制作选项菜单的资料,修改了下高通6085平台编译文件的批处理文件。echo ========================================echo # Select Menu of Makefile for projects #echo # Items:原创 2009-08-11 15:08:00 · 5183 阅读 · 0 评论 -
阅读《敏捷软件开发(Agile Software Development——The Cooperative Game)》
前两天在《程序员》这本杂志上看到一篇讲敏捷开发中的需求分析的文章。仔细看了一下,似乎略有所悟。自己理解它的意思主要是:需求文档要尽可能简略、尽可能用故事来说明。这和我之前所在通过CMMI4的公司的软件工程中所作的不太一样。在那里,我们尽可能详细编撰需求文档、概要设计文档、详细设计文档以及单元测试案例。以便于在各个关键里程碑将产出物提交给评审委员会或项目管理委员会。如果按照我所理解到原创 2009-05-24 16:24:00 · 876 阅读 · 0 评论 -
死锁的处理
看uCOS-II的资料的时候看到如下信息,觉得有用所以单独记录下来。解决死锁问题的简单方法是让每个任务都:先得到全部需要的资源再做下一步的工作;用通用的顺序去申请多个资源;释放资源时使用相反的顺序;原创 2009-07-24 16:54:00 · 898 阅读 · 0 评论 -
一个自定义备份数据格式
备份数据的数据格式数据头 数据包(包含设备当前版本的XML和关键NV参数) CRC校验值数据头结构: 序号 数据长度(BYTE) 数据含义 典型取值1 8 备份数据头 “ZTEMTVER”2 1原创 2009-07-21 14:20:00 · 807 阅读 · 0 评论 -
google test09年5月30升级到1.3.0版本
google test最新版本1.3.0已于5月30日提交用对比工具对比了一下与1.2.1的差异。头文件和实现文件都有些变化。我们来具体看看两个版本中有何差异:gtest-death-test-internal.h文件变动1、用宏GTEST_HAS_DEATH_TEST && GTEST_OS_WINDOWS控制io.h头文件的包含。2、原创 2009-07-16 11:08:00 · 812 阅读 · 0 评论 -
阅读《反模式》一书后感
反模式,是什么?估计很多人第一眼看到这个词会和我一样感到奇怪和困惑。这种困惑在我看完此书的简要介绍后变的更浓了。因为我已经被里面纷繁复杂的名词和解释搞晕掉了。本来我都有些想放弃这本书的阅读了,不过想想领导说看完书后要给大家讲讲收获的,我又在借阅单上写了自己的名字。如果什么都没有得到就不看了,到时候我如何和大家交流读后感呢?我只能硬着头皮往后看。 当这本书,我开始看原创 2009-02-06 21:06:00 · 981 阅读 · 0 评论 -
移动支付解决方案提供商——Tyfone
今天在浏览科技新闻的时候,无意中看到一条消息是关于移动支付的。出于职业本能,了解了一下其特点。Tyfone在一张小型存储卡上实现了安全的移动支付解决方案。这种方案的优势在于,任何带SD插槽的手机都可以使用。从其网站上的介绍来看,应该是任何支持SD插槽移动设备都可以,而并不一定局限于手机。不过似乎在手机上还是需要安装一个软件才行。这个软件已经支持绝大多数手机操作系统了。这个信息反映出移动原创 2010-03-20 22:48:00 · 1238 阅读 · 2 评论 -
项目中的需求
本来以为给美国做项目,项目管理应该比较规范的。结果从开始到现在快结束,都没有接触过任何规范的文档。想想之前的形式CMMI公司,至少还有需求文档、概要设计、详细设计、单元测试用例(自测)、产品说明书、系统白皮书、方案设计说明书等文档。现在倒好,这些文档从来没写过,也基本没见过。好吧,没有关系。但是功能说明书,一旦确定,那么基本所有的研发设计活动就有据可依。原创 2010-08-01 20:30:00 · 616 阅读 · 0 评论 -
MTK平台驱动调试的资料
最近要从事MTK6260平台方面的开发工作。工作内容包括BSP调试及部分功能的代码移植。之前没有接触过这类工作内容,所以在网上查找了一些资料,并添加到自己的博客上,方便自己查找。以下为其他人的资料:详解MTK平台驱动调试指南GPIO设置篇http://mobile.51cto.com/others-289088.htmMTK平台驱动调试笔记http://blog.china转载 2013-02-03 11:20:54 · 4680 阅读 · 2 评论 -
WinCE6 RIL驱动开发日志(四)
这两天通过反复打印日志终于解决了RIL_Dial不能将AT指令发到串口的问题。因为之前在网上看前人做RIL层驱动开发时,都没有提到过类似的问题。具体问题描述如下: RIL层驱动成功加载后,写一个WinCE的APP,先调用RIL_Initialize接口做RIL初始化操作。然后直接调用RIL_Dial来进行拨号,但是没有成功。通过日志来看,确定是由于由一个全局变量gRadioOff原创 2012-11-10 23:04:19 · 1015 阅读 · 0 评论 -
WinCE 6 RIL层驱动开发日志(三)
进行RIL层驱动开发已经接触了一个月了。对于整体开发环境也比较熟悉了。现在总结一下,WM6/WinCE6/WinCE7的RIL层开发注意事项; 众所周知WM6是基于WinCE5的。所以其开发环境结构主要是借助于Platform Builder for Windows Mobile 5.0的工具加上EVC,以及微软授权的AKU包。其可以与WinCE6开发环境共存。不过,必须先安装,原创 2012-11-02 21:08:10 · 1221 阅读 · 0 评论 -
BCM4330无法使用客户MAC地址问题解决办法
之前调试4329都没有这个问题,结果4330遇到了问题。后来同事发现是有个宏没有定义导致。打开宏后可以利用高通的NV447项来定制自己的WIFI MAC地址了。但是后来发现作为Wifi的Client无法连上热点了。开始没有头绪,只知道与打开客户化MAC地址的宏有关。但由于对WIFI协议不是很熟,所以无法正面分析问题的原因。没办法,只能用对比法。用DDMS对比异常和正常的日志记录。终于发现异常里面查原创 2012-10-24 21:22:30 · 1430 阅读 · 0 评论 -
WinCE的RIL驱动开发日志(二)
熟悉WINCE的RIL层开发已经有一段时间了。从之前什么都不懂,到现在有点感觉了。基本搞清楚WINCE下RIL层驱动开发要做什么具体工作了。下面整理一下我的思路,抛砖引玉供大家参考。如有描述不周的地方也希望各位指正。 第一步是要在组件中添加ril组件。这样在系统中会添加ril.dll库。我理解这个dll库包含了RIL的MDD层。然后将模拟平台中PDD目录拷贝到实际硬件平台下面,编原创 2012-10-21 21:57:20 · 1191 阅读 · 0 评论 -
WinCE RIL层驱动开发日志(一)
想想,最近几年做的工作还真是杂。现在要开始做WinCE RIL层驱动开发了。这块完全是新东西,而且要在3个月左右出东西,真是伤脑筋。现在只能赶鸭子上架了。整了3天,买了块6410的开发板,环境总算是在一个地方搭好了。公司的环境反而还没搭建成功,在家里算是搭好了。先要做好前期资料的储备,以便后面一边学习,一边动手尝试。 首先是RIL介绍和说明:http://blog.csdn.ne原创 2012-09-09 18:44:16 · 1465 阅读 · 0 评论 -
摄像头休眠后预览图像出现撕裂现象
这是一个很奇怪的故障现象。有时打开相机,工作很正常,有时预览画面刷新缓慢,甚至出现画面撕裂现象。但是由于开始一段时间一直没有找到规律,一直忽略为硬件问题。后来通过反复尝试和观察,终于发现与熄屏和休眠有关联。即只要屏幕熄灭再打开,或者休眠再唤醒打开照相机则会出现该现象。 在高手的告知下,得知照相机主要有三个关键电源:IO、ACORE、DCORE;于是找硬件同事查了原理图,自己去焊了原创 2012-09-09 19:11:30 · 2532 阅读 · 0 评论 -
Android2.3.4开放串口权限接口
最近一个客户要求我们的BSP能提供串口和GPIO控制的接口,以便他们的APK调用。作用是可以在我们的手机模块板上利用硬件的串口接口接到外接模块上,然后通过自己开发的应用程序打开串口与外部模块进行通信。这样,可以灵活的配置各种串口接口的应用模块。如RFID设备、GPS设备等。满足某些特种行业的专业要求。 本身这个功能不是我实现的,结果因为实现者的离职,而且临时有个应用要立即实现。我原创 2012-09-09 19:04:34 · 2940 阅读 · 0 评论 -
Android开发之锁屏运营商名称中文化
我做的2.3.4版本中,发现只要进入图案锁屏界面,则运营商名称都是英文。即使我已经设置了中文。可是普通锁屏就是正常的。那么说明并不缺少中文资源文件。然后我在LockScreen.java中添加了调试日志,发现打印出来的carrier字符串是乱码,那么也应该是找到了对应的中文字符。可为什么就是在屏幕上显示英文呢?这使得我十分疑惑。 后来在我一筹莫展的时候,同事告诉我,问题根源的文件原创 2011-11-20 21:56:52 · 3477 阅读 · 1 评论 -
高通Android手机软件开发培训
为期两天的高通Android手机软件开发培训结束了。这次高通针对QSC7x27/7x25/QSD8x50的基带芯片进行了两天的Android手机软件开发培训。参加人员都是我这样的各个OEM厂商的软件开发人员。这次难得的机会是我转到底层驱动开发以来,自己争取的。本来安排的两个人都没有空,只有我这个新丁有空闲来。正好这次的基带芯片都是双核的,我们现在手头上也在做着双核的项目,我也有幸参原创 2009-12-10 20:43:00 · 5679 阅读 · 10 评论 -
高通QSC61X5平台
最近开始看高通的QSC61X5平台相关资料,主要是蓝牙这部分。原创 2010-12-22 22:17:00 · 1272 阅读 · 1 评论 -
ZTE PEEL
ZTE PEEL11月14日已经正式在美国上市。原创 2010-12-22 22:05:00 · 1058 阅读 · 0 评论 -
C++中关于new的用法
前天参加了科室的初级职称考试,内容当然是围绕C++和一些简单相关平台的知识。其中有一道判断题:new得到的内存一定是在堆上。答案是否定的。 这道题我错了,而且好像还有几个同事和我犯了一样的错误。后来在一个C++学习群里,找人讨论了一下,自己写了几行代码验证了一下。结论是:可能得到静态区域地址或栈上地址。 理论基础:new(buf) Type()得到的内存地址就是在b原创 2008-11-23 10:19:00 · 1015 阅读 · 0 评论 -
ATM模拟演示软件之通信组件
从今天起,决定自己做个ATM的模拟演示软件。在设计中尽量考虑用设计模式来处理,也是为了巩固自己这段时间看设计模式书籍的成果。另外该演示软件主要专注于核心功能,界面展示这个层次只用console来处理。核心模块尽量做成DLL,可以方便上层使用任何语言来调用构建UI。 今天先设计一个socket来处理通信组件模块。ATM演示软件系统需要包括一个服务端和一个客户端。尽管功能简单,但原创 2008-11-23 17:26:00 · 1126 阅读 · 0 评论 -
Q130R安装XP操作系统
昨天到淘宝商家拿到一台Q130R,价格为2350(特价)。在去之前就准备好了WINPE系统。拿到机后简单测了一下,屏幕无亮点、暗点、色点,完美屏。人品还不错。其他都简单测试了一下,没有问题后就交钱走人了。 先介绍如何制作Q130R的WINPE环境,以便拿货的时候做简单测试。 因为Q130R不带光驱,所以只能选择U盘或多媒体卡的方式来制作WINPE环境。我之前试过U盘原创 2009-01-09 12:23:00 · 2099 阅读 · 3 评论 -
VC005的一个BUG
看来BUG是任何人都会犯的,连微软也免不了俗。以前倒是对商业软件很虔诚的,不过现在想想,其实都就是那么回事。 这个BUG说大也不大,只要注意一点就可以避免,不会有致命影响。但是说大也大,毕竟影响编译的成功。其实就是工程文件所在路径中不能包含空格。如果包含有空格,则空格以前的被识别为一个*.obj文件,而链接不成功。通常是报LNK1104错误。所以,就算报了错误,也原创 2008-01-04 14:51:00 · 707 阅读 · 0 评论 -
一个select接收socket数据的例子
用select可以减少资源的占用,并发的处理客户端的socket连接请求。下面是一个具体的例子:cout "Starting Server...!" endl; fd_set fdSocket; // 所有可用套节字集合 FD_ZERO(&fdSocket); FD_SET(m_sockfd, &fdSocket); while(TRUE)原创 2008-03-27 21:16:00 · 5682 阅读 · 0 评论 -
MFC下加载自定义真彩色工具条
这两天给自己的一个软件增加自定义工具条,走了不少弯路。在网上也找了很多资料,下了不少例子。可是我怎么对照资料,都没办法把自己的工具条放到街面上。两天下来几乎没有任何进展。今天换了个思路,在资源视图中添加了一个TOOLBAR后,发现竟然OK了。 加载真彩色图片类的头文件:class CTrueColorToolBar : public CToolBar...原创 2008-03-19 16:33:00 · 5309 阅读 · 8 评论 -
Dev-cpp下的一个socket的例子
这两天自己准备做一个小型C/S结构的演示工具,需要用到socket的编程。在网上看了很多帖子,发现许多人都在找“一个简单的socket”例子。而网上大多是对socket编程进行说明。最后看来看去,可能有些人还是摸不到门。我自己也走了几步弯路,才搭起一个C/S结构的小例子。下面,我把这个简单的例子放到自己的日志中,希望能对看到它的人,当然也包括我自己有一个初窥socket编程的概念原创 2008-03-15 20:59:00 · 3690 阅读 · 1 评论 -
C++构造函数相关的一点体会
今早在调试自己手头一个项目的时候,突然发现它不能正常工作了。现象非常奇怪。在这个项目中我使用了临界区来控制线程的同步,结果在进入临界区时出错。 临界区的使用详解,请参考网上相关资料,或本人前面的一篇关于临界区的日志。该项目主要代码如下:// DetectService.hclass CDetectService...{public: CDetect原创 2008-02-20 15:42:00 · 866 阅读 · 0 评论 -
多线程开发学习笔记之线程同步——事件
事件,在我看来就是一种触发机制,即满足某一条件的触发。当线程需要等待某一事件的发生而不是一个资源的解锁,这在接收网络信息包或等待一个已完成某些任务的线程发出信号时非常有用。在Win32系统中,提供了事件对象。事件对象是同步对象中最简单的形式,也是最具有弹性的同步机制。其与互斥量和信号量的区别在于:互斥量和信号量是用于对数据的访问的,而事件是用来发信号表示某一操作已经完成了。事件对象原创 2008-02-18 10:06:00 · 1610 阅读 · 0 评论 -
多线程开发学习笔记之线程同步——信号量
信号量(Semaphore)和互斥量一样,属于内核对象。它自动执行可用资源查询的测试,如果有可用资源,则可用资源的计数减少,从而避免其它线程请求资源。当该线程释放该资源后,可用资源计数增加,则操作系统允许另一个线程请求资源。 信号量与临界区和互斥量的不同在于,它不能被认为属于某个线程。也就是说,一个线程可以等待信号量对象(减少它的资源计数),而另一个线程释放该对原创 2008-02-15 11:18:00 · 2022 阅读 · 0 评论 -
使用C++数据流处理文件时获得实际数据大小
微软的VC中对于文件操作的类CFile中有个成员函数Read,返回值为实际读取数据大小。对于需要循环读取文件的处理来说,可以通过判断实际读取的数据大小来处理最后剩下来的数据。但是,如果使用C++的数据流方式来处理文件时,你会发现read返回值是*this,而不是读取数据的实际大小。也没有其他对应的函数能得到当前实际读取数据的大小。但是我在网上找到一种替代方式:ifstream ifs("d原创 2008-01-30 18:04:00 · 6851 阅读 · 0 评论 -
C语言部门考试,最后两道题总结
考了一下C语言,尽管考得比较简单,但自己还是暴露出一些问题。如将字符串结尾/0等同于了NULL。太不应该了。最后两道编程题,一题考strcmp,一题考strindex。应该说自己思路基本是对的,就是关键位置让自己失利了。 自己下来重新把这两体总结了一下。strcmp的函数重新整理如下:就当作一个积累吧。int strcmp(const char* p原创 2007-11-16 16:01:00 · 734 阅读 · 0 评论