聚热点 juredian

嵌入式开发:不要只提供功能系统

在过去,嵌入式开发人员和团队中存在一种趋势,这种趋势非常令人不安。这种趋势包括开发功能性的(最好的)嵌入式系统,但不是为生产环境构建或测试的。

这种“简单功能”趋势的主要原因似乎是由于三个因素:示例代码的利用、仓促的开发周期以及缺乏对构建生产嵌入式系统的理解。

第一个因素,利用示例代码,实际上是启动嵌入式软件开发的关键一步。示例代码有助于启动和运行嵌入式系统,以及获得对目标硬件的重要见解。许多微控制器供应商为开发人员提供了非常需要的样例代码,说明如何设置外设以及如何与微控制器交互。

但是对于这个示例代码,有两个问题是许多开发人员经常不考虑的。第一,示例代码只是一个例子;它不是用于生产的。它只是关于如何设置和与各种外设交互的指南。然而,开发人员会采用这些代码,一旦示例代码被引入系统,它通常会留在系统中。

仔细检查来自不同微控制器供应商的示例代码通常会发现一个免责声明,即所提供的代码不保证适合任何用途。它甚至不保证用于任何目的,而只是“按原样”提供仅仅阅读免责声明就会让嵌入式开发人员在考虑采用该代码时感到不安。软件的生产者没有足够的信心来支持他们的示例,那么是什么让人们认为示例代码产品已经可以生产了呢?

导致构建功能性而非生产性嵌入式系统趋势的第二个因素是仓促的开发周期。开发一个嵌入式系统会给企业带来巨大的管理费用,这使得企业想在昨天就进入市场。此外,初创企业、小企业和销售团队因乐观地设定生产日期,他们没有检查开发一个健壮的生产就绪系统所需的真正努力。在这种情况下,许多工程师要么拒绝与管理层对抗,要么发现他们的担忧被置若罔闻。最终的结果是为了满足不切实际的最后期限而偷工减料,这导致设计只包含功能代码,只在一系列严格控制的条件下工作。

导致功能性而非生产性嵌入式系统发布的最后一个因素是缺乏对怎么构建面向生产的嵌入式系统的了解。嵌入式开发人员供不应求,这种情况导致公司用刚从学校毕业的学生或来自不同学科的工程师来填补关键职位,如web或应用程序开发。结果是在如何正确设计和实现健壮的嵌入式系统方面存在知识缺口,这些系统不需要每天更新来修补错误和修复安全问题。

然而,绿色和跨学科工程师并不是故事的全部,导致人们对生产嵌入式系统的真正含义缺乏了解。训练有素且经验丰富的工程师通常会被要求开发原型或概念验证。为了向管理层演示,工程师们展示了一个基于功能示例代码的漂亮功能原型。演示效果很好,但该系统仅在受控条件下工作。但由于演示进行得很顺利,管理层希望立即交付系统,而不了解要使系统投入生产还需要做很多工作。

嵌入式系统正在进入我们生活的每一个角落。对于在受控条件下运行的一些设备来说,嵌入式开发人员仅使用功能代码可能是好的。但是,随着物联网和自主智能社会的快速发展,发布功能性代码而不是生产性代码的危险趋势是一场迟早会发生的事故。

搜索建议:
热评

 牙签刺激阳溪穴降血压

阳溪穴在手背上,也称为“血压反应区”。拍打阳溪穴时,如果有刷烈疼痛的感觉,高血压必定上升到160一180毫米汞柱,此时应采用血压计测定,若达到160一180毫米...(展开)

热评

 想“实名举报”该怎么办?

想实名举报,首先要明白一个原则,即不得越级上报。举例,想举报村主任,即从乡镇政府有关部门开始。如解决不满意,就将乡镇有关部门处理意见+个人意见,到县政府有关部门...(展开)