嵌入式工程师经验分享:如何学习嵌入式开发

最新更新时间:2014-02-23来源: OFweek 电子工程网关键字:嵌入式  工程师  嵌入式开发 手机看文章 扫描二维码
随时随地手机看文章

  一、嵌入式系统的概念

  着重理解“嵌入”的概念

  主要从三个方面上来理解。

  1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址, 可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到 1.8G,支持2G内存,1G×10或10G×1的以太网口或Febre channel的光通道。IXP系列应该是目标基于ARM体系统结构下由 intel进行整合后成Xscale内核的最高的处理器了。

  2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组 件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等等选择,如果我们选择 了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要我们得新再装。

  3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。以上的定义是我在6、7年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科

  二、嵌入式系统的分层与专业的分类。

  嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。

  1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。

  2、 驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导 至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的 驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不 就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可 是最高的。

  驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。

  3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作

  统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。

  4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环 境有相应的变化而已。如果涉及Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌 入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂, 并且有难度了。  三、目标与定位。

  先有目标,再去定位。

  学 ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面 的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于 API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接 口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。

  因此对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层,不管学好了那一层都会很有前途的。如果想从嵌入式系统的应用层面的走的话,可能与ARM及其它体系相去较远,要着重研究基嵌入式操作系统的环境应用与相应开发工具链,比如WinCe操作系统下的EVC应用开发(与windows下的VC相类似),如果想再有突破就往某些音视频类的协议上靠,比如VOIP领域的基于SIP或H.323协议的应用层开发,或是基于嵌入式网络数据库的开发等等。

  于初学者来讲,要量力而行,不要认为驱动层工资高就把它当成方向了,要结合自身特点,嵌入式系统四个层面上那个层面上来讲都是有高人存在,当然高人也对应 的高工资,我是做硬件层的,以前每月工资中个人所得税要被扣上近3千大元,当然我一方面充当工程师的角色,一方面充当主管及人物的角色,两个职位我一个人 干,但上班时间就那些。硬件这方面上可能与我PK的人很少了,才让我拿到那么多的工资。

  四、开发系统选择。

  很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与ARM7好, 我想对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计 与板级测试。如果想从操作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难,不是几个月或半年 或是一年二年能搞定的事。

  在某种意义上请,ARM7与9的差别就是在某些功能指令集上丰富了些,主频提高一些而已,就比如286和386。对于用户来讲可能觉查不到什么,只能是感觉速度有些快而已。

  ARM7比较适合于那些想从硬件层面上走的人,因为ARM7系列处理器内部带MMU的很少,而且比较好控制,就比如S3C44B0来讲,可以很容易将 Cache关了,而且内部接口寄存器很容易看明白,各种接口对于用硬件程序控制或AXD单步命令行指令都可以控制起来,基于51单片机的思想很容易能把他 搞懂,就当成个32位的单片机,从而消除很多51工程师想转为嵌入式系统硬件ARM开发工程师的困惑,从而不会被业界某此不是真正懂嵌入式烂公司带到操作 系统层面上去,让他们望而失畏,让业界更加缺少这方面的人才。

  而嵌入式系统不管硬件设计还是软件驱动方面都是十分注重接口这部分的,选择平台还要考察一个处理器的外部资源,你接触外部资源越多,越熟悉他们那你以后就业成功的机率就越高,这就是招聘时 所说的有无“相关技能”,因为一个人不可能在短短几年内把所有的处理器都接触一遍,而招聘单位所用的处理器就可能是我们完全没有见过的,就拿台湾数十家小 公司(市价几千万)的公司生产的ARM类处理器,也很好用,但这些东西通用性太差,用这些处理器的公司就只能招有相关工作经验的人了,那什么是相关工作经 验,在硬件上讲的是外围接口设计,在软件上讲是操作系统方面相关接口驱动及应用开发经验。我从业近十年,2000年ARM出现,我一天始做ARM7,然后 直接跑到了Xscale(这个板本在ARM10-11之间),一做就是五年,招人面试都不下数百人,在这些方面还是深有体会的。

  我个人认为三星的S3C44b0对初学者来说比较合适,为什么这么说哪?因为接口资源比较丰富,技术成熟,资料较多,应该十分适合于初学者,有问题可能很容易找人帮且解决,因为大多数人都很熟悉,就如同51类的单片机,有N多位专家级的人物可以给你帮忙,相关问题得以很快解答,所然业界认为这款ARM都做用得烂了,但对于初学者来,就却是件好事。因此开发系统的选择,要看自己的未来从来目标方向、要看开发板接口资源、还要看业界的通用性。  五、如何看待培训。

  首先说说我自己,我目前从业近十年,与国内嵌入式系统行业共同起步,一直站在嵌入式系统行业前沿,设计过多款高端嵌入式系统平台产品并为众多公司提供过解决方案,离职前为从事VOIP的美资公司设计IP-PBX,历任项目经理、项目主管、技术总监、部门经理,积累众多人脉,并集多年经验所得,考虑到学生就业与公司招人的不相匹配,公司想招人招不到,而学生和刚毕业的工程师想找份工作也不太容易,于此力创知天行科技有限公司,开展嵌入式系统教育培训。因 一线的科研人员和一线的教师不相接触,导至国内嵌入式人才缺乏,国外高校的技术超前于业界公司,而国内情况是业界公司方面的嵌入式系统技术要远远领先于高 校。为架构业界与高校沟通的桥梁,把先进技能带给高校学子,为学生在就业竞争打造一张王牌,并为业界工程师快速提升实现自我创造机遇,我就这样辞去了外 企年薪20多万的职位,做嵌入式系统方面的培训了。

  对于培训来讲,是花钱来买时间,很多工程师都喜欢自己学,认为培训不值,这也是有 可能的,纯为赚钱的培训当然不会太有价值,但对于实力型的培训他们可能就亏大了,有这样一笔帐不知他们算过没有,如果一个一周的培训,能带给他们自学两年 后才能掌握的知识,在培训完后他们用三个月到半年时间消化培训内容,这样他会省约至少一年半的时间来学其它的或重新站在另一个高度上工作,那么他将最迟一 年后会拿到他两年后水平所对应的工资,就是在工资与水平对应的关系上比同批人缩短一年,每月按最少1千计,再减去培训费用至少多1.0万,同时也省了一年 时间,不管是休闲也好,再继续提高也好,总之是跑到了队伍的前面了。另一层面上讲,对于新人的培训相当于他们为自己提前买了份失业保险,有师傅会带领他们入道,我今年暑假时班里最年轻的一个学生是大二的,今年才上大三,这学期才刚学单片机,但现在ARM方面的编程工作已经搞得有声有色了,再过一年多毕业,还会失业吗?

  或者通过培训,你可以知道很多业界不为常人所知的事,同时也为自己找了个师傅,就比如说,两个工程师分别用S3C2410和PXA255来做手持设备,同样 两人都工作四年,再出去找工作,两人工资可能最多可相差一倍,为什么?这就是业界不为常人所知的规则,2410属于民品,被业界用烂了,做产品时成本特敏 感,当然也对人才成本敏感了,PXA255是intel的东西,一个255CPU能买三个2410,一直被业界定义为贵产品,用的公司都是大公司或为 军方服务的公司,不会在乎成本,只要把东西做好,一切都好说,但这方面做的人也少啊,因为开发系统贵啊。对于说为自已找了个好师傅, 我想是这样的,因为同级工程师间存在着某此潜在的竞争关系,有很多人不愿意把自己知道的东西教给别人,这意味着他将要失业,就是所说的教会徒弟,饿死师 傅,但对于我们这些人就不存在这样的关系了,我是在嵌入式系统平台设计上走到了一定程序,目前在国内这块的技术上已经是自己很难再突破自己,因此很多东西 我对大家都是OPEN的,就比如说下面那部分关于接口设计中所提到的时序接口东西,我要是不讲,却使是高级硬件工程师我想也几乎只有10%的人能知道吧。

