0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

迁移复杂的嵌入式系统

星星科技指导员 来源:嵌入式计算设计 作者:OLE N. OEST 2022-11-07 14:18 次阅读

迁移当今复杂的军事和商业航空电子系统可能是一个相当艰巨的命题,但可以采取几个步骤来缓解一些头痛。

在当今的关键军事、商业航空电子设备和其他系统中,有数亿行遗留代码在使用。这些遗留系统中的大多数都是使用现已过时(或过时)的编程语言和过时且不再可用的开发系统开发的。因此,这些遗留系统的维护和升级变得越来越困难和昂贵,迫使开发人员将其应用程序迁移到新的开发主机、编译器、操作系统甚至编程语言。

当确实需要升级系统时,请避免此时对应用程序的其他方面进行现代化改造的诱惑,例如将应用程序转换为新的编程语言。迁移到“最新和最伟大的”可能很诱人,但通常更明智的做法是放慢速度,仅在真正需要和经济上合理时才迁移。理想情况下,应使用原始开发系统和语言或混合语言配置中同一开发系统支持的另一种语言添加新功能。

迁移复杂的嵌入式软件 - 特别是在需要实时响应和高度安全关键性的应用中 - 可能是一个昂贵、耗时且有风险的过程,需要更改代码、重新测试甚至重新认证。有许多因素使遗留应用程序难以移植,包括编程语言的细微差别、编译器实现、运行时和硬件依赖关系、使用超出定义的编程语言的扩展以及不兼容的应用程序代码结构。迁移应用程序还可能会影响先前的认证工作(例如,DO-178)。

尽管如此,保留经过充分验证的应用程序并使它们能够在不同的处理器、开发环境、编译器甚至更新的编程语言上运行仍然至关重要。任务和安全关键型软件的成本可能远远超过 10 美元/行和数年的创建成本(对于带有工件的安全关键型软件,每行超过 100 美元)。相比之下,传统软件通常可以以每行几美元的价格迁移,并在一年内重新部署。

在考虑是否迁移旧版应用程序时,必须考虑许多因素。其中包括嵌入式应用程序的性能、资源约束(如内存和电源)、时序约束、数据布局(必须与底层硬件匹配)、新功能的可扩展性以及更改目标字长的后果(例如,从 8 位到 16 位、16 位到 32 位)。其他因素包括可读性和可维护性、更改的可追溯性、认证或重新认证要求,以及将 RTOS 引入裸板环境的潜在副作用。

迁移旧版应用程序的复杂性使得适当的规划至关重要。例如,在开始迁移项目之前,DDC-I 会执行迁移评估研究,以确定技术挑战并解决未知问题。有了这些信息,DDC-I 的专业服务团队可以就如何最好地进行迁移工作提出建议和技术解决方案,包括人力需求和成本估算。

更改编程语言

在所有迁移工作中最具挑战性的是将用传统语言(如 Ada 或 Jovial)编写的代码迁移到新语言(如 C 或实时 Java)上。无论是为了便于维护还是为了利用高级新语言功能,最好使用支持旧语言和新目标语言的开发环境,并能够混合语言。这将允许您缓慢迁移并逐步进行测试。开发人员可能还希望利用可加快转换过程的工具和服务。

例如,DDC-I提供了半自动化工具,以可预测和直接的方式转换应用程序,同时保留原始应用程序结构和源代码注释。这使得转换后的代码可读且可维护,最大限度地降低引入软件错误的风险,并消除对软件转换工具的任何进一步依赖。使用新语言后,可以使用更新的语言优化工具对应用程序进行优化,使用新功能进行增强,或转换为模型语言(例如 UML)。

即使借助这些工具,转换应用程序也很少是微不足道的,尤其是在需要任务或安全关键性时。尽管如此,考虑到与开发新应用程序相关的过高成本和时间,迁移现有应用程序通常是最佳选择。借助适当的规划、转换工具和在该领域具有特定专业知识的专业服务公司,开发人员可以大大加快转换过程,同时降低风险。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19155

    浏览量

    229050
  • 嵌入式
    +关注

    关注

    5068

    文章

    19008

    浏览量

    302988
