工程师应该怎么学习嵌入式

 嵌入式从2002年之后就成为很热门的职业,这其中以ARM的商用分不开。Samsung,Philiphs,Atmel这些公司纷纷推出性价比非常高的

本文引用地址:http://www.eepw.com.cn/article/270351.htm

  arm核的cpu(soc),而且这些soc非常适合作为手机,数码相机,

  mp3,mp4(还包括汽车电子,医疗电子等行业)的cpu。因此,很多做此类产品的公司对熟悉ARM架构cpu的人才需求很大,再加之大学课程与社会需求脱节,造成人才紧缺。

  Arm,除了网路处理器不能抗衡之外,其他领域都有用武之地,它不但会像51单片机一样经久不衰而且会更加辉煌,所以在电子产品整个领域,arm将是工程师必须掌握的技术。

  怎样的人适合学习嵌入式

  学习嵌入式需要有一定的基础,这些基础大概包括下面两点:

  学过c语言,汇编;

  对微控制器有一定了解。

  一般理工类(计算机,自动化,电子类专业)的学生大三学比较合适。因为到了大三,一般学过了c语言及汇编,虽然大部分学生没有独立写过一个程序,但至少上过这门课,自己也看过相关知识点;而且上过8051等微控制器原理的课程,也看过类似的教课书。

  具备以上基础的人,也不是谁都可以学。因为嵌入式学习门槛比较高,难度比较大,不但要有一定的毅力,而且要触类旁通,如果太死板也很难学会。

  概括的说学习嵌入式还必备下列性格:

  热爱研发!

  切忌浮躁!

  执着,顽强,自信!

  举一反三!

  热爱研发,不仅仅是“喜欢搞技术”;我永远记得我第一次在EM78P156EL(仪隆8位单片机)上点亮第一个LED灯的感觉,可以用“欣喜若狂”来形容。这就是一种热爱。被问题困扰时的着急,无助,绞尽脑汁,到最后通过自己的努力问题得到解决的无比自豪和快感,这一过程是很多人热爱研发的原动力。

  切忌浮躁,最近网络总结出了中国人所患的一种通病”丧失了慢能力”!此话不假!改革开发以来,中国翻天覆地的变化,物质的发达,网络的普及,文化的西化,贫富差距的加大造成了我们静不下心来读书,写作,学习。

  有一网友博文:《从通用诉奇瑞间谍案反思技术发展之殇》

  我一直在思考着为什么我国的产业结构调整一直推行得较为缓慢?为什么大多数毕业生从事制造业的5年计划就是转向管理层?为什么我国较为成功的企业不多...

  此文从工程师浮躁的心理阐述了中国工程师和企业的知识技术积累不够,不能产生有价值的发明及有核心技术的企业。因嵌入式开发一时成为了热门职业,工资高,好找工作,很多人决定投入这一行业,可是嵌入式开发需要软硬件知识。

  单从软件工程师来说:

  需要c语言(要精),汇编语言(要懂),c++(如果是上次应用程序需要精);还有各种通信协议(最基本的有串口通信,I2C,SPI;复杂一点的有

  tcp/ip,bluetooth等待);还有更重要的中断原理,dma原理,定时器等等!还要看得懂原理图,要根据原理图和datasheet就能把代码写出来,这些都是一个搞嵌入式必须掌握的技术!如果是linux驱动要掌握的知识远不如这些!

  所以学习嵌入式要“慢慢来”切忌“浮躁”!

  执着、顽强、自信,在产品开发过程中,当你做的比较深的时候,你出现的问题已经太依赖你现在的环境,如果要找人来帮你,你还要花很长时间给他解释你问题产生的原因,他也要花时间从头跟进去,一般是找不到这种人来帮你的。像这种问题在网上也找不到类似的答案,图书馆也查不到有价值的资料。此时,只能靠自己了。虽然没人能帮你,但是你还是要想办法请教人,通过跟别人的讨论或许能给你启发;虽然在网上找不到类似的答案,但你还是需要到网上去找相关信息;虽然图书馆也查不到有价值的资料,但你有时还是需要跑跑图书馆;结合,别人的指导,网络的信息,图书馆的知识,自己的分析,以前的经验,各种实验的排除,如果能坚持做到这些是没有解决不了的问题的。

  但是很多人做不到这些;他除了网上找答案,论坛发贴问别人一筹莫展,坚持不了几天就把问题搁置了,如果参加工作,只会让老板认为你能力不够,下次也不会委以重任;如果是学习,你将不能深入进去,做不到精通。

  在你嵌入式职业生涯中,如果第一个棘手的问题凭你的不懈努力解决了,那么,接下来的问题都会得到解决,因为第一次解决问题不但让你学会了如何分析问题,解决问题,更重要的是增强了你的自信。其实,我们做研发工作不是搞发明,所有的问题都难不到哪里去!我有个同事,这位同事是我招募进公司的应届毕业生,嵌入式是中的问题对一个应届毕业生来说确实比较难,比如说通过IO脚来模拟I2C总线读写EEPROM。我记得这位同事说过一句话,他说“别人能发明,至少我能会用!”。

  我从这句话中感受到了他的自信,事实确是如此,我们仅仅是应用,不是发明,我们都应该有能力去把这些原理性的东西搞懂,这位同事在后续的工作中,一直是出类拔萃,工资也越来越高!

  举一反三,或者说模仿。在驱动开发中这种能力尤其重要,比如在Rtems,Linux这种OS中,支持各种BSP,但不一定支持你所用的BSP。现在学习嵌入式比较流行的开发板是s3c2410,如果OS是用rtems那么你找不到现成的BSP,但幸运的是rtems支持2400,我们就可以很容易的模仿它做一个2410的BSP,如果你的网卡是cs8900,那么你很不幸,2400中没有cs8900的网卡驱动,怎么办,如果够心细,你会发现

  edp7312的BSP中有cs8900的驱动,那么你就可以搬过来,虽然有很多改动的地方,但是比重新写一个符合rtems的驱动要来得容易的多。


你可能感兴趣的:(工程师应该怎么学习嵌入式)