嵌入式软件开发工程师和其他软件开发的区别

Hi,欢迎来到中国嵌入式培训第一品牌 - 华清远见嵌入式学院
全国咨询热线:400-611-6270
当前位置: >
嵌入式软件工程师自述工作5年经历
来源:&&&&
到现在我从事嵌入式软件开发行业已有5年经历,今天我只是简单来分享下个人的学习、工作经历,上大学选择这个专业只因为最初那份儿热爱,尤其是接触之后对计算机产生了强烈的兴趣,对写软件有一种强烈的冲动。软件成型后,那种成就感和自豪感能给我难以名状的满足。当然学生时代的我对核心技术和核心技术人员由衷的崇拜,对技术的追求和水平的提高有一种莫名的狂热,当时我想只要能从事软件开发的工作,起初的薪金待遇可以不计,等我技术方面成熟后,自己就有更高更好的选择了,这些只是作为一名程序员最初的人生规划。
近几年来随着互联网行业发展,嵌入式技能渗透了生活中各个领域,人们对嵌入式系统的功能要求越来越复杂,性能要求也越来越高,当然嵌入式软件系统结构也随之越来越复杂,嵌入式软件的开发已成为复杂的系统工程,所以对于从事嵌入式软件开发工作者来说的深入的学习与研究显的越发重要!
作为从事了5年之久的嵌入式软件工程师职业,以下职责是必须要掌握的,嵌入式软件工程师能根据项目管理和工程技术的实际要求,按照系统总体设计规格进行软、硬件实际,编写系统开发规格说明书等相应的文档;组织和指导嵌入式系统靠法实施人员实施硬件电路、编写和调试程序,并对嵌入式系统硬件设备和程序进行优化和集成测试,开发出符合系统总体设计要求的高质量嵌入式系统;具有工程师的实际工作能力和业务水平。
同时在这样一个技术日进千里的时代中,工程师应该如何才能确保自己学习到的新技术是最关键的?我给出大家十点小建议,对你一定有所帮助。
1.学习那些让因特网实现的技术,建议嵌入式工程师学习因特网有关的技术,对职业生涯发展会有加分效果。
2.学习利用搜索引擎,不要闭门造车,要善用开放源码世界的信息,很多常见的设计问题其实透过因特网就能找到同领域菁英贡献的程序代码,与同领域的其他工程师们相互交流、互相帮助。
3.离开舒适圈,走出舒适圈,挑战自我、去学习原本不熟悉的东西,包括工程以外的知识。
4.熟悉实时操作系统,嵌入式工程师从一些较小型的系统着手,累积相关技术经验。
5.培养多元化技能与系统观,尝试着去开发手机应用程序、或者是学习后端服务器的相关技术,能让你开启完全不同的观点,去熟悉开放性硬件,现在市面上有不少现成的开发板,能让工程 师专注于学习独特算法的开发。
6.了解软件也要了解最新的处理器,除了要深入了解C或C++等基本程序语言,有时也要认识一些热门的新程序语言以因应特殊设计需求,但更重要的是了解最新的处理器技术;处理器才是嵌入式系统的本质。
7.要能熟悉开放源码软件,建议工程师避免只专长单一领域,因为那可能会阻碍你的成长。对 嵌入式工程师来说,确保自己对软硬件技术都很了解,是非常宝贵的价值。
8.建立系统级的工程思维,嵌入式工程师拥有系统导向的思维是很重要的,此外每个嵌入式工程师都应该具备优良的项目管理技巧,力求准时完成负责的项目。
9.要能明确表达自己的想法与意见透过文字或绘图,无论是哪一种工程师,都需要能有效表达自己的想法与意见。
10.学习无线连结技术,嵌入式工程师需要在接下来1―3年学习无线连结技术,特别是Wi-Fi与蓝牙低功耗;因为现在的嵌入式设备与使用者智能手机连结的主要方式。
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
北京市海淀区西三旗悦秀路北京明园大学校内
上海市徐汇区漕溪路250号银海大楼11层B区
深圳市龙华新区人民北路美丽AAA大厦15层
成都武侯区科华北路99号科华大厦2层
南京市白下区汉中路185号鸿运大厦10层
武汉工程大学卓刀泉校区科技孵化器大楼11层
西安市高新区高新1路12号天公大厦5层
广州市天河区广汕二路602号之一第三层308室
沈阳市沈河区北顺城路137号锦峰大厦3层嵌入式软件开发的优缺点浅谈
> 嵌入式软件开发的优缺点浅谈
嵌入式软件开发的优缺点浅谈
  从事嵌入式软件开发的好处是:本文引用地址:
  1 目前国内外这方面的人都很稀缺。
  一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理,所以非专业IT人员很难切入这一领域;
  另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正在出现(如处理器、嵌入式操作系统、技术、无线通信协议等),掌握这些新技术的人当然很找。嵌入式人才稀缺,身价自然就高,越有经验价格就越高。其实嵌入式人才稀少,根本原因可能是大多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流程。
  与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。
  搞企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都得按客户要求改变,往往疲于奔命,重复劳动。相比而言,搞嵌入式系统的公司,都有自己的产品计划,按自己的节奏行事。所开发的产品通常是通用的,不会因客户的不同而修改。一个产品型号开发完了,往往有较长一段空闲时间(或只是对软件进行一些小修补),有时间进行充电和休整。
  另外,从事嵌入式软件的每个人工作范围相对狭窄,所涉及的专业技术范围就是那些(、RTOS、、802.11等),时间长了这些东西会越搞越有经验,卖卖老本,几句指导也够让那些初入道者琢磨半年的。若搞应用软件,可能下一个客户要换成一个完全不同的软件开发平台,那就苦了。
  哪天若想创业,搞自已的产品,那么嵌入式是一个不错的主意,这可不像应用软件那样容易被盗版。
  木学院有一个叫启明星的公司开发出一个好象叫&工程e&的掌上PDA(南校区门口有广告),施工技术人员用该PDA可当场进行土木概预算和其它土木计算,据说销路特好。我认识的某大学老师,他开发的饭馆用的点菜PDA(WinCE平台,可无线连网和上网),据他说销路不错,饭馆点点PDA让客户点菜,多显派头档次。我记得00级2+2班当年有一组同学在学Windows程序设计课程时用VC++设计了一个功能很强的点菜系统做为课程项目,当时真想建议他们将这个软件做成PDA,估计会有些销路(上海火车站南广场的Macdonald便使用很漂亮的PDA给用户点食品,像摸像样的)。这些PDA的硬件设计一般都是请其它公司给订做(这叫&贴牌&:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。
  从事嵌入式软件开发的缺点是:
  (1) 入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。
  (2) 这方面的企业数量要远少于企业计算类企业。特别是从事嵌入式的小企业数量较多(小企业要搞自己的产品创业),知名大公司较少(搞嵌入式的大公司主要有 Intel、Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半导体、 Microtek、研华、华为、中兴通信、上广电等制造类企业)。这些企业的习惯思维方式是到电子、通信等偏硬专业找人。由于我院以前毕业生以企业计算为 主,所以我院与这些企业联系相对较少。我院正积极努力,目前已与其中部分公司建立了联系,争取今后能有我院同学到这些企业中实习或就业。
  (3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。
  我院同学若学习嵌入式,显然应偏重于嵌入式软件,特别是嵌入式操作系统方面,应是我们的强项。对于搞嵌入式软件的人,最重要的技术显然是(实际上很多公司的招聘广告上就是这样写的):
  (1) 掌握主流嵌入式微处理器的结构与原理
  (2) 必须掌握一个嵌入式操作系统
  (3) 必须熟悉嵌入式软件开发流程并至少做过一个嵌入式软件项目。
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一通用桌面软件开发跟嵌入式软件开发有什么不同
通用桌面软件开发跟嵌入式软件开发有什么不同
09-10-07 &
针对嵌入式设备的应用软件开发 通常一个嵌入式设备,比如pda有一个嵌入式的操作系统(类似于一般的操作系统,比如xp,2000等等),但是光有一个系统什么都干不了,那么就需要嵌入式的应用软件,这样的软件的开发是基于嵌入式操作系统的,也就是嵌入式操作系统提供api,开发人员通过api来开发应用软件,比如移动QQ,记事本等,开发出来的应用软件是运行在嵌入式操作系统之上的,因此嵌入式软件的开发与嵌入式操作系统是分不开的,有时我们甚至把嵌入式操作系统也归入嵌入式软件的范畴,只不过它是嵌入式系统软件
请登录后再发表评论!嵌入式软件开发语言 嵌入式C编程到底是什么呢?是C语言的变形么?
在我们初学嵌入式开发的时候,总会出现一个问题。那就是C语言和嵌入式C编程有什么区别?而嵌入式工程师一般都会告诉你,其区别在于嵌入式的C语言是跑在嵌入式的开发板上的,CPU和电脑不一样,所以编译器也是不一样的,生成的可执行程序也是不一样的。不同于一般形式的软件编程,基于特定的硬件平台嵌入式系统编程的,势必要求其编程语言具备较强的硬件直接操作能力。毫无疑问,汇编语言是具备这种特点的。然而,由于该语言编写开发过程的复杂性,通常不选择它用于嵌入式系统开发,而C语言是一种“低层次”的语言,已经成为嵌入式系统开发的最佳选择。
首先我们要明白嵌入式系统不是PC系统,是另一种独立操作系统。它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程,有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
嵌入式微处理器是嵌入式系统控制核心。嵌入式微处理器主要功能有四大点:
a、对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
b、嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统,如需要功耗只有mW甚至μW级。
c、具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已经模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
d、可扩展的处理器结构,以便能最迅速地开发出满足应用的最高性能的嵌入式微处理器。
而嵌入式系统有别于其他操作系统最大的核心竞争力有六大特点:
a、嵌入式系统为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
b、嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。
c、嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
d、嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。
e、嵌入式系统通常是面向特定应用的嵌入式CPU,与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
f、嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点嵌入式偏硬件和偏软件具体是有什么区别,偏硬件主要是做什么的,偏软件主要是做什么的? - 知乎43被浏览12932分享邀请回答112 条评论分享收藏感谢收起52 条评论分享收藏感谢收起1 个回答被折叠()

我要回帖

更多关于 嵌入式软件开发面试题 的文章

 

随机推荐