EMS,硬件设计文件以及软件功能验证程序

This commit is contained in:
张鹏
2024-11-19 17:24:00 +08:00
parent 068b96a0ca
commit 3e80f8466a
351 changed files with 1109995 additions and 57 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,257 @@
/* Copyright 2011-2019 The MathWorks, Inc. */
body,p,table {font-family: calibri, verdana, sans-serif;}
button,.buton {font-family: calibri, verdana, sans-serif;}
button,.button {font-size: small;}
.small_font {font-size: small;}
h1 { font-weight: normal; color: #000066; }
td { vertical-align: top }
th { background-color: #eeeeee; text-align: left; }
a:link { color: #0033cc; }
a:visited { color: #666666; }
input { font-family: sans-serif, verdana, calibri; }
table {
background-color: #ffffff;
width: 100%;
}
table.toc, table.button, table.panel {
border-style: none;
}
/* LineNumber */
.LN {
font-style: italic;
color: #888888;
}
/* Comment */
.CT {
font-style: italic;
color: #117755;
}
/* PreProcessor */
PP {
/* font-weight: bold; */
color: #992211;
}
/* Keyword */
.KW {
/* font-weight: bold; */
color: #0000FF;
}
/* Datatype */
.DT {
/* font-weight: bold; */
color: #112266
}
.highlighted {
background-color: yellow;
}
.highlightedCurrent {
background-color: rgba(150, 12, 116, 0.1);
}
input.search {
background-color: #ffffff;
}
input.failedSearch {
background-color: #F78181;
}
/* ensure that code2model links are comment green */
a.code2model:link {
color: #117755;
font-style: italic;
}
a.code2model:visited{
color: #117755;
font-style: italic;
}
.toc td, .button td, .panel td {
border-style: none;
padding: 4px;
}
h1 { font-weight: normal; color: #000066; }
td { vertical-align: top }
th { background-color: #eeeeee; text-align: left; }
a:link { color: #0033cc; }
a:visited { color: #666666; }
/******* table *******/
/* default table style */
table.AltRow {
border-collapse: collapse; border: none; border-spacing: 0pt;
border-top: solid #4F81BD 1.0pt; border-bottom: solid #4F81BD 1.0pt;
}
table.AltRow th, table.AltRow td { padding: 2pt 8pt 2pt 2pt }
/* default alternating row style */
table.AltRow tr.even td { background-color:#D3DFEE; border:none;}
table.AltRow tr.odd td { background-color:#FFFFFF; border:none;}
/* tr class="heading" */
table.AltRow tr.heading td, table.AltRow th {
background-color:#FFFFFF; font-weight:bold; border:none;
border-bottom: solid #4F81BD 1.0pt;
}
/* table class="FirstColumn" */
table.FirstColumn td:first-child { font-weight:bold }
/* table class="TotalRow" */
table.TotalRow tr:last-child { font-weight:bold }
table.TotalRow tr:last-child td { border-top: solid #4F81BD 1.0pt }
a.closeButton {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #f9f9f9), color-stop(1, #e9e9e9) );
background:-moz-linear-gradient( center top, #f9f9f9 5%, #e9e9e9 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e9e9e9');
background-color:#f9f9f9;
-webkit-border-top-left-radius:20px;
-moz-border-radius-topleft:20px;
border-top-left-radius:20px;
-webkit-border-top-right-radius:20px;
-moz-border-radius-topright:20px;
border-top-right-radius:20px;
-webkit-border-bottom-right-radius:20px;
-moz-border-radius-bottomright:20px;
border-bottom-right-radius:20px;
-webkit-border-bottom-left-radius:20px;
-moz-border-radius-bottomleft:20px;
border-bottom-left-radius:20px;
text-indent:0;
border:2px solid #dcdcdc;
display:inline-block;
color:#454143;
font-family:Arial;
font-size:15px;
font-weight:bold;
font-style:normal;
height:20px;
line-height:20px;
width:20px;
text-decoration:none;
text-align:center;
cursor: pointer;
}
a.closeButton:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #e9e9e9), color-stop(1, #f9f9f9) );
background:-moz-linear-gradient( center top, #e9e9e9 5%, #f9f9f9 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9', endColorstr='#f9f9f9');
background-color:#e9e9e9;
}
a.closeButton:active {
position:relative;
top:1px;
}
.button {
-moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
-webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
box-shadow:inset 0px 1px 0px 0px #ffffff;
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ededed), color-stop(1, #dfdfdf) );
background:-moz-linear-gradient( center top, #ededed 5%, #dfdfdf 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf');
background-color:#ededed;
-webkit-border-top-left-radius:5px;
-moz-border-radius-topleft:5px;
border-top-left-radius:5px;
-webkit-border-top-right-radius:5px;
-moz-border-radius-topright:5px;
border-top-right-radius:5px;
-webkit-border-bottom-right-radius:5px;
-moz-border-radius-bottomright:5px;
border-bottom-right-radius:5px;
-webkit-border-bottom-left-radius:5px;
-moz-border-radius-bottomleft:5px;
border-bottom-left-radius:5px;
text-indent:0px;
border:1px solid #dcdcdc;
display:inline-block;
color:black;
font-family:Arial;
font-size:12px;
font-weight:bold;
font-style:normal;
height:12px;
line-height:12px;
width:45px;
text-decoration:none;
text-align:center;
text-shadow:1px 1px 0px #ffffff;
}
.button:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #dfdfdf), color-stop(1, #ededed) );
background:-moz-linear-gradient( center top, #dfdfdf 5%, #ededed 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed');
background-color:#dfdfdf;
}.button:active {
position:relative;
top:1px;
}.button:disabled {
color:#777777;
}
ul.nav_list {
list-style-type:none;
display: block;
margin: 0;
padding: 0;
}
ul.nav_list li {
list-style-type:none;
display: inline;
margin: 0 18px 0 0;
padding: 0;
}
.nav_toolbar {
background-color: ivory;
margin-top: 0;
}
.inspect_body {
margin: 0;
margin-bottom: 0;
display: inline;
vertical-align:middle;
}
table.nav_table {
background-color: ivory;
border: none;
width: 100%;
display: inline;
vertical-align:middle;
}
table#rtwIdTracePanel > tr > td {
white-space: nowrap;
table-layout:fixed;
vertical-align:middle;
}
table.nav_table > button {
height: 20px;
}
select#fileSelector {
padding: 5px;
font-size: 16px;
line-height: 1;
border-radius: 0;
height: 34px;
}
.treeTable table{
table-layout: fixed;
}
.treeTable td:first-child > span{
display: inline-block;
text-overflow: ellipsis;
overflow: hidden;
width: 100%;
}

View File

@@ -0,0 +1,210 @@
// Copyright 2011-2017 The MathWorks, Inc.
function RTW_STRUCT(prop, value) {
this.prop = prop;
if (typeof(value) == 'undefined') {
this.value = "";
} else {
this.value = value;
}
}
// initialize the cache when code generation report is first loaded
function RTW_BOOK() {
this.length = 0;
this.rtw_pages = new Array();
this.getPage = function(file) {
return this.rtw_pages[file];
};
this.addPage = function(file) {
var page;
if (this.hasPage(file)) {
page = this.rtw_pages[file];
} else {
page = new RTW_PAGE(file);
this.rtw_pages[file] = page;
}
return page;
};
this.hasPage = function(file) {
return typeof(this.rtw_pages[file]) != 'undefined';
};
this.removePage = function(file) {
var tmp;
if (typeof(this.rtw_pages[file]) != 'undefined') {
tmp = this.rtw_pages[file];
delete this.rtw_pages[file];
this.length--;
}
return tmp;
};
}
if (!RTW_BOOK.instance) {
RTW_BOOK.instance = new RTW_BOOK();
}
function RTW_PAGE() {
this.length = 0;
this.items = new Array();
this.pagename = '';
if (arguments.length > 0 && typeof(arguments[1]) != 'undefined') {
this.pagename = arguments[1];
}
this.getItem = function(id) {
return this.items[id];
};
this.getItems = function() {
return this.items;
};
this.addItem = function(id, value) {
var tmp;
if (typeof(value) != 'undefined') {
if (typeof(this.items[id]) != 'undefined') {
this.length++;
} else {
tmp = this.items[id];
}
this.items[id] = value;
this.length++;
}
return tmp;
};
this.hasItem = function(id) {
return typeof(this.items[id]) != 'undefined';
};
this.removeItem = function(id) {
var tmp;
if (typeof(this.items[id]) != 'undefined') {
tmp = this.items[id];
delete this.items[id];
this.length--;
}
return tmp;
};
}
function rtwTableShrink(doc, obj, id, isSymbol) {
var hide, hide_text, show, show_text;
if (isSymbol) {
hide = "[-]";
hide_text = hide;
show = "[+]";
show_text = show;
} else {
hide = "[<u>hide</u>]";
hide_text = "[hide]";
show = "[<u>show</u>]";
show_text = "[show]";
}
hide = "<span class='shrink-button'>" + hide + "</span>";
show = "<span class='shrink-button'>" + show + "</span>";
if (doc.getElementsByName) {
var o = doc.getElementsByName(id);
for (var oid = 0; oid < o.length; ++oid) {
if (o[oid].style.display === "none") {
o[oid].style.display = "";
} else {
o[oid].style.display = "none";
}
}
if (o.length >= 0 && addToPage) {
addToPage(doc, o[0], 'display');
}
}
// IE supports innerText while other browsers support textContent
if (obj.textContent) {
var objText = obj.textContent;
} else {
var objText = obj.innerText;
}
if (objText.toLowerCase() === show_text.toLowerCase()) {
obj.innerHTML = hide;
} else {
obj.innerHTML = show;
}
if (addToPage) {
addToPage(doc, obj, 'innerHTML');
}
}
function rtwTableExpand(doc, controlObj, id) {
if (doc.getElementById) {
var obj = doc.getElementById(id);
if (obj && obj.style.display === "none") {
rtwTableShrink(doc, controlObj, id, false);
}
}
}
function restoreState(docObj) {
var filename = docObj.location.href;
if (RTW_BOOK.instance && RTW_BOOK.instance.hasPage(filename)) {
var page = RTW_BOOK.instance.getPage(filename);
var items = page.getItems();
var elem;
if (docObj.getElementsByName) {
for (var i in items) {
var o = docObj.getElementsByName(i);
for (var oid = 0; oid < o.length; ++oid) {
elem = o[oid];
if (items[i].prop === 'display') {
if (elem.style.display === 'none') {
elem.style.display = '';
} else {
elem.style.display = 'none';
}
} else if (items[i].prop === 'innerHTML') {
elem.innerHTML = items[i].value;
}
}
}
}
}
}
function addToPage(docObj, obj, prop) {
var filename = docObj.location.href;
if (RTW_BOOK.instance) {
var page;
if (RTW_BOOK.instance.hasPage(filename)) {
page = RTW_BOOK.instance.getPage(filename);
} else {
page = RTW_BOOK.instance.addPage(filename);
}
if (page.hasItem(obj.id)) {
page.removeItem(obj.id);
} else {
var my_struct;
if (prop === "display") {
my_struct = new RTW_STRUCT(prop, obj.style.display);
} else {
my_struct = new RTW_STRUCT(prop, obj.innerHTML);
}
page.addItem(obj.id, my_struct);
}
}
}
function rtwSwitchView(doc, obj1, obj2) {
if (doc.getElementsByName) {
var o = doc.getElementsByName(obj1);
for (var oid = 0; oid < o.length; ++oid) {
o[oid].style.display = "none";
}
if (o.length >= 0 && addToPage) {
addToPage(doc, o[0], 'display');
}
var o = doc.getElementsByName(obj2);
for (var oid = 0; oid < o.length; ++oid) {
o[oid].style.display = "";
}
if (o.length >= 0 && addToPage) {
addToPage(doc, o[0], 'display');
}
}
}

View File

@@ -0,0 +1,237 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="rtwreport.css" /><title>
'test1' 的代码生成器假设
</title>
</head>
<body onload="try {if (top) {if (top.rtwPageOnLoad) top.rtwPageOnLoad('rtwIdCoderAssumptionsPage'); else local_onload();}} catch(err) {};">
<h1>
'test1' 的代码生成器假设
</h1>
<div>
<p>
您可以检查的假设列表和所选目标环境的预期结果。有关详细信息,请参阅<a href="javascript: void(0)" onclick="postParentWindowMessage({message:'legacyMCall', expr:'helpview(fullfile(docroot,\'toolbox\',\'ecoder\',\'helptargets.map\'),\'verif_of_code_generation_assumptions\')'})" >代码生成假设的验证</a>
</p>
</div>
<div>
</div>
<h3 name="sec_Intel->x86-64_(Windows64)_目标硬件的_C_语言配置" id="sec_target_hardware">
Intel->x86-64 (Windows64) 目标硬件的 C 语言配置
</h3>
<table width="100%" border="0">
<tr>
<td align="left" valign="top">
<p>
<table class="AltRow" cellspacing="0">
<tr class="even">
<td align="left" valign="top">
BitPerChar
</td>
<td align="left" valign="top">
8
</td>
</tr>
<tr class="odd">
<td align="left" valign="top">
BitPerShort
</td>
<td align="left" valign="top">
16
</td>
</tr>
<tr class="even">
<td align="left" valign="top">
BitPerInt
</td>
<td align="left" valign="top">
32
</td>
</tr>
<tr class="odd">
<td align="left" valign="top">
BitPerLong
</td>
<td align="left" valign="top">
32
</td>
</tr>
<tr class="even">
<td align="left" valign="top">
BitPerFloat
</td>
<td align="left" valign="top">
32
</td>
</tr>
<tr class="odd">
<td align="left" valign="top">
BitPerDouble
</td>
<td align="left" valign="top">
64
</td>
</tr>
<tr class="even">
<td align="left" valign="top">
BitPerPointer
</td>
<td align="left" valign="top">
64
</td>
</tr>
<tr class="odd">
<td align="left" valign="top">
BitPerSizeT
</td>
<td align="left" valign="top">
64
</td>
</tr>
<tr class="even">
<td align="left" valign="top">
BitPerPtrDiffT
</td>
<td align="left" valign="top">
64
</td>
</tr>
</table>
<br /><table class="AltRow" cellspacing="0">
<tr class="even">
<td align="left" valign="top">
字节顺序
</td>
<td align="left" valign="top">
LittleEndian
</td>
</tr>
<tr class="odd">
<td align="left" valign="top">
有符号整数的右移是算术移位。
</td>
<td align="left" valign="top">
True
</td>
</tr>
<tr class="even">
<td align="left" valign="top">
有符号整数除法舍入方式
</td>
<td align="left" valign="top">
Zero
</td>
</tr>
</table>
</p>
</td>
</tr>
</table>
<h3 name="sec_C_语言标准" id="sec_lang_standard">
C 语言标准
</h3>
<table width="100%" border="0">
<tr>
<td align="left" valign="top">
<p>
零初始化代码已针对模型 'test1' 进行优化。
</p>
<p>
<table class="AltRow" cellspacing="0">
<tr class="even">
<td align="left" valign="top">
全局整数变量的初始值为零。
</td>
<td align="left" valign="top">
True
</td>
</tr>
<tr class="odd">
<td align="left" valign="top">
动态分配的 int 数组的每个元素的初始值为零。
</td>
<td align="left" valign="top">
True
</td>
</tr>
</table>
</p>
<p>
如果假设不正确,请使用<a href="javascript: void(0)" onclick="postParentWindowMessage({message:'legacyMCall', expr:'rtw.report.CoderAssumptions.showMemZeroInitParams(\'test1\')'})" >配置参数 > 代码生成 > 优化</a>设置删除优化。或者,配置目标环境以保持假设。
</p>
</td>
</tr>
</table>
<h3 name="sec_浮点数" id="sec_floating_point_num">
浮点数
</h3>
<table width="100%" border="0">
<tr>
<td align="left" valign="top">
<p>
代码生成配置为支持浮点数。目标环境可能会执行次正规数计算。
</p>
<p>
<table class="AltRow" cellspacing="0">
<tr class="even">
<td align="left" valign="top">
将计算出的次正规值的值下溢为零(FTZ)。
</td>
<td align="left" valign="top">
False
</td>
</tr>
<tr class="odd">
<td align="left" valign="top">
将传入的次正规值下溢为零(DAZ)。
</td>
<td align="left" valign="top">
False
</td>
</tr>
</table>
</p>
<p>
如果假设不正确,次正规数可能导致模型和生成的代码仿真结果不匹配。有关详细信息,请参阅<a href="javascript: void(0)" onclick="postParentWindowMessage({message:'legacyMCall', expr:'helpview(fullfile(docroot,\'toolbox\',\'ecoder\',\'helptargets.map\'),\'subnormal_numbers_performance\')'})" >次正规数性能</a>
</p>
</td>
</tr>
</table>
<script>function postParentWindowMessage(message) {window.parent.postMessage(message, "*");}</script>
</body>
</html>

View File

@@ -0,0 +1,381 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="rtwreport.css" /><script language="JavaScript" type="text/javascript">function rtwTableShrink(o) {var t = o.nextSibling;if (t.nodeType != 1) {t = t.nextSibling;}if (t.style.display == "none") {t.style.display = "";o.innerHTML = "[-]"} else {t.style.display = "none";o.innerHTML = "[+] ... "}}</script><script>function postParentWindowMessage(message) {window.parent.postMessage(message, "*");}</script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>
test1 的代码接口报告
</title>
</head>
<body>
<h1>
test1 的代码接口报告
</h1>
<h3>
目录
</h3>
<ul>
<li>
<a href="#sec_入口函数">
入口函数
</a>
</li>
<li>
<a href="#sec_输入端口">
输入端口
</a>
</li>
<li>
<a href="#sec_输出端口">
输出端口
</a>
</li>
<li>
<a href="#sec_接口参数">
接口参数
</a>
</li>
<li>
<a href="#sec_数据存储">
数据存储
</a>
</li>
</ul>
<h3>
<a name="sec_入口函数">
入口函数
</a>
</h3>
<p>
函数: <a href="javascript: void(0)" onclick="postParentWindowMessage({message:'jumpToCode',location:'test1_initialize'})">test1_initialize</a>
</p>
<table width="100%" class="AltRow" cellspacing="0">
<tr class="even">
<td width="25%" align="left" valign="top">
原型
</td>
<td width="75%" align="left" valign="top">
<b>
void test1_initialize(void)
</b>
</td>
</tr>
<tr class="odd">
<td width="25%" align="left" valign="top">
描述
</td>
<td width="75%" align="left" valign="top">
生成代码的初始化入口函数
</td>
</tr>
<tr class="even">
<td width="25%" align="left" valign="top">
定时
</td>
<td width="75%" align="left" valign="top">
只能调用一次
</td>
</tr>
<tr class="odd">
<td width="25%" align="left" valign="top">
参数
</td>
<td width="75%" align="left" valign="top">
None
</td>
</tr>
<tr class="even">
<td width="25%" align="left" valign="top">
返回值
</td>
<td width="75%" align="left" valign="top">
None
</td>
</tr>
<tr class="odd">
<td width="25%" align="left" valign="top">
头文件
</td>
<td width="75%" align="left" valign="top">
<a href="javascript: void(0)" onclick="postParentWindowMessage({message:'jumpToCode',location:'test1.h'})">test1.h</a>
</td>
</tr>
</table>
<p>
函数: <a href="javascript: void(0)" onclick="postParentWindowMessage({message:'jumpToCode',location:'test1_step'})">test1_step</a>
</p>
<table width="100%" class="AltRow" cellspacing="0">
<tr class="even">
<td width="25%" align="left" valign="top">
原型
</td>
<td width="75%" align="left" valign="top">
<b>
void test1_step(void)
</b>
</td>
</tr>
<tr class="odd">
<td width="25%" align="left" valign="top">
描述
</td>
<td width="75%" align="left" valign="top">
生成代码的输出入口函数
</td>
</tr>
<tr class="even">
<td width="25%" align="left" valign="top">
定时
</td>
<td width="75%" align="left" valign="top">
必须周期性调用,每 0.01 秒调用一次
</td>
</tr>
<tr class="odd">
<td width="25%" align="left" valign="top">
参数
</td>
<td width="75%" align="left" valign="top">
None
</td>
</tr>
<tr class="even">
<td width="25%" align="left" valign="top">
返回值
</td>
<td width="75%" align="left" valign="top">
None
</td>
</tr>
<tr class="odd">
<td width="25%" align="left" valign="top">
头文件
</td>
<td width="75%" align="left" valign="top">
<a href="javascript: void(0)" onclick="postParentWindowMessage({message:'jumpToCode',location:'test1.h'})">test1.h</a>
</td>
</tr>
</table>
<p>
函数: <a href="javascript: void(0)" onclick="postParentWindowMessage({message:'jumpToCode',location:'test1_terminate'})">test1_terminate</a>
</p>
<table width="100%" class="AltRow" cellspacing="0">
<tr class="even">
<td width="25%" align="left" valign="top">
原型
</td>
<td width="75%" align="left" valign="top">
<b>
void test1_terminate(void)
</b>
</td>
</tr>
<tr class="odd">
<td width="25%" align="left" valign="top">
描述
</td>
<td width="75%" align="left" valign="top">
生成代码的终止入口函数
</td>
</tr>
<tr class="even">
<td width="25%" align="left" valign="top">
定时
</td>
<td width="75%" align="left" valign="top">
只能调用一次
</td>
</tr>
<tr class="odd">
<td width="25%" align="left" valign="top">
参数
</td>
<td width="75%" align="left" valign="top">
None
</td>
</tr>
<tr class="even">
<td width="25%" align="left" valign="top">
返回值
</td>
<td width="75%" align="left" valign="top">
None
</td>
</tr>
<tr class="odd">
<td width="25%" align="left" valign="top">
头文件
</td>
<td width="75%" align="left" valign="top">
<a href="javascript: void(0)" onclick="postParentWindowMessage({message:'jumpToCode',location:'test1.h'})">test1.h</a>
</td>
</tr>
</table>
<h3>
<a name="sec_输入端口">
输入端口
</a>
</h3>
<table width="100%" class="AltRow FirstColumn" cellspacing="0">
<tr class="heading">
<th width="42%" align="left" valign="top">
<b>
模块名称
</b>
</th>
<th width="26%" align="left" valign="top">
<b>
代码标识符
</b>
</th>
<th width="21%" align="left" valign="top">
<b>
数据类型
</b>
</th>
<th width="10%" align="right" valign="top">
<b>
维度
</b>
</th>
</tr>
<tr class="even">
<td width="42%" align="left" valign="top">
&lt;Root&gt;/in1
</td>
<td width="26%" align="left" valign="top">
x
</td>
<td width="21%" align="left" valign="top">
real_T
</td>
<td width="10%" align="right" valign="top">
1
</td>
</tr>
<tr class="odd">
<td width="42%" align="left" valign="top">
&lt;Root&gt;/in2
</td>
<td width="26%" align="left" valign="top">
y
</td>
<td width="21%" align="left" valign="top">
real_T
</td>
<td width="10%" align="right" valign="top">
1
</td>
</tr>
</table>
<h3>
<a name="sec_输出端口">
输出端口
</a>
</h3>
<table width="100%" class="AltRow FirstColumn" cellspacing="0">
<tr class="heading">
<th width="42%" align="left" valign="top">
<b>
模块名称
</b>
</th>
<th width="26%" align="left" valign="top">
<b>
代码标识符
</b>
</th>
<th width="21%" align="left" valign="top">
<b>
数据类型
</b>
</th>
<th width="10%" align="right" valign="top">
<b>
维度
</b>
</th>
</tr>
<tr class="even">
<td width="42%" align="left" valign="top">
&lt;Root&gt;/out1
</td>
<td width="26%" align="left" valign="top">
z
</td>
<td width="21%" align="left" valign="top">
real_T
</td>
<td width="10%" align="right" valign="top">
1
</td>
</tr>
</table>
<h3>
<a name="sec_接口参数">
接口参数
</a>
</h3>
<p>
模型中没有接口/可调参数。
</p>
<h3>
<a name="sec_数据存储">
数据存储
</a>
</h3>
<p>
模型中没有数据存储;请注意,此报告仅列出具有非自动存储类和全局数据存储的数据存储
</p>
</body>
</html>

View File

@@ -0,0 +1,18 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="rtwreport.css" /><title>
静态代码指标报告
</title>
</head>
<body onload="try {if (top) {if (top.rtwPageOnLoad) top.rtwPageOnLoad('rtwIdCodeMetrics'); else local_onload();}} catch(err) {};">
<h1>
静态代码指标报告
</h1>
<div>
</div>
<img src="hilite_warning.png" />未生成静态代码指标报告。在<b>配置参数 &gt; 代码生成 &gt; 报告</b>窗格中,选择<b>生成静态代码指标</b>。然后,重新编译模型。
</body>
</html>

View File

@@ -0,0 +1,19 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="rtwreport.css" /><title>
test1 中的代码替换
</title>
</head>
<body onload="try {if (top) {if (top.rtwPageOnLoad) top.rtwPageOnLoad('rtwIdCodeReplacements'); else local_onload();}} catch(err) {};">
<h1>
test1 中的代码替换
</h1>
<div>
</div>
<img src="hilite_warning.png" />未生成代码替换报告。选择 <a href="javascript: void(0)" onclick="postParentWindowMessage({message:'legacyMCall', expr:'configset.highlightParameter(\'test1\', \'GenerateCodeReplacementReport\')'})" >'摘要显示哪些模块触发了代码替换'</a>
<script>function postParentWindowMessage(message) {window.parent.postMessage(message, "*");}</script>
</body>
</html>

View File

@@ -0,0 +1,129 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="rtwreport.css" /><script language="JavaScript" type="text/javascript" src="rtwshrink.js"></script><title>
test1 中的非虚拟子系统
</title>
</head>
<body onload="try {if (top) {if (top.rtwPageOnLoad) top.rtwPageOnLoad('rtwIdSubsystem'); else local_onload();}} catch(err) {};">
<h1>
test1 中的非虚拟子系统
</h1>
<div>
</div>
<div>
</div>
<h3 name="sec_代码映射" id="sec_code_mapping">
1. 代码映射 <span title="Click to shrink or expand section" style="cursor:pointer;font-weight:normal;" id="rtwIdSubsystem_table_001_control" onclick ="if (rtwTableShrink) rtwTableShrink(window.document, this, 'rtwIdSubsystem_table_001', false)"><span class="shrink-button">[<u>hide</u>]</span></span>
</h3>
<table width="100%" name="rtwIdSubsystem_table_001" id="rtwIdSubsystem_table_001" border="0">
<tr>
<td align="left" valign="top">
<p>
此表: <br /><ul>
<li>
提供从模型中的非虚拟子系统到生成代码中的函数或可重用函数的映射。该表
</li>
<li>
记录导致非虚拟子系统不重用代码的异常,即使它们的函数打包设置(子系统模块对话框上的 '函数打包' 条目)被指定为 '自动' 或 '可重用函数' 也是如此。
</li>
</ul>
</p>
</td>
</tr>
<tr>
<td align="left" valign="top">
<table class="AltRow FirstColumn" cellspacing="0">
<tr class="heading">
<th align="left" valign="top">
<b>
子系统
</b>
</th>
<th align="left" valign="top">
<b>
重用设置
</b>
</th>
<th align="left" valign="top">
<b>
重用结果
</b>
</th>
<th align="left" valign="top">
<b>
结果诊断
</b>
</th>
</tr>
<tr class="even">
<td align="left" valign="top">
&lt;S1&gt;
</td>
<td align="left" valign="top">
Auto
</td>
<td align="left" valign="top">
Inline
</td>
<td align="left" valign="top">
<FONT COLOR="green">normal</FONT>
</td>
</tr>
</table>
</td>
</tr>
</table>
<h3 name="sec_代码重用异常" id="sec_reuse_exception">
2. 代码重用异常 <span title="Click to shrink or expand section" style="cursor:pointer;font-weight:normal;" id="rtwIdSubsystem_table_002_control" onclick ="if (rtwTableShrink) rtwTableShrink(window.document, this, 'rtwIdSubsystem_table_002', false)"><span class="shrink-button">[<u>hide</u>]</span></span>
</h3>
<table width="100%" name="rtwIdSubsystem_table_002" id="rtwIdSubsystem_table_002" border="0">
<tr>
<td align="left" valign="top">
<p>
本节提供在非虚拟子系统的函数打包设置为以下项的情况下导致子系统出问题的每个异常的详细信息<br /><ul>
<li>
'自动' - 导致生成内联代码段,
</li>
<li>
'自动' - 导致生成不带参数的不可重用函数,或
</li>
<li>
'可重用函数' - 导致生成不带参数的不可重用函数。
</li>
</ul>
<b>注意:</b>本节不报告图上带有相同 'Auto' 标记, 只因功能属性(如维度、数据类型、工作向量、参数等)的差异 而未重用的 非虚拟子系统。在这种情况下, 您可以通过检查模型中或内联生成代码中 子系统功能属性的差异来确定 不重用的原因。
</p>
</td>
</tr>
<tr>
<td align="left" valign="top">
<br /><b>模型中不存在重用异常。</b>
</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,190 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" type="text/css" href="rtwreport.css" /><title>
'test1' 的代码生成报告
</title>
</head>
<body onload="try {if (top) {if (top.rtwPageOnLoad) top.rtwPageOnLoad('rtwIdSummaryPage'); else local_onload();}} catch(err) {};">
<h1>
'test1' 的代码生成报告
</h1>
<div>
</div>
<div>
</div>
<h3 name="sec_模型信息" id="sec_model_info">
模型信息
</h3>
<table width="100%" border="0">
<tr>
<td align="left" valign="top">
<p>
<table class="AltRow" cellspacing="0">
<tr class="even">
<td align="left" valign="top">
作者
</td>
<td align="left" valign="top">
czy
</td>
</tr>
<tr class="odd">
<td align="left" valign="top">
上次修改者
</td>
<td align="left" valign="top">
czy
</td>
</tr>
<tr class="even">
<td align="left" valign="top">
模型版本
</td>
<td align="left" valign="top">
1.12
</td>
</tr>
<tr class="odd">
<td align="left" valign="top">
任务模式
</td>
<td align="left" valign="top">
单任务
</td>
</tr>
</table>
<br /><a onclick="return postParentWindowMessage({message:'legacyMCall', expr:'coder.internal.viewCodeConfigsetFromReport(\'file:///F:/desktop/EMS(能量管理系统)/simulink/slprj/ert/test1/tmwinternal/binfo.mat?test1\')'});" id="linkToCS_V2" href="javascript:void(0)">
代码生成时的配置设置
</a>
</p>
</td>
</tr>
</table>
<h3 name="sec_代码信息" id="sec_code_info">
代码信息
</h3>
<table width="100%" border="0">
<tr>
<td align="left" valign="top">
<p>
<table class="AltRow" cellspacing="0">
<tr class="even">
<td align="left" valign="top">
系统目标文件
</td>
<td align="left" valign="top">
ert.tlc
</td>
</tr>
<tr class="odd">
<td align="left" valign="top">
硬件设备类型
</td>
<td align="left" valign="top">
Intel->x86-64 (Windows64)
</td>
</tr>
<tr class="even">
<td align="left" valign="top">
Simulink Coder 版本
</td>
<td align="left" valign="top">
9.8 (R2022b) 13-May-2022
</td>
</tr>
<tr class="odd">
<td align="left" valign="top">
生成的源代码的时间戳
</td>
<td align="left" valign="top">
Mon Jan 29 10:36:35 2024
</td>
</tr>
<tr class="even">
<td align="left" valign="top">
<span id="sourceLocationTitle">生成的源代码的位置</span>
</td>
<td align="left" valign="top">
<span id="sourceLocation">F:\desktop\EMS(能量管理系统)\simulink\test1_ert_rtw</span>
</td>
</tr>
<tr class="odd">
<td align="left" valign="top">
编译的类型
</td>
<td align="left" valign="top">
模型
</td>
</tr>
<tr class="even">
<td align="left" valign="top">
指定的目标
</td>
<td align="left" valign="top">
<b>
<font Color="orange">
Unspecified
</font>
</b>
</td>
</tr>
</table>
</p>
</td>
</tr>
</table>
<h3 name="sec_其他信息" id="sec_additional_info">
其他信息
</h3>
<table width="100%" border="0">
<tr>
<td align="left" valign="top">
<table class="AltRow" cellspacing="0">
<tr class="even">
<td align="left" valign="top">
代码生成顾问
</td>
<td align="left" valign="top">
Not run
</td>
</tr>
</table>
</td>
</tr>
</table>
<script>function postParentWindowMessage(message) {window.parent.postMessage(message, "*");}</script>
</body>
</html>

View File

@@ -0,0 +1,7 @@
<HTML><HEAD><TITLE>test1 的可追溯性报告</TITLE>
<LINK rel="stylesheet" type="text/css" href="rtwreport.css" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</HEAD><BODY ONLOAD="try {if (top) {if (top.rtwPageOnLoad) top.rtwPageOnLoad('rtwIdTraceability'); else local_onload();}} catch(err) {};">
<H1>test1 的可追溯性报告</H1>
<P><IMG src="hilite_warning.png" />未生成可追溯性报告。在<b>配置参数 &gt; 代码生成 &gt; 报告</b>窗格中,选择<b>已消除/虚拟模块</b>。然后,重新编译模型。</P>
</BODY></HTML>