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

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

3天内不再提示

关于持续集成与基于模型的设计的分析和应用

MATLAB 来源:djl 2019-09-12 09:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

持续集成(Continuous Integration)在纯软件开发中是一个比较通用的实践:

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题。

持续集成通常伴随着以下几个部分:

和版本管理工具友好集成

编译自动化

测试自动化

例如,张三开发了一个新功能,他所在的版本开发分支为Testing。他在提交代码后(当然自己需要先测试一下),系统可以自动编译,并运行回归测试用例。在确定功能稳定可用后,Testing分支可合并到主分支。

大部分MBD(基于模型的设计,Model-Based Deisgn)客户都已经比较好地使用了版本管理工具,例如SVN或者Git。很多客户也能开发一些MATLAB脚本做一些自动化编译,例如:

使用Embedded Coder自动产生算法层C代码,将C代码自动拷贝到TI的CCS工程和驱动部分代码整合,然后自动调用CCS的编译功能进行编译链接产生最终二进制文件,此后可以将二进制文件自动下载到开发板芯片中编译执行。

MBD之所以为一种开发效率高的开发模式,用户会将主要精力集中于Model-In-the-Loop(MIL)的开发。在MIL层面,用户会开发大量的单元测试用例,在和用户的讨论中发现,有一种场景比较实用:

提交模型+自动回归测试+自动报告生成

本文以Git、GitLab、Jenkins为主要工具,介绍如何配置MBD模式下的自动回归测试+自动报告生成。

详细配置

关于持续集成与基于模型的设计的分析和应用

注意:通常情况下,Jenkins Server会选择一个计算能力较强的服务器,本文为了方便选择将Simulink和Jenkins装在同一机器上。

1. GitLab的项目创建

先在GitLab下建立一个项目,本地Git和GitLab Server可以选择SSH连接也可选择HTTPS方式,本文选择HTTPS。

关于持续集成与基于模型的设计的分析和应用

然后在本地的Simulink工程目录,打开Git Bash。

>> Git init

>> Git clone https://insidelabs-git.mathworks.com/mozhou/SBR.git

2. Simulink和Git集成

本文中,Git可视为GitLab的客户端。Simulink可以直接在界面中,进行Git的操作,见下图:

关于持续集成与基于模型的设计的分析和应用

建议直接用Git命令行操作,优势如下:

Git命令行灵活方便,易于脚本化。

想要熟悉Git命令,自己最好从头开始,用Git init、Git add、Git commit、Git push把Simulink工程中的文件添加到GitLab Server。也可理解一个Simulink工程中哪些文件是永久文件(需要添加到版本库),哪些是中间文件(不需要添加到版本库)。

Simulink是比较智能的。

一旦你用手动方式做了一遍Git操作,Simulink就自动“记得”哪些文件和Git库是有关联。

3.Jenkins的配置

首先,安装Jenkins时候装上必用的几个plugin :Git plugin、GitLab plugin、GitLab Hook plugin。然后在Jenkins里面建立项目。

配置源代码GitLab仓库设置

关于持续集成与基于模型的设计的分析和应用

配置BuildTrigger

在GitLab的项目的settings -> integrations:

关于持续集成与基于模型的设计的分析和应用

加上webhook后可以测试一下。

关于持续集成与基于模型的设计的分析和应用

然后回到Jenkins的项目设置:

关于持续集成与基于模型的设计的分析和应用

配置编译脚本:

关于持续集成与基于模型的设计的分析和应用

runMyTests.m 是一个MATLAB脚本,它的功能就是将指定位置的测试用例找到,然后批量执行所有回归测试用例,最后输出指定格式的报告。

关于持续集成与基于模型的设计的分析和应用

关于持续集成与基于模型的设计的分析和应用

关于持续集成与基于模型的设计的分析和应用

3. 运行

打开模型

关于持续集成与基于模型的设计的分析和应用

浏览测试用例:测试用例一共有6个

关于持续集成与基于模型的设计的分析和应用

编辑模型后,提交到GitLab。

关于持续集成与基于模型的设计的分析和应用

在Jenkins上编译成功,查看编译和测试报告。

关于持续集成与基于模型的设计的分析和应用

关于持续集成与基于模型的设计的分析和应用

