DevOps提出至今已逾十年,作为热门概念,DevOps近年来频频出现于各大技术社区和媒体文章中,备受行业大咖追捧。作为新一代持续集成/持续开发(CI/CD)的方法论,DevOps正被快速引入嵌入式软件开发领域中。

为什么嵌入式软件开发对DevOps的接受度越来越高?其根本原因就在于,目前暂时没有比DevOps更能显著降低成本、提升效率的方法了。

谷歌的DevOps研究和评估(DevOps Research and Assessment,DORA)团队于9月29日发布了《2022年DevOps促进状态报告》,从吞吐量(代码变更的准备时间和部署频率的综合)、稳定性(恢复服务的时间和变更失败率的综合)和运营业绩(可靠性)三个维度对受访者进行了聚类分析,结果显示,未使用DevOps的受访者很少能在半年内将软件投入生产,即便成功投产,也有16%-30%的失败率。

失败意味着什么?根据IT软件质量联盟(Consortium for IT Software Quality,CISQ)的调查显示,2020年全美劣质软件成本消耗高达2.1万亿美元,每个失败项目造成了约5000万美元的经济损失。

嵌入式软件开发&DevOps

对于嵌入式软件开发来说,应用DevOps并非易事。与传统软件领域的DevOps不同的是,嵌入式软件开发的DevOps严重依赖硬件,软硬件存在紧耦合的情况。随着嵌入式系统复杂程度的直线飙升,硬件成为了掣肘嵌入式软件开发领域DevOps实施的瓶颈,不仅增加了部署的成本与实践,还有降低开发质量的可能。对硬件进行模拟仿真成为了最佳解决方案。

天目全数字实时仿真软件SkyEye,是基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式对硬件进行行为级别的仿真和建模,可模拟复杂嵌入式系统硬件。

▲ SkyEye 界面图

基于SkyEye搭建的嵌入式系统虚拟化运行环境,工程师可不受物理硬件限制,随时访问目标系统,快速搭建虚拟硬件模型并提前进行开发、测试和验证工作,实现高效率、高质量的软件交付。

基于SkyEye的DevOps痛点及应对方法

研发周期瓶颈

选择对硬件进行仿真模拟是尽快完成开发、缩短研发周期的有效方法,但工业软件需要选择满足苛刻设计要求的最佳仿真平台。SkyEye可进行硬件行为级仿真,是为工业软件量身定制的仿真平台。

仿真的准确与快速

仿真的准确性与速度似鱼与熊掌,往往不可兼得,对于航空、航天、轨交等安全关键领域而言,准确性通常更为重要。基于DevOps搭建的流水线,仿真程度越是准确,开发团队对代码的信心就越高,软件发布的准备也会更为完备。

如需开发基于特定SoC芯片的嵌入式软件,在无法获得芯片实物的情况下,就可以考虑应用SkyEye。SkyEye支持主流的嵌入式硬件平台,可运行国内外主流的操作系统,对国产生态的支持尤为出色。通过利用基于LLVM的动态二进制翻译技术,SkyEye可使虚拟处理器在典型的桌面计算机上运行速度达到2000MIPS以上。

准确性与速度可通过SkyEye实现兼顾。

无限制的无损测试

基于SkyEye搭建的嵌入式系统虚拟化运行环境,工程师可不受物理硬件限制,在不损坏实验室、不破坏实际设备的情况下对虚拟设备进行反复的压力测试、真空测试等——涉及安全关键的嵌入式硬件往往伴随着高昂的硬件制作成本。

开发团队可应用SkyEye随时访问目标系统,并基于此进行无穷无尽的场景组合测试,从而加快产品测试速度,更大幅降低DevOps应用成本。

与第三方语言或者模型集成

仿真平台如无法与第三方语言或模型集成,DevOps实际的可行性就要大打折扣。SkyEye目前已实现与SystemC集成进行时序仿真,可与MATLAB/Simulink集成进行多领域协同仿真,DevOps实施的便捷性得到了有效保障。

▲ SkyEye与MATLAB连接图

对嵌入式软件开发领域而言,使用SkyEye对硬件进行高精度的仿真模拟,能够有效规避应用DevOps时原有硬件问题带来的风险,大大提高开发效率、降低开发成本。

