《嵌入式系统学习心得》由会员分享,可在线阅读,更多相关《嵌入式系统学习心得(6页珍藏版)》请在金锄头文库上搜索。
1、嵌入式系统学习心得首先我声明,我是基于嵌入式系统平台级设计的,硬件这个方向我相对来讲比较有发言权, 如果是其它方面所要具备的基本技能还要和我们培训中心其它专业级讲师沟通。 他们的方面上我只能说是知道些,但不是太多,初级的问题也可以问我。对于硬件来讲有几个方向,就单纯信号来分为数字和模拟,模拟比较难搞,一般需要很长的经验积累, 单单一个阻值或容值的精度不够就可能使信号偏差很大。 因此年轻人搞的较少,随着技术的发展,出现了模拟电路数字化, 比如手机的 modem射频模块,都采用成熟的套片,而当年国际上只有两家公司有此技术, 自我感觉模拟功能不太强的人,不太适合搞这个, 如果真能搞定到手机的射频模块
2、,只要达到一般程度可能月薪都在 15k 以上。另一类就是数字部分了, 在大方向上又可分为 51/arm 的单片机类,dsp 类,fpga 类,国内 fpga 的工程师大多是在 ic 设计公司从事ip 核的前端验证,这部分不搞到门级,前途不太明朗,即使做个ic前端验证工程师,也要搞上几年才能胜任。dsp 硬件接口比较定型,如果不向驱动或是算法上靠拢,前途也不会太大。 而 arm 单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极大,而硬件设计最体现水平和水准的就是接口设计这块,这是各个高级硬件工程师相互 pk,判定水平高低的依据。而接口设计这块最关键的是看时序,而不是简单的连接,
3、比如pxa255 处理器 i2c 要求速度在100kbps,如果把一个 i2c 外围器件,最高还达不到100kbps 的与它相接,必然要导致设计的失败。这样的情况有很多,比如 51 单片机可以在总线接 lcd ,但为什么这种 lcd 就不能挂在 arm 的总线上,还有 arm7 总线上可以外接个 winband 的 sd 卡控制器,但为什么这种控制器接不到 arm9 或是 xscale 处理器上,这些都是问题。 因此接口并不是一种简单的连接,要看时序,要看参数。一个优秀的硬件工程师应该能够在没有参考方案的前提下设计出一个在成本和性能上更加优秀的产品,靠现有的方案,也要进行适当的可行性裁剪,但不
4、是胡乱的来,我遇到一个工程师把方案中的 5v 变 1.8v 的 dc 芯片,直接更换成 ldo ,有时就会把 cpu 烧上几个。前几天还有人希望我帮忙把他们以前基于 pxa255 平台的手持 gps 设备做下程序优化,我问了一下情况,地图是存在 sd 卡中的,而 sd 卡与 pxa255 的 mmc控制器间采用的 spi 接口,因此导致地图读取速度十分的慢, 这种情况是设计中严重的缺陷,而不是程序的问题,因此我提了几条建议,让他们更新试下再说。因此想成为一个优秀的工程师, 需要对系统整体性的把握和对已有电路的理解, 换句话说,给你一套电路图你终究能看明白多少,看不明白 80%以上的话,说明你离
5、优秀的工程师还差得远哪。其次是电路的调试能力和审图能力, 但最最基本的能力还是原理图设计 pcb 绘制,逻辑设计这块。这是指的硬件设计工程师,从上面的硬件设计工程师中还可以分出 ecad 工程师,就是专业的画 pcb 板的工程师,和 emc设计工程师,帮人家解决 emc的问题。硬件工程师再往上就是板级测试工程师, 就是 c 语功底很好的硬件工程师, 在电路板调试过程中能通过自已编写的测试程序对硬件功能进行验证。然后再交给基于操作系统级的驱动开发人员。总之,硬件的内容很多很杂,硬件那方面练成了都会成为一个高手,我时常会给人家做下方案评估,很多高级硬件工程师设计的东西,经常被我一句话否定, 因此工
6、程师做到我这种地步,也会得罪些人,但硬件的确会有很多不为人知的东西,让很多高级硬件工程师也摸不到头脑。那么高级硬件件工程师技术技能都要具备那些东西哪,首先要掌握 eda 设计的辅助工具类如protelorcadpowperpcbmaplux2ise 、vdhl 语言,要能用到这些工具画图画板做逻辑设计, 再有就是接口设计审图能力, 再者就是调试能力,如果能走到总体方案设计这块, 那就基本上快成为资深工程师了。硬件是要靠经验,也要靠积累的,十年磨一剑,百年磨一针。把一个月前想写的东西,今天终于用一上午的进间完了,希望对喜爱嵌入式系统开发的工程师和学生们有所帮助。这个题目很大,给人一种感觉我好像很
7、成功,其实不然。实际上自己水平不高,甚至很低,但是做过了一些曲折的学习道路,同时把自己真实的学习历程表达出来, 希望对后来者有借鉴的意义, 甚幸!工作三年、几成废人!我 XX年毕业于华中地区的一个理工科大学,专业是机械电子,我当时已经签了一家内陆某个省级机关工作, 家里八辈是农民, 并且很偏远,能够进入这样的地方是祖坟有风水。但在毕业前夕有个进入it 的机会,我本想进去的,家里人极力反对,阻力可想而知。同时要交 4000 元的违约金,对我来说是天文数字。大学里的费用很多是借的,几乎将近一半的费用是在大学勤工俭学挣的,为了省钱,高中一个学期回家一次, 大学一年回去一次。 并且我个人也有特殊的人生
8、背景(悲景更确切),这里不多说了,写十篇也写不完,同时偏离主题。这样我就参加了工作。 一张报纸一杯茶的日子,几乎下班后有种很空虚和恐慌的感觉。 在工作中虽然是与自己专业有点关系, 但是很少。专业几乎荒废。我自己也思考,如果再不出去,自己将会成废人,只好让国家养了。两年后决定出去,但是几成废人,谁要呢,只好到学校去镀金。这是中国教育和社会的悲哀!至于专业就改为计算机方面,听说好找工作,我说实话不是很对计算机特别感兴趣,生存第一需要。不要笑我,哈哈!考研成绩出来,超过了国家线几十分。那个方向要两个,我第三,但是那年非碘,不面试就按分数来排,自然我落选了。其实给我面试机会也不一定要我,哈哈,自己几斤
9、几两很清楚。最后调剂到另外一个学校,交钱,咬咬牙,交吧!现在仍然债台高筑!进入学校前夕为什么要把这段列出,看后就知道了。单位有网络,经常上网查些英语资料,在那里唯独英语没有丢很多。于是我就在网上查资料,学什么好呢,最后确定学嵌入式把,听说跟硬件相对比较紧密! 而我在大学里多少学习了数字电路,单片机等,所以多少也有所利用,不会真的一无所知。当然在这之前也自学过数据结构,计算机组成原理等。c 语言在大学就学了。哈哈这就是我的家底。我知道自己的基础差,于是我就拿操作系统,数据库、数据结构、 c+来看,机关有这个好处,空余时间多,于是平常就看书,很痛苦,没有人请教。另外就上网到论坛上去,我就到各个专业
10、的技术论坛,其实是电子论坛和嵌入式论坛。 我几乎没有发帖, 几乎把几个大型的出名的论坛的帖子翻遍了, 虽然有很多重复的, 我才知道嵌入式是个什么东东。这些帖子对我以后的学习产生了极大的影响。最关键两点: 1、嵌入式是什么?2 、嵌入式需要哪些知识?知道了这两点,好办!我就开始规划学习路线。计算机的基本理论不能丢,于是重点看组成原理,数据机构,操作系统、c+。同时论坛上了解到,实时操作系统 ucos 是一个很好的嵌入式操作系统,对初学者很好。于是我就买了一本书,但是代码在电脑里调不通,网上也有很多相同的问题,我就看书,分析代码,一遍不行就两遍,三遍,这样才看了入了门,才知道什么是进程。原来看操作
11、系统书时,根本就不知道进程是个什么东西。在这段时间掌握的东西不多,但是,对我以后的影响很大,我想起了大学时一个同学跟我说过了一句话: 大学里最重要的不是学到了什么,最重要的是学会怎么学!大概是这个意思。进入我的避难所对我来讲,再次进入大学不再是大学,而是避难所。希望这次进入给我喘气和养精蓄锐的机会和时间。我是这样认为和实践的。在学校我有三件事:上课,上图书馆,上网。对于上课,学校开了很多课程, 非常好,很多是名人名师讲解,于是很多同学都想学,都去听。我也考虑过,最后放弃。我是这样认为的,时间是有限的,什么都想学,什么都学不成。于是我把我自己学的课进行了分化,一般的课程通过就行,重要的一定好好学。我希望不要什么争论学习课程多和少的问题,这仅仅是我的看法。 所以我的成绩应该是很差的。分数低。好在后来的单位没有要我的成绩单,否则就惨了。我个人感觉是上图书馆的效率比在寝室里高多了,这是我的经验。