在实际的工程项目中,随着项目和人员的扩展,越来越多的开发人员会利用合适的代码版本管理和持续集成工具进行并行开发。Git、GitLab、Jenkins这个组合适用于任意大小规模的持续集成开发模式。持续集成也是敏捷开发的一个最佳实践。而MBD的模式——早期验证、虚拟集成完全符合敏捷开发的理念。越来越多的开发人员在使用MBD的同时也关注如何拥抱敏捷开发。

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

    关注

    14

    文章

    10371

    浏览量

    91770
  • 源代码
    +关注

    关注

    96

    文章

    2953

    浏览量

    70686
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Imagination GPU 正式接入 Mesa CI

    我们已在开源驱动的自动化设备端测试迈出重要一步:基于德州仪器(TI)AM68架构、搭载IMGBXS-4-64GPU的设备集群现已集成至Mesa上游持续集成系统。MesaCI是一个持续集成框架,作为一
    的头像 发表于 03-02 09:17 650次阅读
    Imagination GPU 正式接入 Mesa CI

    ethercat分析仪黄色指示灯持续闪烁问题

    ethercat分析仪,具体型号是HPM01ECTOOL。上电之后,黄色指示灯持续闪烁,上位机软件无法读到数据。电脑端查看该设备被设别为一大容量存储设备,弹出后拔插无效,尝试过上位机上更新MCU及FPGA版本,但均无效,求解决方案。
    发表于 02-03 15:35

    HPM01ECTOOL型号ethercat分析仪,上电后黄灯持续闪烁

    ethercat分析仪,具体型号是HPM01ECTOOL。上电之后,黄色指示灯持续闪烁,上位机软件无法读到数据。电脑端查看该设备被设别为一大容量存储设备,弹出后拔插无效,尝试过上位机上更新MCU及FPGA版本,但均无效,求解决方案。
    发表于 02-03 09:51

    MDD品牌三极管2SC2383数据手册

    高压:VCEO=160V大持续集电极电流能力
    发表于 12-30 17:14 0次下载

    星地数据大模型融合分析与应用分系统平台的应用与未来发展

        星地数据大模型融合分析与应用分系统    北京华盛恒辉星地数据大模型融合分析与应用分系统,是一套整合卫星通信与地面网络数据,依托大模型
    的头像 发表于 12-29 10:12 321次阅读

    成都汇阳投资关于国产开源模型持续突破,国产AI 竞争力增强

           国产开源模型领跑 ,AI 生态有望加速繁荣 根据独立 AI 基准测试与分析平台 Artificial Analysis 最新榜单 , 国产模型 KimiK2Thinking
    的头像 发表于 11-24 14:01 755次阅读

    成都汇阳投资关于模型白热化,应用加速分化

           大模型: 加速多模态研发 ,闭源模型逐步逆袭开源 多模态技术路线尚未收敛 , 国内外大模型厂商持续刷新 SOAT。 图片领域 ,GPT-4o 图像生成功能引发热潮后 ,谷
    的头像 发表于 09-09 09:30 1109次阅读

    知识分享 | 使用MXAM进行AUTOSAR模型的静态分析:Embedded Coder与TargetLink模型

    分析:EmbeddedCoder与TargetLink模型文章内容来源:MES模赛思官方网站AUTOSAR(AUTomotiveOpenSystemARchite
    的头像 发表于 08-27 10:04 904次阅读
    知识分享 | 使用MXAM进行AUTOSAR<b class='flag-5'>模型</b>的静态<b class='flag-5'>分析</b>:Embedded Coder与TargetLink<b class='flag-5'>模型</b>

    构建适用于三维集成系统的互连线长分布模型

    在三维集成电路设计中,TSV技术通过垂直互连显著优化了互连线长分布特性。基于伦特定律的经典分析框架,可构建适用于三维集成系统的互连线长分布模型
    的头像 发表于 08-21 10:41 1363次阅读
    构建适用于三维<b class='flag-5'>集成</b>系统的互连线长分布<b class='flag-5'>模型</b>

    亚马逊云科技现已上线OpenAI开放权重模型

    开放权重模型,向数百万亚马逊云科技客户开放。 客户可利用这些全新开放权重模型的先进推理能力,支持Agentic工作流、代码生成、科学分析和数学问题求解等应用。 开放权重模型的推出扩展了
    的头像 发表于 08-06 19:29 971次阅读

    模型在半导体行业的应用可行性分析

    的应用,比如使用机器学习分析数据,提升良率。 这一些大模型是否真的有帮助 能够在解决工程师的知识断层问题 本人纯小白,不知道如何涉足这方面 应该问什么大模型比较好,或者是看什么视频能够涉足这个行业
    发表于 06-24 15:10

    十字形多自由度超声电机接触分析模型研究

    摘 要:十字形多自由度超声电机其动子绕X、Y轴旋转与绕Z轴旋转的驱动机理是不同的,根据弹性接触理论,对其进行了分别考虑,并建立了电机摩擦接触分析模型。利用建立的模型,对多自由度电机机械特性进行了估算
    发表于 06-17 09:04

    IGBT模块吸收回路分析模型

    尽管开关器件内部工作机理不同,但对于吸收电路的分析而言,则只需考虑器件的外特性,IGBT关断时模型可以等效为电压控制的电流源,开通时可以等效为电压控制的电压源。下面以下图所示的斩波器为例提出一般
    的头像 发表于 05-21 09:45 1416次阅读
    IGBT模块吸收回路<b class='flag-5'>分析</b><b class='flag-5'>模型</b>

    答疑 | 台灯会影响白色树脂打印的模型开裂变黄吗?

    极低,通常不会对模型有直接影响。 先浅浅分析一下原因: 第一,“开裂”主要与树脂固化时的应力、打印参数设置不当,或后处理(如清洗、固化)不充分有关。 第二,”变黄“大多是紫外线长期照射引发了树脂氧化,或
    发表于 05-19 17:23