嵌入式软件开发为什么需要DevOps?相关推荐

  1. 专业嵌入式软件开发——全面走向高质高效编程(含DVD光盘1张)

    -- 专业嵌入式软件开发--全面走向高质高效编程(含DVD光盘1张) 李云 编著 ISBN 978-7-121-14783-8 2012年1月出版 定价:108.00元(含DVD光盘1张) 16开 6 ...

  2. 从事嵌入式开发需要掌握哪些知识?从事嵌入式软件开发的前景如何?

    什么是嵌入式? 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一.嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器.存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很 ...

  3. 嵌入式软件开发的特点、设计流程、嵌入式软件的结构

    嵌入式软件开发的特点.设计流程.嵌入式软件的结构 一:嵌入式软件开发的特点 1.嵌入式软件设计时更强调软硬件协同工作的效率和稳定性. 2.嵌入式软件的结果通常需要固化在目标系统的储存器或处理器内部储 ...

  4. 嵌入式软件开发工程师谈软件架构的设计

    嵌入式软件开发工程师谈软件架构的设计 注:此处嵌入式特指基于linux平台,单片机和其他rtos不在讨论范围 笔者从事嵌入式软件开发有6,7个年头,bsp,驱动,应用软件,android hall,f ...

  5. 嵌入式软件开发注意事项一

    嵌入式软件开发注意事项一 1.首先对测试板进行各方面硬件性能的测试:电源测试,时钟测试等等.要确保硬件最基本的几个性能是正常的,否则后面真的无法进行软件的开发,因为如果你没有确保硬件的正确性,那么后面 ...

  6. 嵌入式软件开发之常用软件(六)

    1.前言 作为一个软件开发人员,除了程序能力素养方面外,还应该熟练地使用各种常用的辅助工具,所谓"工欲善其事,必先利其器":通过这些工具能提升自己的专业素养,且在工作中选择合适的工 ...

  7. 旷视科技 face++ 嵌入式软件开发-面试---深度好文

    今天2019-5-15号,去参加了旷视科技-嵌入式软件开发-岗位的面试,觉得公司还不错,在这里总结一下,方便以后去面试的同学和自己的总结回顾. 岗位描述: 旷视嵌入式开发主要分两个方向:偏应用岗位 和 ...

  8. 让我在这枯燥的实验室机房里,告诉你们什么是嵌入式软件开发

    让我在这枯燥的实验室机房里,告诉你们什么是嵌入式软件开发 在嵌入式开发软件中查找和消除潜在的错误是一项艰巨的任务. 通常需要英勇的努力和昂贵的工具才能从观察到的崩溃,死机或其他计划外的运行时行为追溯到 ...

  9. 从事嵌入式软件开发的好处是什么

    很多学员都有去了解过嵌入式,但是之后就杳无音信了,这是为什么呢?是大家对嵌入式没有信心,还是对自己没有信心呢?下面小编就来给大家介绍下从事嵌入式软件开发的好处是什么吧. 一.从事嵌入式软件开发的好处是 ...

最新文章

  1. MySQL 性能跟踪语句
  2. windows终止处理程序( __try __finally) 简单解析
  3. typescript使用in关键字进行类型守卫
  4. 使用XML文件方式配置log4cxx(log4cxx xml例子)
  5. LightOJ 1353 - Paths in a Tree DFS
  6. Jenkins添加注册用户默认权限/Add a default authenticated user role
  7. isql连接sybase_使用isql连接Sybase ASE数据库的常见错误及处理方式
  8. javac编译带有package的java文件
  9. 【ARM】嵌入式 ARM Linux 下移植 USB 蓝牙、交叉编译 bluez 各种版本
  10. 2022年上半年中国企业员工主动离职率大幅下降至6%;三成以上中国企业大部分高管岗位没有后备人选 | 美通社头条...
  11. ever 逾期_4ever的完整形式是什么?
  12. mapbox中文地图_使用 Mapbox 地图
  13. SystemUI Q 移植到android studio开发
  14. 深度硬核,思维导图拯救拖延症患者!
  15. html5游戏开发_HTML5游戏开发–第10课
  16. 佛语经典语录(300条)
  17. 花钱办活动效果不明?零售企业应该这样量化促销活动成效
  18. python深度学习之TCN实例
  19. JRtplib开发笔记(四):JRtplib的VS开发环境搭建以及Demo
  20. mysql权限模型子查询 casewhen子查询

热门文章

  1. 如何进行120hz的屏幕录像 OBS
  2. Qt error: /usr/bin/ld: cannot find -lGL: No such file or directory
  3. Java开源工具库使用之java源代码生成库JavaPoet
  4. 在Ubuntu 20.04系统里安装Flatpak软件应用无图标显示问题的解决
  5. 记录ideavim,使用tab技巧
  6. Linux--管理LVM的逻辑卷--原理+命令实操(LVM扩容+磁盘配额)
  7. nfc卡模式与标准模式_NFC 的通信模式。什么是点对点模式,什么是模拟卡和读卡器模式...
  8. 【Designing ML Systems】第 7 章 :模型部署和预测服务
  9. 自动摘要生成 tf-idf+doc2vec+句子聚类
  10. Win10无法搜索应用解决