嵌入式驱动
bengold1979
这个作者很懒,什么都没留下…
展开
-
usb mass storage设备枚举过程
8月份从PC开发岗位换到底层嵌入式驱动开发来了。接到的第二个活,是在高通8650平台上实现驻留支持SCSI指令。8650平台是高通推出的EVDO RevB的双核平台,和之前6085相比性能更强,软件结构也有了大的变化。就拿我要实现的这个功能来说,之前6085的驻留文件部分,USB部分处理基本可以采用自己逻辑实现。但是8650就不太好处理了,因为它走的是高通的HSU方式。这个新机制的特点原创 2009-10-11 22:17:00 · 3189 阅读 · 0 评论 -
Android键盘灯亮度控制
最近4个月的时间,5个人做了两个Android的手机项目:一个2.2.1的,另一个是2.3.4;不知道其他公司是不是也是这样的工作量。对于我们相比之前的项目来说,完全是让我们超长发挥。从之前没有接触过,到目前基本搞通Android框架——主要是底层驱动框架,BSP部分,对于应用层原创 2011-10-05 22:23:43 · 15514 阅读 · 7 评论 -
高通Android手机软件开发培训
为期两天的高通Android手机软件开发培训结束了。这次高通针对QSC7x27/7x25/QSD8x50的基带芯片进行了两天的Android手机软件开发培训。参加人员都是我这样的各个OEM厂商的软件开发人员。这次难得的机会是我转到底层驱动开发以来,自己争取的。本来安排的两个人都没有空,只有我这个新丁有空闲来。正好这次的基带芯片都是双核的,我们现在手头上也在做着双核的项目,我也有幸参原创 2009-12-10 20:43:00 · 5701 阅读 · 10 评论 -
音频的差分与单端输出差别
最近支持一个高通某平台音频问题。听筒接打电话都很正常,但是耳机没有声音,对方能听到。这说明耳机接收通道有问题,发送通道是好的。查看了他们软件代码,CODEC设置的是HEADSET,没有问题。用TRACE跟踪服务、方法设备都是正常的。就是耳机没有声音。没办法了,祭出驱动人员的法宝,查看硬件原理图。一看还真看出点道道:接耳机的两根线,只引出了R,L悬空。查看软件代码中单端输出的ADIE配置,发现默认配原创 2012-03-18 12:29:17 · 19003 阅读 · 0 评论 -
WinCE的RIL驱动开发日志(二)
熟悉WINCE的RIL层开发已经有一段时间了。从之前什么都不懂,到现在有点感觉了。基本搞清楚WINCE下RIL层驱动开发要做什么具体工作了。下面整理一下我的思路,抛砖引玉供大家参考。如有描述不周的地方也希望各位指正。 第一步是要在组件中添加ril组件。这样在系统中会添加ril.dll库。我理解这个dll库包含了RIL的MDD层。然后将模拟平台中PDD目录拷贝到实际硬件平台下面,编原创 2012-10-21 21:57:20 · 1202 阅读 · 0 评论 -
高通7227平台外接UBLOX的GPS模块数据接收不稳定问题
最近遇到一个很奇特的问题。我们在高通7227平台下使用ublox的q5模块。结果发现接收数据解析后在测试软件上显示的时候,不停的跳变。为了排除问题,我们从串口焊了两根引线,接到串口转usb上联到PC上。在PC上安装ublox的测试工具uSetupCenter后,两相对比来排查问题。刚开始,手机上的应用与PC上的信号及强度完全一致。运行一段时间后就发现,手机上的信号出现丢失和跳变。而PC上显示的则非原创 2012-10-22 22:29:45 · 4271 阅读 · 0 评论 -
BCM4330无法使用客户MAC地址问题解决办法
之前调试4329都没有这个问题,结果4330遇到了问题。后来同事发现是有个宏没有定义导致。打开宏后可以利用高通的NV447项来定制自己的WIFI MAC地址了。但是后来发现作为Wifi的Client无法连上热点了。开始没有头绪,只知道与打开客户化MAC地址的宏有关。但由于对WIFI协议不是很熟,所以无法正面分析问题的原因。没办法,只能用对比法。用DDMS对比异常和正常的日志记录。终于发现异常里面查原创 2012-10-24 21:22:30 · 1439 阅读 · 0 评论 -
WinCE6 RIL驱动开发日志(五)
记录两个问题; 其一:自己的驱动每次都不能正常加载到内核,总是需要重新拷贝或用CAB安装。后来仔细研究后发现,原来是放在 MODULES下面的原因。只要移到FILES下面就好了。这两者的区别以后再仔细研究一下; 其二:短信发送;直接调用RIL_SendMsg就可以了。不过这个函数中的最后一个参数有些复杂,需要设置和注意的变量赋值较多。可参考网上有其他前人写的博客原创 2012-11-24 21:18:45 · 829 阅读 · 0 评论 -
WinCE6 RIL驱动开发日志(六)——完结篇
WINCE6下的RIL层开发终于到了完结篇了。其实并不是说没有工作可做了,而是入门的过程基本结束,接下来属于深入和提高的阶段。不过由于目前公司业务调整,暂时不继续这部分工作了。目前自己编写了WINCE下的Aplication Demo验证了接打电话,发送短信、读取短信、设置短信存储类型、查询运营商列表几个API接口,连接和断开网络的RAS调用功能。基本的RIL层接口已经验证OK了。剩下就是具体各应原创 2012-12-21 17:50:22 · 1093 阅读 · 0 评论 -
高通QSC61X5平台
最近开始看高通的QSC61X5平台相关资料,主要是蓝牙这部分。原创 2010-12-22 22:17:00 · 1300 阅读 · 1 评论 -
6085下调试SDIO的问题(完)
上次提高在6085下调试SDIO通信时在19.2M,4Bits写数据没有问题,读有问题。后来发现其实很简单,就是流控问题。不过奇怪的是之前我们曾经关注过流控,不知为何当时没有作用,现在却能起作用了。不管怎么样问题解决了就OK。不过我们最新碰到的问题是SDIO通信的不稳定性。原创 2010-06-16 11:51:00 · 2403 阅读 · 2 评论 -
USB Masstorage设备驱动开发需要做的工作
好长时间没有写日志了。主要是现在的工作内容受高通授权的法律约束,不能随便乱写了。不过自己的解决思路和分析方法还是可以自己总结一下。 最近做的比较多的就是实现U盘功能。而U盘功能的驱动开发重点有两个: 一、设备的枚举 这个部分,我之前已经写过一篇日志加以说明。这里就不再详细阐述。 二、SCSI指令处理 对于U盘来说需要注意几个关键SCSI指令原创 2009-12-03 09:55:00 · 1996 阅读 · 0 评论 -
年前高通平台驱动调试
最近接了个任务——再6085平台上调试Atheros6002WIFI模块。按理说,高通已经把工作都做完了,我没什么好做的了。可是一直都不是很顺。首先,我拿到的模块是SD插卡式的。结果我的开发板上没有焊大SD插槽,只有一个TF插槽。没办法,只能自己用排线飞了。 飞完后,好像怎么都没有按照预期的运行。跟踪日志,发现似乎这个任务没有启动。给高通提了SR,高通只是简单的告诉我要查原创 2010-02-16 19:51:00 · 4246 阅读 · 1 评论 -
高通6055平台FM音频问题解决
年前高通6055平台的FM音频声音一直很小。当时一直没有找到思路,昨天和前天加班仔细查看高通的文档,对照6055平台音频寄存器的说明文档。然后再对照1110平台的代码,终于发现我们有一个寄存器的值设置有问题。之前同事设置差分方式的地方设置位置出错,没有起到应有的作用。后来修改后发现,FM的声音比之前大了很多,至少能听的比较清楚了。我发现我一般加班都会有些突破,呵呵。初六就不用再加班了!原创 2010-02-19 16:52:00 · 2446 阅读 · 1 评论 -
Marvell8688模块调试
这周终于能确认硬件连接Marvell8688没有问题了。之前一直出现CMD5指令超时的情况。当时换Atheros6002的模块也超时。因为当时是自己手工飞线焊的,所以也无法十分肯定是硬件问题还是飞线或软件的问题。后来换了一块WIFI模块板后CMD5指令通讯成功。于是终于松了口气,确认软件没有问题了。于是找硬件同事查WIFI的DEMO板故障,最后发现是有两个电阻没有贴上去。真是雷人得很,原创 2010-03-06 21:16:00 · 1693 阅读 · 0 评论 -
USB的插入检测机制
自USB集线器的每个下游端口的D+和D-上,分别接了一个15KOm的下拉电阻到地。这样,当没有设备插入时,端口被拉低。而设备端的D+或D-会接一个15KOm上拉电阻,接到3.3V电源。其中全速和高速设备,在D+上接上拉电阻;而低速设备在D-上接上拉电阻;设备接入集线器后,接了上拉电阻的一端的电压经过上下拉电阻分压,降为3V左右。对集线器的接收端来说就是一个高电平。集线器检测到这个高电平原创 2010-03-05 10:04:00 · 5108 阅读 · 2 评论 -
解决了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 · 7192 阅读 · 1 评论 -
终于调通6085和Marvell8688了
在每天工作12小时,持续5天的高强度环境下终于调通了Marvell8688和高通6085的SDIO总线通信。其实SDIO总线通信没有什么很复杂的东西。但是不知道为何开始就是不顺。在完全排除硬件问题的情况下,软件作了无数次code,build,link,test,还加了无数多的日志打印信息语句。从日志中看,状态寄存器就是有些让人无法理解的现象。没办法,给高通提SR,但是回复太慢。终于拿到原创 2010-03-20 21:57:00 · 1623 阅读 · 1 评论 -
QSC1110蓝牙调试
简单记录了这两天解决qsc1110平台一个蓝牙问题的过程。原创 2010-07-20 22:34:00 · 1742 阅读 · 0 评论 -
MTK平台驱动调试的资料
最近要从事MTK6260平台方面的开发工作。工作内容包括BSP调试及部分功能的代码移植。之前没有接触过这类工作内容,所以在网上查找了一些资料,并添加到自己的博客上,方便自己查找。以下为其他人的资料:详解MTK平台驱动调试指南GPIO设置篇http://mobile.51cto.com/others-289088.htmMTK平台驱动调试笔记http://blog.china转载 2013-02-03 11:20:54 · 4702 阅读 · 2 评论