- 博客(150)
- 资源 (4)
- 收藏
- 关注
原创 从UCWEB的夜间模式想到的
最近在我的HTC8125上安装了UCWEB7.0版。发现一个新特性——夜间模式。试了下,对于我在关灯的室内上网浏览网页确实效果很好,不会伤我的眼睛。之前,都是白底黑字,在晚上特别刺眼。现在这种模式下好多了。不过我想,那些网站是否也应该除了考虑小屏幕阅读器的网页浏览效果外,还要考虑这种人性化模式下,网页配色的适配了。因为,之前网页设计时的设想被彻底推翻了。很有可能这种新的人性化设计,会使
2010-03-20 22:39:00
1096
原创 终于调通6085和Marvell8688了
在每天工作12小时,持续5天的高强度环境下终于调通了Marvell8688和高通6085的SDIO总线通信。其实SDIO总线通信没有什么很复杂的东西。但是不知道为何开始就是不顺。在完全排除硬件问题的情况下,软件作了无数次code,build,link,test,还加了无数多的日志打印信息语句。从日志中看,状态寄存器就是有些让人无法理解的现象。没办法,给高通提SR,但是回复太慢。终于拿到
2010-03-20 21:57:00
1706
原创 解决了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
7410
1
原创 Marvell8688模块调试
这周终于能确认硬件连接Marvell8688没有问题了。之前一直出现CMD5指令超时的情况。当时换Atheros6002的模块也超时。因为当时是自己手工飞线焊的,所以也无法十分肯定是硬件问题还是飞线或软件的问题。后来换了一块WIFI模块板后CMD5指令通讯成功。于是终于松了口气,确认软件没有问题了。于是找硬件同事查WIFI的DEMO板故障,最后发现是有两个电阻没有贴上去。真是雷人得很,
2010-03-06 21:16:00
1762
原创 USB的插入检测机制
自USB集线器的每个下游端口的D+和D-上,分别接了一个15KOm的下拉电阻到地。这样,当没有设备插入时,端口被拉低。而设备端的D+或D-会接一个15KOm上拉电阻,接到3.3V电源。其中全速和高速设备,在D+上接上拉电阻;而低速设备在D-上接上拉电阻;设备接入集线器后,接了上拉电阻的一端的电压经过上下拉电阻分压,降为3V左右。对集线器的接收端来说就是一个高电平。集线器检测到这个高电平
2010-03-05 10:04:00
5394
1
原创 高通6055平台FM音频问题解决
年前高通6055平台的FM音频声音一直很小。当时一直没有找到思路,昨天和前天加班仔细查看高通的文档,对照6055平台音频寄存器的说明文档。然后再对照1110平台的代码,终于发现我们有一个寄存器的值设置有问题。之前同事设置差分方式的地方设置位置出错,没有起到应有的作用。后来修改后发现,FM的声音比之前大了很多,至少能听的比较清楚了。我发现我一般加班都会有些突破,呵呵。初六就不用再加班了!
2010-02-19 16:52:00
2543
原创 年前高通平台驱动调试
最近接了个任务——再6085平台上调试Atheros6002WIFI模块。按理说,高通已经把工作都做完了,我没什么好做的了。可是一直都不是很顺。首先,我拿到的模块是SD插卡式的。结果我的开发板上没有焊大SD插槽,只有一个TF插槽。没办法,只能自己用排线飞了。 飞完后,好像怎么都没有按照预期的运行。跟踪日志,发现似乎这个任务没有启动。给高通提了SR,高通只是简单的告诉我要查
2010-02-16 19:51:00
4489
1
原创 高通Android手机软件开发培训
为期两天的高通Android手机软件开发培训结束了。这次高通针对QSC7x27/7x25/QSD8x50的基带芯片进行了两天的Android手机软件开发培训。参加人员都是我这样的各个OEM厂商的软件开发人员。这次难得的机会是我转到底层驱动开发以来,自己争取的。本来安排的两个人都没有空,只有我这个新丁有空闲来。正好这次的基带芯片都是双核的,我们现在手头上也在做着双核的项目,我也有幸参
2009-12-10 20:43:00
5882
9
原创 USB Masstorage设备驱动开发需要做的工作
好长时间没有写日志了。主要是现在的工作内容受高通授权的法律约束,不能随便乱写了。不过自己的解决思路和分析方法还是可以自己总结一下。 最近做的比较多的就是实现U盘功能。而U盘功能的驱动开发重点有两个: 一、设备的枚举 这个部分,我之前已经写过一篇日志加以说明。这里就不再详细阐述。 二、SCSI指令处理 对于U盘来说需要注意几个关键SCSI指令
2009-12-03 09:55:00
2098
原创 usb mass storage设备枚举过程
8月份从PC开发岗位换到底层嵌入式驱动开发来了。接到的第二个活,是在高通8650平台上实现驻留支持SCSI指令。8650平台是高通推出的EVDO RevB的双核平台,和之前6085相比性能更强,软件结构也有了大的变化。就拿我要实现的这个功能来说,之前6085的驻留文件部分,USB部分处理基本可以采用自己逻辑实现。但是8650就不太好处理了,因为它走的是高通的HSU方式。这个新机制的特点
2009-10-11 22:17:00
3346
原创 三十而立
今天是祖国六十周年庆典之日,也是我而立之时。很多人都会问我为什么没有叫国庆?我笑着回答,这个名字叫的人太多了。其实是因为父亲也算有文化人的原因吧。回首这三十年,人生的历程很多都被遗忘了。保留下来的记忆也都支离破碎,也许再过2年,这些支离破碎的残存,也会被一些新的元素所替代。而立之年,意味着男人应该有所立足之本了。看看自己,似乎立足不稳。房子——勉强算有了;家庭——有了;子女——有了;事
2009-10-01 22:30:00
828
原创 做个带菜单选项的批处理
最近因为工作需要编译生成指定的目标文件。于是上网搜了下批处理制作选项菜单的资料,修改了下高通6085平台编译文件的批处理文件。echo ========================================echo # Select Menu of Makefile for projects #echo # Items:
2009-08-11 15:08:00
5363
原创 死锁的处理
看uCOS-II的资料的时候看到如下信息,觉得有用所以单独记录下来。解决死锁问题的简单方法是让每个任务都:先得到全部需要的资源再做下一步的工作;用通用的顺序去申请多个资源;释放资源时使用相反的顺序;
2009-07-24 16:54:00
981
原创 一个自定义备份数据格式
备份数据的数据格式数据头 数据包(包含设备当前版本的XML和关键NV参数) CRC校验值数据头结构: 序号 数据长度(BYTE) 数据含义 典型取值1 8 备份数据头 “ZTEMTVER”2 1
2009-07-21 14:20:00
929
原创 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
881
原创 等额还款本金法
等额还款本金法类声明:#ifndef RETURNSAMECAPITAL_H_INCLUDED#define RETURNSAMECAPITAL_H_INCLUDED#include "LoanBase.h"/** /brief class CReturnSameCapital * Description: 等额本金还款类; */class CReturnSameCapital
2009-05-24 16:45:00
1066
原创 阅读《敏捷软件开发(Agile Software Development——The Cooperative Game)》
前两天在《程序员》这本杂志上看到一篇讲敏捷开发中的需求分析的文章。仔细看了一下,似乎略有所悟。自己理解它的意思主要是:需求文档要尽可能简略、尽可能用故事来说明。这和我之前所在通过CMMI4的公司的软件工程中所作的不太一样。在那里,我们尽可能详细编撰需求文档、概要设计文档、详细设计文档以及单元测试案例。以便于在各个关键里程碑将产出物提交给评审委员会或项目管理委员会。如果按照我所理解到
2009-05-24 16:24:00
976
原创 等额本息还款公式
贷款计算基类:#ifndef CLOANBASE_H_INCLUDED#define CLOANBASE_H_INCLUDED#include #include #include class CLoanException : public std::exception{ std::string m_str;public: CLoanExcepti
2009-05-18 17:56:00
2178
原创 一个素数算法
上次面试中最后一道题跟计算素数有关。尽管我写出了总体思路,但实质上并不会写算素数的算法。今天在看事件机制的资料的时候,看到一个求素数的算法。特地记录下来,以备用。 //////////////////// Helper fn to test if number p is prime:// Try dividing by all primes found so far, u
2009-05-11 16:51:00
793
原创 测试员与程序员如何相处
作为一个开发者,我不止一次从同事或是书上的故事上听到程序员对测试人员的抱怨:“他们怎么能这样测?他们不懂这个东西?他们总是把注意力放在无关紧要的地方?”等等,诸如此类。而也许这个时候,测试人员想的则是,为什么这个东西会有这么多问题呢?测试流程总是被一些小问题打断,没法流畅进行。今天又要加班了。 据我所知,大部分公司找测试人员的标准要比研发人员的标准要低。研发的标准
2009-05-10 19:01:00
2788
原创 M8的SDK
今天到魅族的网站上下了M8的SDK,并安装到我的机器上了。看了下他的开发包内容,应该是直接将CE的SDK经过包装后发布的。他们封装了一些自己的API在里面,以取代WINCE的系统API。个人觉得对于界面控件的封装还不错,至少不要客户再对界面显示的细节作更多的考虑。当然如果你想创造自己的风格界面应该也是可以的,具体需要深入研究。反正我准备在WM上做些开发尝试,不如就在M8上做尝试算了。万一他们能做的
2009-05-08 19:27:00
785
原创 使用C++流对象打开文件的注意事项
用C++的流对象操作文件时,如果文件路径包含中文字符可能会出错。需要设置中文环境才能正确打开文件。解决方式如下:std::locale loc = std::locale::global(std::locale(""));m_s.open(m_str.c_str());std::locale::global(loc); 加上了这个类似设置环境变量的语句后,打开文件的路径中包含中
2009-05-08 19:12:00
1119
原创 在Ubuntu8.04下用CB的C++调用Python3.0代码
最近比较忙,好久没有在博客上更新自己的技术文章了。这两天研究了一下C++调用Python的实现,也算是跟上时代的潮流吧。毕竟用编译型语言调用解释型语言,能给程序带来极大的扩展性。高通作的生产配置工具(QPST)里面有个很重要的功能,就是支持perl脚本来完成一些生产支持工作。我们的仿照程序则是简单的C++再实现。当出现新需求时,唯一的办法是重新编码,然后编译,测试,发布。当出现软件
2009-04-10 22:02:00
1413
原创 Ubuntu8.04下成功安装Flash Player10
上次卸载了Ubuntu8.04中的所有perl开头的包,结果导致大量桌面程序被同时卸载。眼看情况不妙,我在卸载中途赶紧关机了。第二天回家,开机后,直接进入命令交互模式。其实本来就用命令方式操作也没什么,想当初Dos6.22的时候,拿着本命令教材一样玩的不亦乐乎。不过,也许是被微软惯坏了,所以决定重新安装一遍系统了。说点题外话,开始学电脑的时候,似乎对于重装操作系统很热衷,现在却觉得
2009-03-28 09:12:00
4242
3
原创 OpenGL学习笔记(二)
OpenGL的基本图形元素类型(Primitive Types)包括:GL_POINTS Use this primitive type to render mathematical points. OpenGL renders a point for each vertex specified.点。这个图形元素用来渲染数学意义的点。OpenGL渲染每一个指定的顶点。
2009-03-01 08:07:00
1574
1
转载 OpenGL学习笔记(一)
OpenGL是一种在计算机上进行2D、3D图形绘制的技术规范,严格上来说不能算作一种具体技术。不过,现在有OpenGL库来提供了对这种规范的封装,于是也演变为今天对OpenGL API的使用。 OpenGL需要硬件支持的,就如同对微软DirectX的支持一样。上层应用软件都是通过OpenGL的库接口,驱动硬件完成图形图像的显示和变化。OpenGL的使用可以有单机直接调用和
2009-02-28 12:16:00
771
原创 阅读《反模式》一书后感
反模式,是什么?估计很多人第一眼看到这个词会和我一样感到奇怪和困惑。这种困惑在我看完此书的简要介绍后变的更浓了。因为我已经被里面纷繁复杂的名词和解释搞晕掉了。本来我都有些想放弃这本书的阅读了,不过想想领导说看完书后要给大家讲讲收获的,我又在借阅单上写了自己的名字。如果什么都没有得到就不看了,到时候我如何和大家交流读后感呢?我只能硬着头皮往后看。 当这本书,我开始看
2009-02-06 21:06:00
1062
原创 佳能A610惊魂
今天晚上,更换QQ图像的时候,忽然想到把宝宝的头像放上去。于是把佳能相机中的MMC卡取出,在取出的同时,无意中碰到了电源开关。这个时侯镜头就伸出来了,但是只伸出来一部分。当时我的冷汗就下来了。不会又坏了吧。07年的时候就坏了一次,镜头由于跌落歪了,自己修的时候由于经验不足,导致主板烧掉。总共花了我600大洋。还好老板没有黑我更多。这次难道又要栽了? 到网上搜索了一下“A61
2009-01-21 23:35:00
1048
原创 Q130R安装XP操作系统
昨天到淘宝商家拿到一台Q130R,价格为2350(特价)。在去之前就准备好了WINPE系统。拿到机后简单测了一下,屏幕无亮点、暗点、色点,完美屏。人品还不错。其他都简单测试了一下,没有问题后就交钱走人了。 先介绍如何制作Q130R的WINPE环境,以便拿货的时候做简单测试。 因为Q130R不带光驱,所以只能选择U盘或多媒体卡的方式来制作WINPE环境。我之前试过U盘
2009-01-09 12:23:00
2171
3
原创 2008年终总结
本来应该在2008年最后一天写的。结果因为种种原因没有动手,今天是新年的第一天,无论如何都必须强迫自己对过去的一年作个总结了。 这一年参加了部门的两次考试。第一次考的难点,且那时自己不懂的太多。于是只考了60多分。总结:基础很差。下半年又考了一次,考得很简单。刚刚90分。总结:基础还是不牢。不过自己感觉还是学到了很多东西,虽然还是不够扎实和全面。但是已不像刚开始那么心慌了。也有可能使
2009-01-01 22:05:00
743
原创 银行卡刷卡需注意
前两天在网上看到一个贴子,说到有人在饭店消费结帐刷信用卡签单时,发现自己签单纸下面还有另外用复写纸夹带的另一张消费签单。两张签单帐号都是自己的,只是金额不同。当时向服务员提出异议时,服务员连忙道歉说搞错了。事后此人分析,有可能是服务员将另一桌客人的消费现金收取后,再次用刷卡客人的银行卡结帐。现金可以揽入自己的口袋,而刷卡客户则完成了两笔消费支出。且在刷卡客户大意的情况下,导致两张消费签
2008-11-30 11:19:00
1394
原创 ATM模拟演示软件之通信组件
从今天起,决定自己做个ATM的模拟演示软件。在设计中尽量考虑用设计模式来处理,也是为了巩固自己这段时间看设计模式书籍的成果。另外该演示软件主要专注于核心功能,界面展示这个层次只用console来处理。核心模块尽量做成DLL,可以方便上层使用任何语言来调用构建UI。 今天先设计一个socket来处理通信组件模块。ATM演示软件系统需要包括一个服务端和一个客户端。尽管功能简单,但
2008-11-23 17:26:00
1192
原创 C++中关于new的用法
前天参加了科室的初级职称考试,内容当然是围绕C++和一些简单相关平台的知识。其中有一道判断题:new得到的内存一定是在堆上。答案是否定的。 这道题我错了,而且好像还有几个同事和我犯了一样的错误。后来在一个C++学习群里,找人讨论了一下,自己写了几行代码验证了一下。结论是:可能得到静态区域地址或栈上地址。 理论基础:new(buf) Type()得到的内存地址就是在b
2008-11-23 10:19:00
1092
原创 设计模式之简单工厂
GoF的设计模式一经推出,就引起了各路诸侯的严重关注。从JAVA到C#再到C++,甚至连面向过程为主的C都想染指一番。今天,就从C#出发,推导出C++的代码,并用一个C++的ATM模拟程序来实作(这个词好像是从侯捷先生那学来的,如果我记错了,希望他不会怪我,呵呵)。 我们首先看看简单工厂来描述一个四则运算的UML类图。 呵呵,发现在Ubuntu下使用Firefox
2008-11-18 08:38:00
1502
原创 如何在Ubuntu下将Code::Blocks界面中文化
网上有描述在win下将code::blocks界面中文话的文章,linux下的应该也有,Ubuntu下的有,但是不容易查找。我找了好长一段时间才明白如何做的。本着“我为人人,人人为我”的精神,总结一下Ubuntu下的Code::Blocks界面中文化问题。 我直接在网上安装的Code::Blocks,所以不知道为什么环境设置的界面选项中语言一栏什么都没有。所以必须先要到下面这
2008-11-02 12:44:00
4698
原创 在WM6上开发MFC碰到复制、粘贴的问题
因为工作需要,将PC机上一个小算号工具移植到我的838上。因为有时候可能我离开公司后,有人会找我要一个工具的注册号。本来我可以直接将算号机拷贝到家里的电脑。后来考虑到就当是WM上应用开发的练手,就移植到我的838上了。 PC机上算号机有一个比较方便的功能,就是支持剪贴板功能。这个是个很平常但很方便的功能,在网上可以很方便的搜索到相关的例子,在此就不赘述具体实现了。我当初的打算是在WM
2008-10-17 21:52:00
1434
原创 C++中用struct来作为接口的传递参数
可能对很多C++程序员来说,本来这算不上什么很高深的东西。不过之于我来所说,还是第一次这样传递参数。 起因是我的一个模块有多个函数内部代码类似,技术牛人也是我的直接领导让我用函数模板。晃晃悠悠我用模板完成之后发给他复查。再要求我用结构体来处理每个不同函数的参数,并且对结构体成员赋值要放到构造函数中。我试着按他的思路作了后,发现果然每个接口内部的代码立刻变得简洁很多,而且也利于维护了。
2008-10-17 21:24:00
5003
2
原创 WM6SDK例子学习笔记(一)
在WM6 SDK的通用例子中有一个basicapp的例子。运行的效果就是在WM上出现一个窗口,显示一幅图片,下面左软按键可以切换图片。例子的功能很简单,作为入门学习很好。 下面,我按照自己的理解将这个例子详细分析。 这个例子属于Native的方式,其含义是基本使用的是API编程,而不是基于其他框架开发。也可以叫做“原生态”开发方式。因此有自己的特殊宏定义:#define WIN
2008-09-19 13:06:00
1352
转载 开发 Windows Mobile 应用程序: FAQ
最近入手一台水货838,对WM的应用开发忽然产生了一点兴趣,准备开始自己学习这方面的知识。首先转一篇微软相关文章作为入门吧。原文地址:http://msdn.microsoft.com/zh-cn/library/ms838180.aspx开发 Windows Mobile 应用程序: FAQ 发布日期 : 3/1/2005 | 更新日期 : 3/1/2005 Microsoft C
2008-08-29 14:16:00
939
WM6下的房屋按揭贷款计算器
2009-05-26
WM6下房屋按揭贷款计算器
2009-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