收藏 人收藏

    评论

    相关推荐

    嵌入式系统与物联网的结合

    随着科技的飞速发展,嵌入式系统和物联网(IoT)已经成为现代技术领域的重要组成部分。嵌入式系统是指嵌入到设备或
    的头像 发表于 11-06 10:23 196次阅读

    嵌入式系统的启动流程

    嵌入式系统的启动流程是一个复杂但有序的过程,它涉及从系统上电到操作系统内核及应用程序启动的多个阶段。
    的头像 发表于 10-05 17:44 279次阅读

    嵌入式系统的原理和应用

    嵌入式系统是一种专用的计算机系统,其设计初衷是执行特定任务,而非作为通用计算机使用。这类系统通常作为更大系统的一部分,起到控制、监控或辅助的
    的头像 发表于 10-05 17:03 518次阅读

    嵌入式系统的未来趋势有哪些?

    智能家居领域,嵌入式系统可以集成语音识别和自然语言处理技术,去实现智能家电的语音控制。 2. 更强大的处理能力 在未来的嵌入式系统将具备更加强大的处理能力,以满足日益变得
    发表于 09-12 15:42

    嵌入式系统的体系结构包括哪些

    嵌入式系统的体系结构通常是一个复杂而精细的架构,旨在满足特定应用需求,同时兼顾系统的可靠性、效率、成本和体积等多方面因素。以下是对嵌入式
    的头像 发表于 09-02 15:25 730次阅读

    嵌入式系统怎么学?

    嵌入式系统怎么学? 随着物联网、智能制造等新技术的兴起,嵌入式系统的应用范围更加广泛。包括但不限于工业控制、汽车电子、医疗设备、智能家居、智慧城市、消费电子、通信设备等。学习
    发表于 07-02 10:10

    嵌入式多核系统崛起,IAR将复杂化为简易的利器

    随着智能科技飞速发展及广泛应用,高性能嵌入式系统已深度融入各领域,如消费电子、智能家居、医疗以及工业控制等,无数嵌入式设备悄然改变着我们的日常生活与工作。然而,单核系统在性能提升上遭遇
    的头像 发表于 06-06 16:22 723次阅读

    入门嵌入式系统这些知识你知道吗?

    嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的
    发表于 05-03 09:54 523次阅读

    再谈嵌入式实时操作系统

    由于嵌入式处理器早期功能单一且运算能力不高,嵌入式应用已不能满足各个领域不断增长的需求。嵌入式操作系统应运而生,嵌入式操作
    的头像 发表于 04-09 17:27 739次阅读
    再谈<b class='flag-5'>嵌入式</b>实时操作<b class='flag-5'>系统</b>

    嵌入式片上系统是什么

    嵌入式片上系统(Embedded System On Chip,简称SoC)是一种集成度极高的复杂系统,它在一个芯片上集成了微处理器内核、RAM、USB、IEEE1394、Blueto
    的头像 发表于 03-28 14:55 551次阅读

    嵌入式fpga是什么意思

    嵌入式FPGA是指将FPGA技术集成到嵌入式系统中的一种解决方案。嵌入式系统是一种为特定应用而设计的计算机
    的头像 发表于 03-15 14:29 1188次阅读

    fpga是嵌入式

    FPGA(现场可编程门阵列)不是嵌入式系统,但FPGA在嵌入式系统中有着重要的应用。
    的头像 发表于 03-14 17:19 2138次阅读

    嵌入式系统发展前景?

    嵌入式系统发展前景? 嵌入式系统,从定义上来说,是一种专用的计算机系统,它被设计用来控制、监视或者帮助操作一些设备、装置或机器。在过去的几年
    发表于 02-22 14:09

    嵌入式系统的应用实例

    嵌入式系统的三个基本要素是嵌入性、专用性与计算机系统
    的头像 发表于 01-22 09:57 1009次阅读

    什么是嵌入式系统嵌入式系统的具体应用

    嵌入式,一般是指嵌入式系统。用于控制、监视或者辅助操作机器和设备的装置。
    的头像 发表于 12-20 13:33 2382次阅读