找回密码
 注册
搜索
查看: 9227|回复: 45

[讨论] 请问做手机驱动有前途么?

[复制链接]
发表于 2005-12-6 11:00:00 | 显示全部楼层 |阅读模式
请问做手机驱动有前途么?
发表于 2005-12-13 17:18:00 | 显示全部楼层

比较而言有前途的

目前国内手机软件开发主要在驱动,MMI,测试,应用软件几个部分,核心的协议栈,L1比较难涉及。比较而言,Driver是最有技术含量的,和底层接触比较多些,技术全面些。条件成熟了还可以写更底层更系统的东西。个人见解。
点评回复

使用道具 举报

发表于 2005-12-16 10:14:00 | 显示全部楼层
<P>个人认为的一个排序:</P><P>驱动</P><P>应用</P><P>界面</P><P>测试</P>
点评回复

使用道具 举报

发表于 2005-12-18 15:14:00 | 显示全部楼层
嘿嘿,看来毕业后搞驱动更有动力了
点评回复

使用道具 举报

发表于 2005-12-19 09:25:00 | 显示全部楼层
界面在测试之前吗?
点评回复

使用道具 举报

发表于 2005-12-19 10:57:00 | 显示全部楼层
<P>什么是MMI?</P>
点评回复

使用道具 举报

发表于 2005-12-20 13:08:00 | 显示全部楼层
<P>本人写过一些Device的底层驱动,如LCD、toch Panel、MP3、Mp4、Audiocodec、Melody、Sensor。 我这儿的“写”需要加个引号,严格的说我只是作了些底层驱动的集成。因为Device厂商一般都会提供最基本的Firmware,你需要做的只是把它们的firmware集成、移植到你的平台来,跟你平台的baseband通信上。</P><P>底层驱动毕竟是直接跟硬件打交道的,所以调试上有些困难。问题出现时,你不知道是硬件物理连线有问题,还是你写的驱动有问题,所以这个调试有一步一步来,而且手边最好配有万用表,示波器等设备。</P><P>下面是我在调试OV9650的一些总结:</P><P><FONT face=宋体>步骤一:读取</FONT><FONT face="Times New Roman">OV9650</FONT>的<FONT face="Times New Roman">ProducaitonID</FONT>寄存器【<FONT face="Times New Roman">0x0A</FONT>】。</P><P 0cm 0cm 0pt"><FONT face="Times New Roman">       </FONT>如果读回来的值为预期的<FONT face="Times New Roman">0x96</FONT>,则表明后端芯片跟<FONT face="Times New Roman">OV9650</FONT>能够<FONT face="Times New Roman">IIC</FONT>通信上。函数如下:</P><P 0cm 0cm 0pt"><FONT face="Times New Roman">       RESULT IsiCheckSensorIss( void )</FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT face="Times New Roman">{</FONT></P><P 0cm 0cm 0pt"><FONT face="Times New Roman">             UINT8 pucValue;</FONT></P><P 0cm 0cm 0pt"><FONT face="Times New Roman">  </FONT></P><P 0cm 0cm 0pt"><FONT face="Times New Roman">             IsiReadRegister(OV9650_BASEADR,OV9650_PID , &amp;pucValue);</FONT></P><P 0cm 0cm 0pt"><FONT face="Times New Roman">             if(pucValue ==0x96)//pid value of OV9650</FONT></P><P 0cm 0cm 0pt"><FONT face="Times New Roman">                  return RET_SUCCESS;</FONT></P><P 0cm 0cm 0pt"><FONT face="Times New Roman">             else</FONT></P><P 0cm 0cm 0pt"><FONT face="Times New Roman">                  return RET_FAILURE;</FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT face="Times New Roman">}</FONT> </P>
<P 0cm 0cm 0pt; TEXT-INDENT: 21pt">步骤二:按<FONT face="Times New Roman">OmniVision</FONT>公司所提供的参数对<FONT face="Times New Roman">OV9650</FONT>进行设置,并进行回读检验。</P><P 0cm 0cm 0pt"><FONT face="Times New Roman">       OmniVision</FONT>公司会提供每种图象尺寸下的<FONT face="Times New Roman">OV9650</FONT>配置参数。通过<FONT face="Times New Roman">IIC</FONT>口把这次参数写到相应的寄存器去。在调试时最好加段代码进行回读检验,以保证我们对<FONT face="Times New Roman">OV9650</FONT>的设置是正确的。在调试完成后,可去除这段代码。</P><P 0cm 0cm 0pt"><p><FONT face="Times New Roman">  </P></FONT></p><p><P 0cm 0cm 0pt">   步骤三:用示波器对<FONT face="Times New Roman">OV9650</FONT>的输出管脚<FONT face="Times New Roman">PClk</FONT>,<FONT face="Times New Roman">HSync</FONT>,<FONT face="Times New Roman">VSync</FONT>进行测量。</P><P 0cm 0cm 0pt"><FONT face="Times New Roman">      </FONT>如果能测到<FONT face="Times New Roman">PClk</FONT>,<FONT face="Times New Roman">HSync</FONT>和<FONT face="Times New Roman">VSync</FONT>信号,并且这些信号是和我们寄存器配置是相吻合的,则表明<FONT face="Times New Roman">OV9650</FONT>已经开始正确工作了。</P><P 0cm 0cm 0pt"><p><FONT face="Times New Roman"> </FONT></p></P><P 0cm 0cm 0pt">   步骤四:配置<FONT face="Times New Roman">OV9650</FONT>为<FONT face="Times New Roman">U</FONT>、<FONT face="Times New Roman">V</FONT>固定值输出,看能否在后端芯片正确接受到固定值的<FONT face="Times New Roman">U</FONT>、<FONT face="Times New Roman">V</FONT>输入。</P><P 0cm 0cm 0pt"><FONT face="Times New Roman">       </FONT>置位【<FONT face="Times New Roman">0x3A</FONT>】寄存器的<FONT face="Times New Roman">bit4</FONT>,同时对【<FONT face="Times New Roman">0x67</FONT>】【<FONT face="Times New Roman">0x68</FONT>】寄存器进行设置,这样<FONT face="Times New Roman">OV9650</FONT>就被配置成固定<FONT face="Times New Roman">U</FONT>、<FONT face="Times New Roman">V</FONT>输出了。为验证全部<FONT face="Times New Roman">8</FONT>跟数据线,建议设置【<FONT face="Times New Roman">0x67</FONT>】为<FONT face="Times New Roman">0x55</FONT>,【<FONT face="Times New Roman">0x68</FONT>】为<FONT face="Times New Roman">0xAA</FONT>。如果能在后端芯片正确接收到<FONT face="Times New Roman">0x55</FONT>和<FONT face="Times New Roman">0xAA</FONT>,则表明<FONT face="Times New Roman">0v9650</FONT>和后端芯片数据通路完好,对控制线的极性理解一致。</P><P 0cm 0cm 0pt"> </P><P 0cm 0cm 0pt"><FONT face="Times New Roman">       </FONT>至此,<FONT face="Times New Roman">OV9650</FONT>跟后端芯片的通信已经基本正确。清空【<FONT face="Times New Roman">0x3A</FONT>】寄存器的<FONT face="Times New Roman">bit4</FONT>,让<FONT face="Times New Roman">OV9650</FONT>输出实际的<FONT face="Times New Roman">U</FONT>、<FONT face="Times New Roman">V</FONT>值。</P><P 0cm 0cm 0pt">    后面的工作就是如何控制后端芯片(Cx832)Marvin功能块来实现图象的Preview/Capture/Resume等功能了。</P>[br]<p align=right><font color=red>+1 RD币</font></p>
点评回复

使用道具 举报

发表于 2005-12-20 16:02:00 | 显示全部楼层

呵呵

有前途啊,我现在就做这个呢
点评回复

使用道具 举报

发表于 2005-12-31 17:25:00 | 显示全部楼层
<P>做驱动和做MMI只能说是各有利弊,MMI的代码可以写得非常非常复杂,我保证做驱动的人看不懂,驱动只要入了门,没什么难的,翻来覆去就那几十行代码。</P>
点评回复

使用道具 举报

发表于 2006-3-9 13:39:00 | 显示全部楼层
<P>我觉得,但就某个技术来说,谈不上谁重要谁不重要,技术不过都只是一个工具。重要的是能开发出好的应用</P>
点评回复

使用道具 举报

发表于 2006-3-9 19:49:00 | 显示全部楼层
<P>我也马上就要进入这个领域了 !好激动</P>[em08]
点评回复

使用道具 举报

发表于 2006-3-9 21:54:00 | 显示全部楼层
<P>9楼的说法很有道理,对于手机研发来说,MMI对于功能以及无线通信之间的逻辑切换设计是非常复杂的,能做出一个稳定和易扩展的调度逻辑结构比写个USB驱动什么的复杂多了</P>
点评回复

使用道具 举报

发表于 2006-3-10 12:01:00 | 显示全部楼层
<P>MM:请问java有前途还是.net有前途?</P><P>GG:说过多少次,重要的是思想而不是语言。</P><P>MM:那java的思想重要还是.net的思想比较重要?</P><P>GG:事实上老板定薪水的思想比较重要!</P>
点评回复

使用道具 举报

发表于 2006-3-11 12:51:00 | 显示全部楼层
<DIV class=quote><B>以下是引用<I>kacro</I>在2005-12-31 17:25:00的发言:</B>

<P>做驱动和做MMI只能说是各有利弊,MMI的代码可以写得非常非常复杂,我保证做驱动的人看不懂,驱动只要入了门,没什么难的,翻来覆去就那几十行代码。</P></DIV>


MMI侧重于结构,Driver侧重于算法与控制时序
风格各有不同,MMI会越写越顺手,越写越简单(如果定义好一个通用、简洁、易扩展的数据结构的话)
Driver就未必,稳定性与速度不能兼顾,当考虑到不同平台兼容与便于移植就要牺牲速度,当为某一个低端平台写的高效驱动就不能通用其他平台
Driver关键部分每写一行就伴随作者无数次的计算与查阅手册,但是那“翻来覆去就那几十行代码”的价值,就比MMI写千行更值钱
点评回复

使用道具 举报

发表于 2006-3-19 13:38:00 | 显示全部楼层
<P>不管在驱动还是应用,能够做的很好就很不错,就很值得继续做下区,有时候没有必要这山望着那山高,这是我个人的看法</P>
点评回复

使用道具 举报

发表于 2006-3-21 21:49:00 | 显示全部楼层
俺已经进入这个领域3天了,有点晕~
不过我会坚持的,祝各位好运
[em07]
点评回复

使用道具 举报

发表于 2006-3-25 18:00:00 | 显示全部楼层
同意15楼的看法
点评回复

使用道具 举报

发表于 2006-3-29 10:49:00 | 显示全部楼层
楼上说驱动问题会有硬件的物理连接,这个和实验室不就完了[em07][em13]
点评回复

使用道具 举报

发表于 2006-3-30 18:02:00 | 显示全部楼层
<P>没什么前途不前途的,写驱动也没多少难度,基本上是看SPEC,读写寄存器,通过总线或I2C之类的接口操作</P><P>本人写过LCM Driver, Melody, Back-end IC, Media DSP ...</P><P>都觉得大同小异。</P>
点评回复

使用道具 举报

发表于 2006-4-5 16:45:00 | 显示全部楼层
<P>从开发手机终端产品来说,技术含量都差不多,主要是做稳定,现在做手机比较有钱途,很难说有前途</P>
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-6 22:21 , Processed in 0.069111 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表