嵌入式软件专业如何
发布网友
发布时间:2022-04-22 21:29
我来回答
共2个回答
热心网友
时间:2022-06-18 20:52
嵌入式是很有前景的,你百度一下,就会明白这个专业有多热,将来就业根本不用担心。
至于要学些什么,下面的信息希望对你有所帮助。
嵌入式软件方面最重要的课程包括:
(1) 嵌入式微处理器结构与应用:这是一门嵌入式硬件基础课程,我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM处理器工作原理和接*术有充分了解,包括ARM的汇编指令系统。若不了解处理器原理,怎么能控制硬件工作,怎么能写出节省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)?很多公司招聘嵌入式软件人员时都要求熟悉ARM处理器,将来若同学到公司中从事嵌入式软件开发,公司都会给你一本该设备的硬件规格说明书 (xxx Specification),你必须能看懂其中的内存分布和端口使用等最基本的说明(就像x86汇编一样),否则怎么设计软件。有些同学觉得嵌入式处理器课程较枯燥,这主要是硬件课程都较抽象的原因。还有同学对ARM汇编不感兴趣,以为嵌入式开发用C语言就足够了。其实不应仅是将汇编语言当成一个程序设计语言,学汇编主要是为了掌握处理器工作原理的。一个不熟悉汇编语言的人,怎么能在该处理器写出最优的C语言代码。在嵌入式开发的一些关键部分,有时还必须写汇编,如Bootloader等(可能还包括BSP)。特别是在对速度有极高要求的场合(如DSP处理器的高速图像采集和图像解压缩),目前还会用到汇编写程序的,尽管用到的机会相对C要小得多。当你在一个嵌入式公司工作时,在查看描述原理的手册时,可能很多都是用汇编描述的,这是因为很多硬件设计人员只会写或者喜欢用汇编描述,此时你就必须看懂汇编程序,否则软硬件人员可能就无法交流。很多嵌入式职位招聘时都要求熟悉汇编。
(2) 嵌入式操作系统类课程
除了WinCE的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以也可称为实时操作系统Real TimeOperating System。从事嵌入式的人至少须掌握一个嵌入式操作系统(当然掌握两个更好),这在嵌入式的所有技术中是最为关键的了。
目前最重要的RTOS主要包括:第一类、传统的经典RTOS:最主要的便是Vxworks操作系统,以及其Tornado开发平台。Vxworks因出现稍早,实时性很强(据说可在1ms内响应外部事件请求),并且内核可极微(据说最小可8K),可靠性较高等,所以在北美,Vxworks占据了嵌入式系统的多半疆山。特别是在通信设备等实时性要求较高的系统中,几乎非Vxworks莫属。Vxworks的很多概念和技术都和Linux很类似,主要是C语言开发。像Bell- alcatel、Lucent、华为等通信企业在开发产品时,Vxworks用得很多。但Vxworks因价格很高,所以一些小公司或小产品中往往用不起。目前很多公司都在往嵌入式Linux转(听说华为目前正在这样转)。但无论如何,Vxworks在一段长时间内仍是不可动摇的。与Vxworks类似的稍有名的实时操作系统还有pSOS、QNX、Nucleus等RTOS。
第二类、嵌入式Linux操作系统:Linux的前途除作为服务器操作系统外,最成功的便是在嵌入式领域的应用,原因当然是免费、开源、支持软件多、呼拥者众,这样嵌入式产品成本会低。Linux本身不是一个为嵌入式设计的操作系统,不是微内核的,并且实时性不强。
目前应用在嵌入式领域的Linux系统主要有两类:一类是专为嵌入式设计的已被裁减过的Linux系统,最常用的是uClinux(不带MMU功能),目前占较大应用份额,可在ARM7上跑;另一类是跑在 ARM 9上的,一般是将Linux 2.4.18内核移植在其上,可使用更多的Linux功能(当然uClinux更可跑在ARM 9上)。很多人预测,嵌入式Linux预计将占嵌入式操作系统的50%以上份额,非常重要。缺点是熟悉Linux的人太少,开发难度稍大。另外,目前我们能发现很多教材和很多大学都以ucOS/II为教学用实时操作系统,这主要是由于ucOS/II较简单,且开源,非常适合入门者学习实时操作系统原理,但由于ucOS/II功能有限,实用用得较少。况且熟悉了Linux开发,不仅在嵌入式领域有用,对开发Linux应用软件,对加深操作系统的认识也有帮助,可谓一举多得。据我所知,目前Intel、Philip都在大搞ARM+LINUX的嵌入式开发,Fujitum则是在自己的处理器上大搞Linux 开发。目前在嵌入式Linux领域,以下几个方面的人特别难找,一是能将Linux移植到某个新型号的开发版上;二是能写Linux驱动程序的人; 三是熟悉Linux 内核裁减和优化的人。不过LINUX有一个硬伤,就是没有WINDOWS那样的友好方便美观的交互界面,不然微软帝国早就守不住了。
第三类、 Windows CE嵌入式操作系统:Microsoft也看准了嵌入式的巨大市场,MS永远是最厉害的,WinCE出来只有几年时间,但目前已占据了很大市场份额,特别是在PDA、手机、显示仪表等界面要求较高或者要求快速开发的场合,WinCE目前已很流行(据说有一家卖工控机的公司板子卖得太好,以至来不及为客户裁减WinCE)。WinCE目前主要为4.2版(.NET),开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用,由于WinCE开发都是大家熟悉的VC++环境,所以我院学过Windows程序设计课程的同学都不会有多大难度,这也是WinCE容易被人们接受的原因,开发环境方便快速,微软的强大技术支持,WinCE开发难度远低于嵌入式Linux。对于急于完成,不想拿嵌入式Linux冒险的开发场合,WinCE是最合适了(找嵌入式Linux的人可没那么好找的),毕竟公司不能像学生学习那样试试看,保证开发成功更重要。根据不同的侧重点 ,WinCE还有两个特殊版本,一个是MS PocketPC操作系统专用于PDA上(掌上电脑),另一个是MS SmartPhone操作系统用于智能手机上(带PDA功能的手机),两者也都属于WinCE平台。在PDA和手机市场上,除WinCE外,著名的PDA 嵌入式操作系统还有Palm OS(因出现很早,很有名)、Symbian等,但在WinCE的强劲冲击下,Palm和Symbian来日还能有多长?同学学过VC++后再学 WinCE,非常方便自然,通过学习WinCE同样也可了解嵌入式软件的一般开发过程,对Linux有惧怕心理的同学也很合适。很显然,嵌入式Linux 永远不可能替代WinCE,而且将来谁占份额大还很难讲,毕竟很多人更愿意接受MS的平台,就像各国*都在大力推LINUX已好长时间,但你能看到几个在PC机上真正使用LINUX的用户?据我观察,目前在嵌入式平台上,LINUX是叫得最响,但还是WinCE实际用得更多。嵌入式LINUX可能更多地是一些有长远产品计划的公司,为降低成本而进行长远考虑。WinCE和多媒体(如MPEG技术)是微软亚洲工程院目前做得较多的项目领域之一,现在社会很需要精通WinCE的人。现在有WINCE的智能手机,金山词霸、WORD、EXCEL、REGEDIT等居然都有 smartphone版的,PC上的MP3、DOC等居然在download时都可被自动转换成smartphone格式,很爽的。完全可用 Windows CE自己开发一些需要的程序download到自己的手机上。现在市面销售PDA智能手机火爆,MS总是财源滚滚。
总结关于嵌入式操作系统类课程,若你觉得自己功底较深且能钻研下去,则可去学嵌入式Linux;若你觉得自己VC++功底较好且想短平快地学嵌入式开发,自学WINCE是非常好的选择。
(3) 嵌入式开发的相关领域
搞嵌入式若能熟悉嵌入式应用的一些主要领域,这样的人更受企业欢迎。主要的相关领域包括:
A、数字图像压缩技术:这是嵌入式最重要最热门的应用领域之一,主要是应掌握MPEG编解码算法和技术,如DVD、MP3、PDA、高精电视、机顶盒等都涉及MPEG高速解码问题。
B、通信协议及编程技术:这包括传统的TCP/IP协议和热门的无线通信协议。首先,大多数嵌入式设备都要连入局域网或Internet,所以首先应掌握 TCP/IP协议及其编程,这是需首要掌握的基本技术;其次,无线通信是目前的大趋势,所以掌握无线通信协议及编程也是是很重要的。无线通信协议包括无线局域网通信协议802.11系列,Bluetooth,以及移动通信(如GPRS、GSM、CDMA等)。
C、网络与信息安全技术:如加密技术、数字证书CA以及各种网络安全设备,包括硬件防火墙、入侵检测IDS、还有防毒墙、IPS等,中国在这方面还是没有自己优势的,我们陈院长好象正在往这方面发展。
D、 DSP技术:DSP是Digital Signal Process数字信号处理的意思,DSP处理器通过硬件实现数字信号处理算法,如高速数据采集、压缩、解压缩、通信等。数字信号处理是电子、通信等硬件专业的课程,对于搞软件的人若能了解一下最好。目前DSP人才较缺。如果有信号与系统、数字信号处理等课程基础,对于学习MPEG编解码原理会有很大帮助。
(4)嵌入式开发的相关硬件基础
对于软件工程专业的学生,从事嵌入式软件开发,像数字电路、计算机组成原理、嵌入式微处理器结构等硬件课程是较重要的。另外,汇编语言、C/C++ 数据结构算法、特别是操作系统等软件基础课也是十分重要的。我们的主要目地是能看懂硬件工作原理,但重点应是在嵌入式软件,特别操作系统级软件,那将是我们的优势。我们的研究生里有些是学电子、通信类专业过来的,有较好的模拟电路和单片机基础,学嵌入式非常合适。
嵌入式本身就是从单片机发展过来的,只是单片机不带OS,而现在很多嵌入式应用越来越复杂,以至不得不引入嵌入式操作系统。另外,为追求更高速的信号处理速度,现在在一些速度要求较高场合,有不少公司是将一些DSP算法,如MPEG压缩解压缩算法等用硬件来实现,这就涉及到HDL数字电路设计技术及其 FPGA/IP核实现技术,这方面的人目前市场上也很缺。
关于嵌入式领域内的相关专业问题,建议LZ还可以到华清远见的网站上了解一下,另外,各大书店及图书馆也都有华清远见出版的畅销嵌入式专业图书,了解一下相信对你有帮助!
热心网友
时间:2022-06-18 20:52
目前是比较热门,底层的接触较多,所以 大学的基础课程要学好
嵌入式软硬件工程师哪个更有前途?
(1)技术门槛相对较低:相比于软件工程师,硬件工程师的技术门槛相对较低,更容易入门。(2)市场需求稳定:由于嵌入式硬件是所有嵌入式系统的基础,因此市场需求相对稳定。综上所述,嵌入式软硬件工程师都有各自的前途和机会。选择哪个职业取决于个人的兴趣、技能和职业规划。无论选择哪个职业,都需要不...
协同设计系统哪家好?
协同设计平台建议选择卓导科技有限公司,卓导科技为国家高新技术企业,成立于2008年,致力于为勘察设计企业提供软件产品、解决方案、信息化服务。公司面向市政规划设计、铁路公路设计、煤炭能源设计、建筑房地产等诸多专业领域,推出“MIS+CAD+BI...
嵌入式软件开发前景待遇如何?薪资高吗?
1.需求稳定:嵌入式系统在许多领域得到广泛应用,如汽车、家电、医疗设备等,其需求相对稳定,因此嵌入式软件开发的就业前景较好。2.技术要求高:嵌入式软件开发涉及底层硬件和软件的结合,需要具备深入的硬件和操作系统知识,以及熟练掌握嵌入式开发语言和工具,因此对开发人员的技术要求较高。3.薪资相对较高...
学嵌入式软件开发前景如何?
汽车行业对嵌入式软件的需求也在增加,尤其是在发展自动驾驶技术方面。学习嵌入式软件开发可为涉足汽车电子领域的专业人士打开更多就业机会。4.**医疗设备和健康科技:嵌入式软件在医疗设备和健康科技领域的应用也越来越重要。随着人们对医疗健康的关注增加,嵌入式软件开发者在这一领域的需求也在上升。5.**...
嵌入式软件工程师前景如何
随着物联网、智能家居、自动驾驶等领域的快速发展,嵌入式软件工程师的就业前景非常广阔。这些领域的应用程序需要处理大量的数据和提供实时响应,这为嵌入式软件工程师提供了广阔的发展空间。同时,嵌入式软件工程师的就业机会也在不断增加,许多公司都在招聘具有相关技能的工程师。嵌入式软件工程师的技能要求...
嵌入式软件开发就业前景如何
2.技术专业性:嵌入式软件开发要求具备深入的硬件和软件知识,熟悉嵌入式系统架构和编程技术。这种技术专业性使得嵌入式软件开发人员在就业市场上具备竞争力。3.持续创新:新兴技术如物联网、人工智能、机器学习等对嵌入式软件开发提出了新的需求和挑战。不断的技术创新和新项目的涌现为嵌入式软件开发提供了...
计算机专业嵌入式方向问题
1、由于嵌入式领域较新,门槛较高,掌握这些新技术的人才十分稀缺。据统计,我国嵌入式软件开发人才需求一直保持全年行业需求的最高,月月居十大热门行业榜首。从行业人才需求看, 嵌入式软件开发技术人才水涨船高,软件人才需求最为火爆。2、随着三网融合更为为嵌入式系统发展带来良机,嵌入式软件开发技术下...
嵌入式软件工程师未来发展
嵌入式软件工程师一般要做到3-5年以上才基本上算是熟手,而且没有说到了40岁了就不能做了。在一些专业领域,嵌入式软件工程师年纪大点还是很吃香的。嵌入式软件工程师不同于一般的软件工程师,吃青春饭,没有多年的技术积累,是做不好的。国外有很多50岁以上的程序员,国内迟早也会是一样的。
嵌入式软件工程师好找工作吗?
嵌入式软件工程师好找工作吗?嵌入式领域较新,目前发展非常快,很多软硬件技术出现的时间都不太长(如ARM处理器、嵌入式操作系统、LINUX操作系统),大多数人没有条件接触或进入嵌入式行业,更谈不上能有机会接受专业人士的指导。因此,踏进这个行业的难度比较大,嵌入式人才稀缺,身价自然也水涨船高。权威...
嵌入式软件工程师前景
嵌入式软件工程师前景十分良好。嵌入式领域较新,发展非常快。同时,很多软硬件技术出现的时间都不太长,嵌入式软件工程师专业人才稀缺,岗位需求很大,同时因为供不应求的市场关系,嵌入式工程师的岗位薪资也不断增加。嵌入式领域较新,发展非常快,很多软硬件技术出现的时间都不太长(如ARM处理器、嵌入...
嵌入式软件开发前景待遇如何?薪资高吗?
另外,嵌入式硬件工程师,需求没有嵌入式软件工程师大,但因为做硬件门槛会高些,所以这个方向如果做的比较专业,薪资绝对不会低,我有一个同学之前在北京华清远见学习的嵌入式硬件开发,现在工资上万了 北上广深,嵌入式企业多,岗位需求量也大,工资会比高些,个人建议,如果从事嵌入式,尽可能选择这些...