这半年来工作的一个总结
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存在严重的稳定性问题,再三排查,发现居然也是音频模块导致的,安霸的音频模块和我们的音频模块加载的时候,需要对音频设备进行判断,至于音频设备存在时才能去加载音频设备驱动,最后问题得到了解决。
毕业以后我进入了安防行业,随着时间的推移,我也慢慢逐渐解开了这个行业的神秘面纱,也算是稍稍入了行,嵌入式行业,不外乎一“软”一“硬”而已。呵呵。。。说的好像有点嚣张,不过还好这只是写给自己看的,类似于笔记。
进入这个行业以前,把这个行业想的太过神秘,以为安防行业需要硬件工程师从电路原理图,pcb,画板,制版等等都要亲力亲为,全部自己动手去做,驱动工程师,需要从硬件工程师那里按照芯片首次,电路结构一点一点去设计硬件驱动,而软件工程师则需要完全了解驱动工程师设计得全部细节,然后才能做出开发工作。
现在想想,那种想法竟是如此的幼稚,像这种十分成熟的行业,早就有很多相应的芯片厂商,这些芯片厂商,比如安霸,TI,海斯,中兴力维等等,早就已经做出了很多成熟的解决方案,这些解决方案成熟到甚至连上软件的部分功能都已经封装好了,至于硬件电路设计原理图,PCB,硬件驱动更不用做太多修改。
横向扩展到相关的嵌入式行业,都是这个样子,所以,嵌入式行业是相通的。
现在对工作内容做一个总结:
这半年来,我通过阅读相应的软件开发文档、芯片手册和sdk等等,熟悉了一个芯片的工作特点。这是我对前端设备和后端设备的一个理解,首先,一个前端设备(IP摄像机)工作不外乎包括:sensor采集,DSP压缩编码,ARM打包处理,网络模块发送。一个后端设备(NVR)的并作包括:从网络接受前端设备发送过来的数据包,或者存储录像,或者解码器解码送到播放器播放。
工作中遇到的问题,首先一个成功的嵌入式产品的诞生十分不易,他需要硬件工程师,驱动工程师,软件工程师一起努力,前期对产品的规划,设计阶段,软件的架构等等都十分重要。
现在说说我在工作中遇到的问题,%60是设计的逻辑错误和代码的低级错误;%25是对芯片的了解不够深入,包括预读芯片的开发文档不够仔细,对芯片的工作流程,工作原理不够了解;%10左右的BUG来自硬件问题,硬件问题一般是很致命的;剩下的%5可能是软件架构,芯片架构,编码器,解码器等等其他的原因,而这类原因出现的BUG则是十分隐藏的,而且十分棘手,一般很难解决,可能需要依赖芯片厂商,专业的编解码技术人员来排查和解决。
举几个例子,我参与过一个项目是用安霸芯片来做的一款网络摄像机,由于安霸芯片较为封闭,而且安霸芯片自身也存在一些缺陷,有一个问题就是由于音频驱动导致的,音频驱动导致ARM始终频率发生变化,导致ARM从DSP取帧的时候存在时钟混乱,从而有丢帧的现象,后来通过安霸提供个一个接口,重新设置了一下DSP时钟频率,使其与ARM时钟频率相匹配就解决了。后期发现IPC存在严重的稳定性问题,再三排查,发现居然也是音频模块导致的,安霸的音频模块和我们的音频模块加载的时候,需要对音频设备进行判断,至于音频设备存在时才能去加载音频设备驱动,最后问题得到了解决。
相关文章推荐
- 写在冬日的第一天--一个女程序员第六年工作总结
- 一个工作十年的程序员的总结
- 同一个项目的不同的项目工作经验总结--程序员甲
- 职场新人半年工作总结
- Iphone客户端程序员半年工作总结
- 生活点滴--半年的工作总结
- 可下钻的Highchart图,工作中用到的,总结了一个小例子,超级实用
- 最近半年工作总结
- 一个工作快八年的老IT人士这几年沉浮总结的职场经验教训
- 总结一个需求架构师在新产品做的几步工作
- 一个工作快八年的老IT人士这几年沉浮总结的职场经验教训
- 在杭州远程维护半年深圳东莞某大客户的工作审批流程软件组件-异地维护软件系统感受总结
- 工作总结33 财务系统在IE6下每打开一个新窗口就会丢失session
- 一个工作两年程序员的总结(很好)
- 在杭州远程维护半年深圳东莞某大客户的工作审批流程软件组件---异地维护软件系统感受总结
- 一个工作快八年的老IT人士这几年沉浮总结的职场经验教训
- 一个菜鸟程序员几年的工作体会与总结
- 一个程序猿的工作五年的总结和感悟!与君共勉!
- Iphone客户端程序员半年工作总结
- javaEE异常总结——更换工作空间向同一个tomcat上部署同一个项目时出现问题解决