matlab求覆盖率程序,使用第三方工具收集代码覆盖率指标

该文介绍如何在Matlab中设置和运行覆盖率分析,包括模型覆盖率和SIL(Software-In-The-Loop)代码覆盖率。通过多次仿真,使用不同输入信号以提高MC/DC覆盖率,并使用第三方工具(如LDRA或BullseyeCoverage)进行代码覆盖测量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初始设置

确保模型是新打开的。

model='rtwdemo_sil_topmodel';

close_system(model,0)

open_system(model)

696f8e9c8614dd1754290d10ae6ab723.png

删除现有编译文件夹。

buildFolder=RTW.getBuildDir(model);

if exist(buildFolder.BuildDirectory,'dir')

rmdir(buildFolder.BuildDirectory,'s');

end

配置模型覆盖率报告的生成设置。

set_param(model, 'RecordCoverage','on')

clear covCumulativeData

设置激励数据。

T=0.1; % sample time

[ticks_to_count, reset, counter_mode, count_enable, ...

counter_mode_values_run1, counter_mode_values_run2, ...

count_enable_values_run1, count_enable_values_run2] = ...

rtwdemo_sil_topmodel_data(T);

在 Normal 模式下运行仿真

该模型配置为收集模型覆盖率指标。仿真完成后,将打开模型覆盖率报告。使用覆盖率显示窗口从模型中的模块导航到覆盖率报告的相应部分。

counter_mode.signals.values = counter_mode_values_run1;

count_enable.signals.values = count_enable_values_run1;

set_param(model,'SimulationMode','normal');

设置仿真数据检查器以交互式查看和比较仿真结果。

Simulink.sdi.view;

Simulink.sdi.clear;

运行仿真。

simout_normal_run1 = sim(model, 'ReturnWorkspaceOutputs', 'on');

捕获结果。

Simulink.sdi.createRun('

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值