扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在现实生活领域软件已经可以嵌入到家电、手机等各种设备中,这种嵌入式软件还在不断的增长和发展,但同时它也面临着来自它自己的挑战。
我们的日常生活越来越离不开电脑了。早上叫醒你的闹钟也许就包含着电脑程序,还有热早餐的微波炉、你出门后启动的防盗铃, 火车站的查票器、把你们带到办公室的电梯以及办公室门口的安全读卡器都可能带有计算机程序。
还有回家的时候查看你的数码留言电话的信息,躺在睡椅里通过你的数字电视观看数码DVD电影, 电脑就是这样不知不觉的主导着你的生活方方面面。
但对于许多人来说他们的开始担心,随着计算机在各行各业的大量使用和快速发展的今天,而工资永远不涨、却拥有大量技术熟练的程序员和许多企业发展缓慢使他们感到困惑,他们目前的技术是否能让他们承担嵌入式开发中新的挑战。
好消息是:全球嵌入式软件的发展及其涉及的领域日趋广泛,为那些愿意学习一些新技术的人开辟新的职业选择途径。大多数程序员只要熟悉某种语言就能粗窥嵌入式的门径。如熟悉C和C++(它们是比较通用的语言),以及一样比较老的开发语言比如ADA和Fortran(它们仍然出乎意料的盛行), 它们都能使用现有的开发工具和开发技能很好的应用到嵌入式开发中去。
当然我们还应该熟悉软件开发过程。 “站在一个真正高的层次上来看,项目涉及的步骤都应该是一样的”, Borland亚太地区产品总监Malcolm Groves说, “你需要收集商业要求。分析如何翻译成软件,进行测试,然后再不断重复这一切。”
然而,这些熟悉的编码技术和工程管理要适应新的挑战,其中首先是许多嵌入式操作系统的实时能力。。Gartner的首席分析师Daya Nadamuni说: “嵌入式操作系统需要非常可靠的性能;它们必须是可预测的:该系统应确保在一个确定的时间能有所反应。”
同样质量也是非常重要的,因为嵌入式系统往往部署在毫秒级范围内就可以决定人生死的环境中。Nadamuni说。:“实时操作系统绝对不能出错,像一些比如在航空方面的事故往往是灾难性的”
Borland公司的Grove回顾了利用嵌入式系统控制货运公司的皮带输送机与分包系统,系统很便宜但要求很高也很敏感。
“我们用嵌入设备扫描包裹上的条形码然后发送指令让包裹从相应的溜槽传送下去,”他说:“如果你编写这种软件,你必须了解这时操作系统发送什么指令到带到传送带,假如你不知道,就会有问题了。”
开发嵌入式系统的程序必须认真研究这些问题,事实上,为了解决这些问题,必须要需要了解嵌入式操作系统与嵌入式硬件设备的接口关系。
“在嵌入式系统开发中,你可以感觉到硬件和软件的界线是相当模糊的”, Daryl Wilding-McBride说,他是在对象咨询领域内为企业服务的实行领导,曾广泛参与嵌入式和企业系统的开发。”嵌入式系统可以使你更'接近金属'。 你需自行处理芯片上的管脚、时钟周期和中断。”
在不同的嵌入式设备上技术参数差别非常大,涉及到众多的处理器和部件,这些因素对于想进入嵌入式世界的主流开发者来说这是一个很大的屏障。
“有趣的是嵌入式设备的巨大应用”IBM Rational的Davyd Norris说:“嵌入式程序员往往有高超的开发技巧,但局限在特定体系结构和微控制器上”。 意味着今天许多开发者必须熟悉不同的体系结构(老z80和Intel 6800处理器仍在嵌入式设备上流行),他们都得具有相当多的嵌入式硬件设计或嵌入式工程背景。
“嵌入式开发员原本是一个低层次的程序员,通常是通晓汇编、C和操作系统的”老人”,其开发的嵌入式设备也是非常紧耦合的系统”墨尔本的Jason Tolley说,他是ROK技术公司的嵌入式开发专家。
这通常导致很好的代码,但是增加了令人讨厌的复杂性。 不同的体系结构要求不同的开发工具和独特的开发特色。为几个不同体系结构的项目组织开发,程序员就会发现自己所掌握的技术已不适应用这些超越自己专长的项目, 同时也要求熟悉昂贵的专用平台工具。
为了满足这些项目的专属要求,这些工具和人员将永远为这些实时项目保留。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者