您的位置:首页 > 其它

这半年来工作的一个总结

2013-02-05 11:25 204 查看
时光如梭,转眼间已经出来工作半年多了,在这半年时间里,我的工作和生活都发生了巨大的变化,我从一个懵懂的大学生变成了一个进入职场的社会人,生活上的变化就不会不说了,这不是我写这篇博客的用意,这篇博客主要是为了对半年来的工作有一个梳理。

毕业以后我进入了安防行业,随着时间的推移,我也慢慢逐渐解开了这个行业的神秘面纱,也算是稍稍入了行,嵌入式行业,不外乎一“软”一“硬”而已。呵呵。。。说的好像有点嚣张,不过还好这只是写给自己看的,类似于笔记。

进入这个行业以前,把这个行业想的太过神秘,以为安防行业需要硬件工程师从电路原理图,pcb,画板,制版等等都要亲力亲为,全部自己动手去做,驱动工程师,需要从硬件工程师那里按照芯片首次,电路结构一点一点去设计硬件驱动,而软件工程师则需要完全了解驱动工程师设计得全部细节,然后才能做出开发工作。

现在想想,那种想法竟是如此的幼稚,像这种十分成熟的行业,早就有很多相应的芯片厂商,这些芯片厂商,比如安霸,TI,海斯,中兴力维等等,早就已经做出了很多成熟的解决方案,这些解决方案成熟到甚至连上软件的部分功能都已经封装好了,至于硬件电路设计原理图,PCB,硬件驱动更不用做太多修改。

横向扩展到相关的嵌入式行业,都是这个样子,所以,嵌入式行业是相通的。

现在对工作内容做一个总结:

这半年来,我通过阅读相应的软件开发文档、芯片手册和sdk等等,熟悉了一个芯片的工作特点。这是我对前端设备和后端设备的一个理解,首先,一个前端设备(IP摄像机)工作不外乎包括:sensor采集,DSP压缩编码,ARM打包处理,网络模块发送。一个后端设备(NVR)的并作包括:从网络接受前端设备发送过来的数据包,或者存储录像,或者解码器解码送到播放器播放。

工作中遇到的问题,首先一个成功的嵌入式产品的诞生十分不易,他需要硬件工程师,驱动工程师,软件工程师一起努力,前期对产品的规划,设计阶段,软件的架构等等都十分重要。

现在说说我在工作中遇到的问题,%60是设计的逻辑错误和代码的低级错误;%25是对芯片的了解不够深入,包括预读芯片的开发文档不够仔细,对芯片的工作流程,工作原理不够了解;%10左右的BUG来自硬件问题,硬件问题一般是很致命的;剩下的%5可能是软件架构,芯片架构,编码器,解码器等等其他的原因,而这类原因出现的BUG则是十分隐藏的,而且十分棘手,一般很难解决,可能需要依赖芯片厂商,专业的编解码技术人员来排查和解决。

举几个例子,我参与过一个项目是用安霸芯片来做的一款网络摄像机,由于安霸芯片较为封闭,而且安霸芯片自身也存在一些缺陷,有一个问题就是由于音频驱动导致的,音频驱动导致ARM始终频率发生变化,导致ARM从DSP取帧的时候存在时钟混乱,从而有丢帧的现象,后来通过安霸提供个一个接口,重新设置了一下DSP时钟频率,使其与ARM时钟频率相匹配就解决了。后期发现IPC存在严重的稳定性问题,再三排查,发现居然也是音频模块导致的,安霸的音频模块和我们的音频模块加载的时候,需要对音频设备进行判断,至于音频设备存在时才能去加载音频设备驱动,最后问题得到了解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: