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

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

3天内不再提示

嵌入式软件开发的十二大基本要素(三):DevOps

IAR爱亚系统 来源:IAR爱亚系统 2023-05-12 11:38 次阅读

在上文《嵌入式软件开发的十二大基本要素(二):代码性能》中,我们分析了代码性能如何具体影响投资回报率(ROI)和总拥有成本(TCO)。

本文为白皮书系列第三部分,将分析工作流程对生产力的具体影响。

一般来说,在现代开发工作流程中,每增加一行代码或修改软件都会导致软件项目的重新构建。在这种情况下,如果代码太多,就需要很长的时间来构建,从而导致开发周期因为这个等待时间而增加。

这如何转化为公司的优势?

Steve McConnell 的《Software Estimation: Demystifying the Black Art》一书中包含了一张从估算模型 Cocomo II(建设性成本模型)中得出的图表,该图表以人月为单位的工作与以代码行 (SLOC) 为单位的项目规模作对比。如果我们研究 COCOMO II 工作量公式:

工作量 = 2.94 * EAF * (KSLOC)E

EAF:是由成本驱动因素得出的工作量调整系数。

E:是由五个规模驱动因素得出的指数。

KSLOC:以千代码行为单位。

工作量公式中的 EAF 仅仅是与项目的每个成本驱动因素对应的工作量乘数的乘积。

观察下图中从《COCOMO II - 模型定义手册》中提取的成本驱动因素,有很大的比重。在最坏的情况下,极低的评级水平对工作量调整系数 (EAF) 的影响 = 1.40 (1.20*1.17),在最好的情况下,评级水平非常高,EAF=0.66(0.84*0.78)。

75a66e2c-f005-11ed-90ce-dac502259ad0.png

图表:语言和工具经验(LTEX)和软件工具的使用(TOOL)

这将直接影响整个开发团队的生产力。对企业的影响可以在 http://softwarecost.org/tools/COCOMO/ 免费计算和调整。这同样适用于设计和代码生成工具。自动生成的代码的构建时间较长,会影响到设计本身的生产力,因为在进行设计之前,需要对更改或新的逻辑进行测试并集成到整个系统中。

根据不同的客户反馈,以及在客户案例中所述,与其他商业工具相比,IAR Embedded Workbench 的构建速度至少是其两倍。这也同样适用于 IAR 功能安全版本的产品。而跨平台支持的 IAR 构建工具在使用相同的硬件主机的 Linux 上的构建时间,显示出更好的性能(快 4 倍)。在 Ubuntu 上执行标准 C-STAT 静态分析检查所需时间是在 Windows 上的 25%。

更快地交付构建和分析结果意味着持续交付 (CD) 能够更快地收敛。

75c9e38e-f005-11ed-90ce-dac502259ad0.png

图表:IAR Embedded Workbench与IAR构建工具的构建时间比较

图中显示的构建时间使用了:

– 574个C/C++源文件

– 最高的编译器优化级别

– 项目构建后进行分析

– 比较基于相同的主机硬件,Intel i7-8700K,24 GB RAM

– 使用 1、2、4和8个CPU内核

同样,一般来说,在 Ubuntu 上使用 IAR 构建工具构建嵌入式软件项目比在 Windows 上使用 IAR Embedded Workbench 构建更快,通常前者构建项目的时间不到后者的 50%。

此外,在现代嵌入式开发工作流程中,采用自动化流程来确保质量并持续构建和测试是一个基本需求。当使用跨平台框架中底层命令行工具实现了相同功能的正确 DevOps 实践时,嵌入式软件研发团队可以实现更短的新功能上市时间。

IAR 解决方案支持 Ubuntu、Red Hat 和 Windows 上的现代可扩展构建服务器拓扑结构,可用于 CI/CD 管道,包括虚拟机、容器 (Docker) 和自我托管的运行器。

审核编辑 :李倩

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

    关注

    4981

    文章

    18281

    浏览量

    288387
  • 软件开发
    +关注

    关注

    0

    文章

    554

    浏览量

    27177
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47681