关键字:嵌入式  工程师  嵌入式开发 编辑:探路者 引用地址:嵌入式工程师经验分享:如何学习嵌入式开发

上一篇:汽车电子中的EMI辐射设计要点
下一篇:一种针对汽车PEPS系统的方案设计与实现

推荐阅读最新更新时间:2023-10-12 22:35

Altera和ARM发布业界第一款FPGA自适应嵌入式软件工具包
2012年12月13号,北京——Altera公司(NASDAQ: ALTR)和ARM (LON: ARM; NASDAQ: ARMH)今天宣布,通过双方特有协议,两家公司联合开发了DS-5嵌入式软件开发工具包,实现了Altera SoC器件的FPGA自适应调试功能。Altera版ARM®开发Studio 5 (DS-5™)工具包经过设计,消除了集成双核CPU子系统与Altera SoC器件中FPGA架构的调试壁垒。ARM体系结构最先进的多核调试器与FPGA逻辑自适应能力相结合,这一新工具包通过标准DS-5用户接口,为嵌入式软件开发人员提供了前所未有的全芯片可视化和控制功能。这一新工具包含在Altera SoC嵌入式设计套装中,将于
[嵌入式]
TI工程师诠释更精巧的电源解决方案
本文详述电源电路的最新发展状况。文中还将介绍数款器件,说明电路架构与封装技术的进步如何促成体积更小的电源解决方案。 把不同功能集成到同一芯片是PDA、便携式导航系统 (GPS) 和智能型手机等便携式产品的发展趋势。就在几年前,应用产品的每一组电源都需要单独的电源转换器,但随着电池供电型产品的功能日益复杂,电源设计也开始改变,把产品所需的各种电源整合在一起已成为潮流,除了处理器所需的电源外,还有蓝牙模块、无线网络模块和屏幕等其它功能也需要独立的电源。在这类应用中,电源供应方式可分为几种: • 采用内含其它功能的电源供应芯片,例如CODEC、ADC、音频放大器和充电器等 • 单个芯片提供全部所需电源 • 功能模块专
[电源管理]
TI<font color='red'>工程师</font>诠释更精巧的电源解决方案
方便嵌入式系统发布的Single-Board RIO
NI近日发布全新的NI Single-Board RIO设备,可为工程师及科学家在发布嵌入式控制及数据采集应用时提供低成本的集成硬件选项。8款全新sbRIO-96xx设备在一块印刷电路板(PCB)上集成了嵌入式实时处理器、现场可编程门阵列(FPGA)、模拟和数字I/O,对于需要在小体积上实现灵活、高性能、高可靠性的应用是理想的选择。工程师及科学家可通过NI LabVIEW 图形化系统设计平台来自定义Single-Board RIO硬件,开发嵌入式系统的各方面,从而增加生产力,缩短产品上市时间。 “NI Single-Board RIO可以在一个设备中提供可靠的、高性能的嵌入式系统的所有组件,大大简化了系统开发,大幅
[测试测量]
方便<font color='red'>嵌入式</font>系统发布的Single-Board RIO
贸泽丰富多样的电子书为设计工程师助力
2021年12月29日 – 专注于引入新品推动行业创新的电子元器件分销商 贸泽电子 (Mouser Electronics) 致力于持续为工程师提供各种丰富的前沿技术资源。今年,贸泽发布了比以往更多的电子书,并与多家知名制造商合作推出各类实用指南,为设计工程师解决新工程挑战提供所需的信息。 下面为您精心挑选了贸泽与Amphenol Corporation、Bourns以及Maxim Integrated® (现已被Analog Devices收购)合作近期推出的几本电子书: • Enabling the Industrial IoT Revolution,与Amphenol合作出版 在《Enabling the
[物联网]
贸泽丰富多样的电子书为设计<font color='red'>工程师</font>助力
基于FPGA+嵌入式处理器的违章车辆视频检测系统
0 引 言 随着我国经济的发展,机动车辆不断地增长,现有道路等硬件设施的增长已经满足不了日益膨胀的交通问题,智能交通系统(Intelligent Transportation System,ITS)越来越受重视。 所谓智能交通系统(ITS)就是将先进的信息技术、数据通信传输技术、电子传感技术以及计算机处理技术等有效地集成运用于整个地面交通管理系统而建立的一种在大范围内、全方位发挥作用的、实时、准确、高效的综合交通运输管理系统。近年来,ITS在城市交通管理方面得到了普遍应用,在缓解道路交通、防范交通违章及事故发生等方面获得了良好的效果。本文针对ITS应用,特别是电子警察系统的应用,提出了车辆违章视频检测方案,以适应ITS的发
[嵌入式]
小贴士:工程师教你判断蓄电池电极的几种方法
本文介绍了几种正确识别旧 蓄电瓶 正负 电极 的简易方法.以供大家在自行充电或检测时作快速判断。 根据蓄电瓶电极设计特点判断 一般常用的蓄电瓶在生产设计时.其电瓶桩较粗些的一端为正电极.另一端则细些为负电极,同时可辨认一下电瓶桩柱的颜色,其中正电极桩柱呈现深棕色,而负电极则呈现为深灰色。另外有些电瓶的正负标记用英文字母表示,即P表示为正电极,N表示为负电极,这在检修充电时可千万不能搞错。 采用万用表电压挡测量 可将万用表拨至直流挡位上,两表笔分别跨接在蓄电瓶两电极上,此时若电瓶显示出正常电压值,则证明红色表笔所触的电极为电瓶正电极.而黑表笔处则为负电极。有时测得电瓶无正常电压存在,则可测量电瓶的弱微存电量加以判断。当两表笔
[电源管理]
航天嵌入式图像处理技术
航天时代不仅促进了运载火箭技术,应用卫星技术与深空探测技术的迅猛发展,而且也使地基因特网发展成了天基太空网,延伸到了1亿2千万公里的火星,促进了天基嵌入式图像处理技术等航天微电子应用技术的迅猛发展。    嵌入式图像处理技术   天基嵌入式图像处理技术的特点有:一是嵌入性,也就是体积、重量与功耗的要求很高;二是复杂性,要处理G级的像素帧;三是可靠性,要求适应恶劣的工作环境,寿命长;四是实时性,一般要求秒级的计算时间。为了实现这些特点,需要从航天嵌入式计算机的功能、结构与物理实现三个方面进行研究。    (1)统一的体系结构模型   为了同时满足能提高芯片集成度与缩短设计周期的要求,以IP核为基础的设计
[应用]
德承全新嵌入式电脑DS-1400系列,助力AOI自动光学检测
稳定的质量控制是制造业中不可或缺的重要环节之一。随着智能工厂和人工智能技术的快速发展,自动光学检测(AOI,Automated Optical Inspection)逐渐取代了传统的人工检测,凭借其高效率、高精确度和非接触式检测等优势成为主流。AOI的核心在于强大的实时运算和机器学习,为此需要依托CPU和GPU的强大算力来支持。强固型嵌入式电脑品牌 - Cincoze德承近期发布全新的强固型嵌入式电脑 - DIAMOND产品线旗下高效能&PCIe扩展型嵌入式电脑(DS-1400系列)。不仅搭载了超高效能的CPU,还可支持PCIe接口的GPU卡,自上市以来,已成为AOI领域备受关注的焦点,是边缘AI电脑的理想选择。
[传感器]
德承全新<font color='red'>嵌入式</font>电脑DS-1400系列,助力AOI自动光学检测
小广播
最新电源管理文章
换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved