电子工程专辑
UBM China

一位工程师的一周生活写照

上网日期: 2011年08月02日 ?? 我来评论 字号:放大 | 缩小 分享到:sina weibo tencent weibo tencent weibo


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友

关键字:工程师? 生活写照? OMAP3530?

最近有两个项目都挺着急的,尤其是LINUX下OMAP3530接MT9P031的摄像头驱动弄了很长时间。本来是让新来的兄弟负责驱动来着,无奈兄弟没有接触过硬件,也没有linux下视频驱动开发的经验,捣鼓了一个多月还没理清驱动注册的流程,而且也没有什么思绪--的确,这个对一个刚毕业的学生来说的确难度比较大。想着这个项目对今年的计划非常重要,而项目还没赢利,我每月还要拿那么多银子,心里就待不住了。只有硬赶鸭子上树了,不管怎么着,今年的几个项目必须得做出来。上个月设计完一个新板子就马上转移精力到这个驱动开发上了。

开始看到一堆堆代码,一层层的看着就头大的不行。后来在网上查了些驱动架构的资料,又找了些SENSOR的驱动还有一些杂七杂八的材料就泡了起来。到现在现学驱动架构的话时间上来不急了,于是先找了一些OMAP3530相关的摄像头驱动,模拟的、数字的,各个LINUX内核版本下的驱动找了好几个。然后就是总结这些驱动的异同,这些异同一出来,相同的部分参考移植,不同的部分参考修改……只要这些异同不会整理错,直觉告诉我——能成……

计划实施的还算比较顺利,经过一周多时间这些异同都圈出来了,于是开始组装调试自己的驱动。驱动的调试还是挺麻烦的,以前用仿真器习惯了,现在调LINUX下的驱动,真是有力使不出啊。有时候一个小小的疏忽导致LINUX内核都跑不起来,串口什么打印信息也没有,只能使出硬件调试的野路子——在内核编译结果中查打印信息所在的内存地址,连上仿真器,直接去内存里面抓ASC码,抓寄存器……呵呵,相信很多做过N年LINUX开发的都没有见过这么干的……没有办法,虽然土,但也还有效果。

一位工程师的一周生活写照(电子工程专辑)

设备注册上了……

I2C检测到了MT9P031传感器型号(起初两块样板都有焊接问题,无法进行I2C通讯)……

OMAP3530 ISP输出时钟有了……

MT9P031设置通过了……

MT9P031锁相环配置通过了,所有输出与预期一致……

感觉每天都会有进展,心里总会不停的激动,似乎总能感觉到自己渴望的东西离自己越来越近,似乎就要能听到它的呼吸。

上周末的时候截取到了疑似图像帧,当前景亮度明显变化的时候可以看到帧内数据有规律的变化。于是断定,它不远了……

这周自己写了一个把MT9P031的BAYER格式图像数据转存bmp文件的应用程序,还写了一个将BAYER格式图像直接显示到电视机的程序。结果前两天都出一些奇怪的图。后来跟老师讨论这个奇怪现象的时候,老师发现了我应用程序里的一个移位的语法错误,修改后bmp文件赫然出现了清晰的图像……这就像不再是听它呼吸,而是看到了它清秀可人的面庞!虽然表面淡定,可心里还是那啥……

下一页:最后一个关键问题


1???2?下一页?最后一页





我来评论 - 一位工程师的一周生活写照
评论:
*? 您还能输入[0]字
分享到: 新浪微博 qq空间
验证码:
????????????????
?

关注电子工程专辑微信
扫描以下二维码或添加微信号“eet-china”

访问电子工程专辑手机网站
随时把握电子产业动态,请扫描以下二维码

?

5G网络在提供1Gbps至10Gbps吞吐量方面具有很好的前途, 并且功耗要求比今天的网络和手机都要低,同时还能为关键应用提供严格的延时性能。本期封面故事将会与您分享5G的关键技术发展,以及在4G网络上有怎样的进步。

?
?
有问题请反馈
推荐到论坛,赢取4积分X