原文标题:嵌入式软件开发的十二大基本要素(三):DevOps

文章出处:【微信号:IAR爱亚系统,微信公众号:IAR爱亚系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式软件开发需要些什么知识?

    的知识点就这些。一,要求精通C语言编程,最好有些汇编知识. 二,要求英语功底要好,因为一些芯片手册都是英语写的. ,要有数字电路和模拟电路的知识.因为在嵌入式软件开发后期测试的时候,都是依靠一些硬件设备
    发表于 10-14 09:19

    嵌入式软件开发需要学习什么?

    嵌入式软件开发需要学习什么? 嵌入式软件开发,一个发展迅速的行业,不少学者入门的第一个问题肯定是嵌入式
    发表于 01-31 14:45

    诚聘嵌入式软件开发

    猎头职位:嵌入式软件开发【深圳】工作职责:1.TGY电源柜项目软件的编制和调试工作; 2.TGY电源柜老项目的在线维护,软件平台的建立; 3.容量显示仪BMS产品的
    发表于 03-24 10:49

    诚聘嵌入式软件开发

    猎头职位:嵌入式软件开发【成都】工作职责:1.阅读客户或者研发提供的需求,进行需求分析; 2.根据项目需求和研发能力编制研发计划; 3.根据项目需求和所使用的技术编写详细设计说明书;4.根据详细
    发表于 04-24 11:59

    嵌入式系统的三要素

      嵌入式系统三要素  嵌入式系统的基本要素嵌入性、专用性与计算机系统。  (1)
    发表于 06-28 08:48

    嵌入式软件开发中的程序架构

    单片机软件开发的初期大多数开发者采用的都是简单的前后台顺序执行架构。在嵌入式软件开发中,程序架构主要分为种,本篇文章将对这
    发表于 02-02 06:58

    嵌入式软件开发与非嵌入式软件开发的区别?

    嵌入式软件开发与非嵌入式软件开发区别?设备驱动开发与裸机驱动开发区别?
    发表于 04-02 06:29

    嵌入式系统的基本要素

    1.嵌入式系统定义:以应用为中心,计算机技术为基础,软硬件可剪裁,适应应用系统对功能,成本,体积,可靠性,功耗严格要求的计算机系统。2.嵌入式系统的基本要素:
    发表于 10-27 08:13

    嵌入式系统的基本要素

    统,后者是设备4.嵌入式系统的基本要素嵌入型、专用性、计算机系统若干个嵌入式系统的例子:嵌入式
    发表于 12-22 06:48

    如何学习嵌入式软件开发

    该不该放弃嵌入式、单片机这条路?如何学习嵌入式软件开发
    发表于 12-24 06:32

    如何学习嵌入式软件开发

    1. 如何学习嵌入式软件开发嵌入式软件开发一定要结合开发板来学习,所有的知识都可以在开发板上
    发表于 02-11 07:33

    ARM嵌入式软件开发

    ARM嵌入式软件开发ARM嵌入式软件开发ARM嵌入式软件开发
    发表于 01-15 17:29 63次下载

    嵌入式系统三个基本要素_嵌入式系统应用实例

    嵌入式系统的三个基本要素嵌入性、专用性与计算机系统。
    发表于 08-25 11:01 9126次阅读
    <b class='flag-5'>嵌入式</b>系统三个<b class='flag-5'>基本要素</b>_<b class='flag-5'>嵌入式</b>系统应用实例

    IAR嵌入式软件行业白皮书 中文版《嵌入式软件开发十二大基本要

    汇集了IAR内部资深专家技术和经验的嵌入式软件行业白皮书《嵌入式软件开发十二大基本要素》。该白
    发表于 02-28 14:18 0次下载

    嵌入式软件开发基本要素之代码质量

    IAR 的嵌入式开发解决方案涵盖了所有的嵌入式软件开发基本要素,增加了提高生产力和效率的价值,保证了质量,并加快了上市时间。这一切可以通过投资回报率(ROI)和总拥有成本(TCO)的用
    发表于 05-15 16:36 414次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件开发</b><b class='flag-5'>基本要素</b>之代码质量