446 lines
37 KiB
HTML
446 lines
37 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<title>Configuration Wizard Annotations</title>
|
|
<title>CMSIS-Pack: Configuration Wizard Annotations</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<link href="cmsis.css" rel="stylesheet" type="text/css" />
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<script type="text/javascript" src="printComponentTabs.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(initResizable);
|
|
$(window).load(resizeHeight);
|
|
</script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(function() { searchBox.OnSelectItem(0); });
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 46px;">
|
|
<td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
|
|
<td style="padding-left: 0.5em;">
|
|
<div id="projectname">CMSIS-Pack
|
|
 <span id="projectnumber">Version 1.4.9</span>
|
|
</div>
|
|
<div id="projectbrief">Delivery Mechanism for Software Packs</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<div id="CMSISnav" class="tabs1">
|
|
<ul class="tablist">
|
|
<script type="text/javascript">
|
|
<!--
|
|
writeComponentTabs.call(this);
|
|
//-->
|
|
</script>
|
|
</ul>
|
|
</div>
|
|
<!-- Generated by Doxygen 1.8.6 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li class="current"><a href="pages.html"><span>Usage and Description</span></a></li>
|
|
<li>
|
|
<div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<img id="MSearchSelect" src="search/mag_sel.png"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
alt=""/>
|
|
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){initNavTree('configWizard.html','');});
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Pages</a></div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">Configuration Wizard Annotations </div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="textblock"><h1><a class="anchor" id="configWizard_annotations"></a>
|
|
Annotation Rules</h1>
|
|
<p><b>Configuration Wizard Annotations</b> consist of annotation items and annotation modifiers. They create GUI-like elements in IDEs for configuration files (see <a class="el" href="configWizard.html#configWizard_display">Tool-specific display</a>). Using a GUI-like approach makes it easier for the user to check and adapt configuration files to the application needs. The following rules apply:</p>
|
|
<ul>
|
|
<li>The Configuration Wizard section must begin within the first 100 lines of code and must start with the following comment line: <div class="fragment"><div class="line"><span class="comment">// <<< Use Configuration Wizard in Context Menu >>></span></div>
|
|
</div><!-- fragment --></li>
|
|
<li>The Configuration Wizard section can end with the following optional comment: <div class="fragment"><div class="line"><span class="comment">// <<< end of configuration section >>></span></div>
|
|
</div><!-- fragment --></li>
|
|
<li>Annotations are written as comments in the code. Each annotation line must start with a double forward slash (//).</li>
|
|
<li>By default, the next code symbol that follows the annotation is modified.</li>
|
|
<li>Items marked with * in the table below can be followed by a skip-value. A skip-value omits a number of code symbols (see <em>skip example</em> in table). This overwrites the previous rule.</li>
|
|
<li>A descriptive text can be added to items. This text is displayed on screen (see table).</li>
|
|
<li>Whitespace characters are ignored in annotation items or annotation modifiers (text excluded).</li>
|
|
<li>You must not use < or > within configuration wizard lines other than for enclosing annotation items.</li>
|
|
</ul>
|
|
<p>The following table lists the Configuration Wizard Annotations:</p>
|
|
<table class="cmtable" summary="Annotations Tab">
|
|
<tr>
|
|
<th>Item </th><th>Text </th><th>Description </th></tr>
|
|
<tr>
|
|
<td><h> </td><td>yes </td><td>Heading. Creates a header section. All items and options enclosed by <h> and </h> belong to one group and can be expanded. This entry makes no changes to code symbols. It is just used to group other items and modifiers. <br/>
|
|
Excerpt from the <a class="el" href="configWizard.html#configWizard_codeExample">Code Example</a> <div class="fragment"><div class="line"><span class="comment">// <h>Thread Configuration -- header without checkbox to group other items</span></div>
|
|
<div class="line"><span class="comment">// ...</span></div>
|
|
<div class="line"><span class="comment">// </h></span></div>
|
|
</div><!-- fragment --> Is the header entry as shown in <a class="el" href="configWizard.html#configWizard_display">Tool-specific display</a>. </td></tr>
|
|
<tr>
|
|
<td><e><sup>*</sup> </td><td>yes </td><td>Heading with enable. Creates a header section with a checkbox to enabled or disabled all items and options enclosed by <e> and </e>. Excerpt from the <a class="el" href="configWizard.html#configWizard_codeExample">Code Example</a>. <div class="fragment"><div class="line"><span class="comment">// <e>Round-Robin Thread switching -- header with checkbox</span></div>
|
|
<div class="line"><span class="comment">// ===============================</span></div>
|
|
<div class="line"><span class="comment">//</span></div>
|
|
<div class="line"><span class="comment">// <i> Enables Round-Robin Thread switching. -- tooltip information for the header</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_ROBIN</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define OS_ROBIN 1 -- this value is set through the checkbox</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="comment">// <o>Round-Robin Timeout [ticks] <1-1000></span></div>
|
|
<div class="line"><span class="comment">// <i> Defines how long a thread will execute before a thread switch.</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 5</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_ROBINTOUT</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define OS_ROBINTOUT 5</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor">// </e></span></div>
|
|
</div><!-- fragment --> The entry <code><e>Round-Robin Thread switching ... </e></code> sets OS_ROBIN to <span class="XML-Token">1</span> (checkbox enabled) or <span class="XML-Token">0</span> (checkbox disabled) and encloses the <em>OS_ROBINTOUT</em> (Round-Robin Timeout) setting. See screen outcome in <a class="el" href="configWizard.html#configWizard_display">Tool-specific display</a>. </td></tr>
|
|
<tr>
|
|
<td><e.<em>i</em>><sup>*</sup> </td><td>yes </td><td>Heading with Enable: modifies a specific bit (<em>i</em>) (example: <e.4> - changes bit 4 of a value). <div class="fragment"><div class="line"><span class="comment">// <e.4>Serial Number</span></div>
|
|
<div class="line"><span class="comment">// <i>Enable Serial Number String.</span></div>
|
|
<div class="line"><span class="comment">// <i>If disabled, Serial Number String will not be assigned to USB Device.</span></div>
|
|
<div class="line"><span class="preprocessor">#define USBD0_STR_DESC_SER_EN 1</span></div>
|
|
</div><!-- fragment --> The example creates the heading <span class="XML-Token">Serial Number</span> and a checkbox to set the value. If enabled, then bit 4 of <span class="XML-Token">USBD0_STR_DESC_SER_EN</span> is set. </td></tr>
|
|
<tr>
|
|
<td></h>, </e>, or </c> </td><td>yes </td><td>Heading, Enable, or Comment end. </td></tr>
|
|
<tr>
|
|
<td><n> </td><td>yes </td><td>Notification text displayed <div class="fragment"><div class="line"><span class="comment">// <n> This is shown as plain text</span></div>
|
|
</div><!-- fragment --> </td></tr>
|
|
<tr>
|
|
<td><i> </td><td>yes </td><td>Tooltip help for previous item. <div class="fragment"><div class="line"><span class="comment">// <i>This is shown as a tooltip when hovering over a text.</span></div>
|
|
</div><!-- fragment --> Many examples in this table have tooltip examples. </td></tr>
|
|
<tr>
|
|
<td><c><sup>*</sup> </td><td>yes </td><td>Code enable: creates a checkbox to uncomment or comment code. All lines, including those with white spaces, get commented with double slashes (//) at the first found character when you disable the checkbox. <div class="fragment"><div class="line"><span class="comment">// <c1> Comment sequence block until block end when disabled</span></div>
|
|
<div class="line"><span class="comment">//<i> This may carry the block's description</span></div>
|
|
<div class="line"></div>
|
|
<div class="line">foo</div>
|
|
<div class="line"></div>
|
|
<div class="line">+bar</div>
|
|
<div class="line"></div>
|
|
<div class="line">-xFoo</div>
|
|
<div class="line"><span class="comment">// </c></span></div>
|
|
</div><!-- fragment --> In this example, the item is enabled, so that the sequence block is not commented. </td></tr>
|
|
<tr>
|
|
<td><!c><sup>*</sup> </td><td>yes </td><td>Code disable: creates a checkbox to comment or uncomment code. All lines, including those with white spaces, get commented with double slashes (//) at the first found character when you enable the checkbox. <div class="fragment"><div class="line"><span class="comment">// <!c1> Comment sequence block until block end when enabled</span></div>
|
|
<div class="line"><span class="comment">//<i> This may carry the block's description</span></div>
|
|
<div class="line"><span class="comment">//</span></div>
|
|
<div class="line"><span class="comment">//foo</span></div>
|
|
<div class="line"><span class="comment">//</span></div>
|
|
<div class="line"><span class="comment">//+bar</span></div>
|
|
<div class="line"><span class="comment">//</span></div>
|
|
<div class="line"><span class="comment">//-xFoo</span></div>
|
|
<div class="line"><span class="comment">// </c></span></div>
|
|
</div><!-- fragment --> In this example, the item is enabled, so that the sequence block is commented. </td></tr>
|
|
<tr>
|
|
<td><q><sup>*</sup> </td><td>yes </td><td>Option for bit values which can be set via a checkbox. <div class="fragment"><div class="line"><span class="comment">// <h> Chip-select control</span></div>
|
|
<div class="line"><span class="comment">// <q> ASYNCWAIT: Wait signal during asynchronous transfer</span></div>
|
|
<div class="line"><span class="comment">// <i> Enables the FSMC to use the wait signal even during an asynchronous protocol.</span></div>
|
|
<div class="line"><span class="comment">// </h></span></div>
|
|
<div class="line"><span class="preprocessor">#define RTE_FSMC_BCR1_ASYNCWAIT 0 -- this is changed via a checkbox</span></div>
|
|
</div><!-- fragment --> </td></tr>
|
|
<tr>
|
|
<td><o><sup>*</sup> </td><td>yes </td><td>Option with selection or number entry. <div class="fragment"><div class="line"><span class="comment">// <o>Round-Robin Timeout [ticks] <1-1000> -- text displayed on screen. Range of [ticks] is [1..1000] </span></div>
|
|
<div class="line"><span class="comment">// <i> Defines how long a thread will execute before a thread switch. -- tooltip info</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 5 -- tooltip info. Both displayed in one tooltip.</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_ROBINTOUT</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define OS_ROBINTOUT 5</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor">// </e></span></div>
|
|
</div><!-- fragment --> The example creates an option with the text <span class="XML-Token">Round-Robin Timeout [ticks]</span> and a field to enter values that can range between {1..1000]. </td></tr>
|
|
<tr>
|
|
<td><o.<em>i</em>><sup>*</sup> </td><td>yes </td><td>Modify a single bit (example: <e.4> - modifies bit 4). <div class="fragment"><div class="line"><span class="comment">// <o.4> <o.0>High-speed</span></div>
|
|
<div class="line"><span class="comment">// <i>Enable High-speed functionality (if device supports it).</span></div>
|
|
<div class="line"><span class="preprocessor">#define USBD0_HS 0</span></div>
|
|
</div><!-- fragment --> The example creates a heading with the text <span class="XML-Token">High-speed</span> and a checkbox. If enabled, then bit 4 of <span class="XML-Token">USBD0_HS</span> is set. </td></tr>
|
|
<tr>
|
|
<td><o.<em>x</em>..<em>y</em>><sup>*</sup> </td><td>yes </td><td>Modify a range of bits. (example: <o.4..5> - bit 4 to 5). <div class="fragment"><div class="line"><span class="comment">// <h>String Settings</span></div>
|
|
<div class="line"><span class="comment">// <i>These settings are used to create the String Descriptor.</span></div>
|
|
<div class="line"><span class="comment">// <o.0..15>Language ID <0x0000-0xFCFF></span></div>
|
|
<div class="line"><span class="comment">// <i>English (United States) = 0x0409.</span></div>
|
|
<div class="line"><span class="comment">// </h></span></div>
|
|
<div class="line"><span class="preprocessor">#define USBD0_STR_DESC_LANGID 0x0409</span></div>
|
|
</div><!-- fragment --> This example creates an expandable header with the text <span class="XML-Token">String Settings</span> and an option <span class="XML-Token">Language ID</span>. The range of values is set to <span class="XML-Token"><0x0000-0xFCFF></span>. Users can enter a value from within that range. The option changes the bits <span class="XML-Token">0..15</span>. </td></tr>
|
|
<tr>
|
|
<td><s><sup>*</sup> </td><td>yes </td><td>Option with ASCII string entry. <div class="fragment"><div class="line"><span class="comment">// <s>Manufacturer String</span></div>
|
|
<div class="line"><span class="comment">// <i>String Descriptor describing Manufacturer.</span></div>
|
|
<div class="line"><span class="preprocessor">#define USBD0_STR_DESC_MAN L"Keil Software"</span></div>
|
|
</div><!-- fragment --> Displays an option with the text <span class="XML-Token">Manufacturer String</span> and creates a field in which the user can enter a text. The size of the string is not limited. </td></tr>
|
|
<tr>
|
|
<td><s.<em>i</em>><sup>*</sup> </td><td>yes </td><td>Option with ASCII string entry and a size limit of <em>i</em> characters. <div class="fragment"><div class="line"><span class="comment">// <s.126>Manufacturer String</span></div>
|
|
<div class="line"><span class="comment">// <i>String Descriptor describing Manufacturer.</span></div>
|
|
<div class="line"><span class="preprocessor">#define USBD0_STR_DESC_MAN L"Keil Software"</span></div>
|
|
</div><!-- fragment --> The example sets a size limit of 126 character. Default string is "Keil Software". </td></tr>
|
|
<tr>
|
|
<td><em>skip example</em> <br/>
|
|
<q<em>i></em>; <br/>
|
|
<o<em>i></em>; <o<em>i</em>.<em>x></em>; <br/>
|
|
<s<em>i></em>; <s<em>i</em>.<em>x></em> </td><td>yes </td><td>Skip <em>i</em> items. Can be applied to all annotation items marked with a * in this table. <div class="fragment"><div class="line"><span class="comment">// <o2>Skip 2 and modify the third item after this entry <1-9></span></div>
|
|
<div class="line"><span class="preprocessor">#define VALUE1 1000</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define VALUE2 2000</span></div>
|
|
<div class="line"><span class="preprocessor">#define MODIFY_THIS 3000</span></div>
|
|
</div><!-- fragment --> The example skips 2 items and modifies the third. </td></tr>
|
|
<tr>
|
|
<th>Modifier </th><th>  </th><th>Description </th></tr>
|
|
<tr>
|
|
<td><0-31> </td><td>no </td><td>Value range for option fields. </td></tr>
|
|
<tr>
|
|
<td><0-100:10> </td><td>no </td><td>Value range for option fields with step 10. </td></tr>
|
|
<tr>
|
|
<td><0x40-0x1000:0x10> </td><td>no </td><td>Value range in hex format and step 10. </td></tr>
|
|
<tr>
|
|
<td><<em>value</em>=> </td><td>yes </td><td>Creates a drop down-list and displays the <em><b>text</b></em>. <em><b>value</b></em> is written to the next item. Excerpt from the <a class="el" href="configWizard.html#configWizard_codeExample">Code Example</a>. <div class="fragment"><div class="line"><span class="comment">// <o>Timer Thread Priority -- creates a drop-down with the list below.</span></div>
|
|
<div class="line"><span class="comment">// <1=> Low</span></div>
|
|
<div class="line"><span class="comment">// <2=> Below Normal <3=> Normal <4=> Above Normal</span></div>
|
|
<div class="line"><span class="comment">// <5=> High</span></div>
|
|
<div class="line"><span class="comment">// <6=> Realtime (highest)</span></div>
|
|
<div class="line"><span class="comment">// <i> Defines priority for Timer Thread -- tooltip info</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: High -- tooltip info</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_TIMERPRIO</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define OS_TIMERPRIO 5</span></div>
|
|
<div class="line"><span class="preprocessor">#endif</span></div>
|
|
</div><!-- fragment --> In this example, the screen would show the option <span class="XML-Token">Timer Thread Priority</span>. The field Value would display the text <span class="XML-Token">High</span>. OS_TIMERPRIO is set to <span class="XML-Token">5</span>. When clicking on the field, a drop-down would show all options. See <a class="el" href="configWizard.html#configWizard_display">Tool-specific display</a>. </td></tr>
|
|
<tr>
|
|
<td><#+1>   <#-1><br/>
|
|
<#*8>   <#/3> </td><td>no </td><td>Modifies the entered or displayed value according to the operator (add, sub, mul, div). The changed value is set for the code symbol. <br/>
|
|
Excerpt from <a class="el" href="configWizard.html#configWizard_codeExample">Code Example</a>. <div class="fragment"><div class="line"><span class="comment">// <o>Default Thread stack size [bytes] <64-4096:8><#/4></span></div>
|
|
<div class="line"><span class="comment">// <i> Defines default stack size for threads with osThreadDef stacksz = 0</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 200</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_STKSIZE</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#define OS_STKSIZE 50</span></div>
|
|
<div class="line"><span class="preprocessor">#endif</span></div>
|
|
</div><!-- fragment --> The option <em>Default Thread stack size [bytes]</em> accepts values in the range <span class="XML-Token">[64..4096]</span>. The value (here <span class="XML-Token">200</span>) set in the field is divided by <span class="XML-Token">4</span> (<#/4>) . The result of the division (200/4) is put into the code symbol <em>OS_STKSIZE</em>, which was set to <span class="XML-Token">50</span>. The screen will display the number <span class="XML-Token">200</span>. See <a class="el" href="configWizard.html#configWizard_display">Tool-specific display</a>. </td></tr>
|
|
</table>
|
|
<h1><a class="anchor" id="configWizard_codeExample"></a>
|
|
Code Example</h1>
|
|
<p>You can copy the code into a C-file and check the outcome in the uVision Editor.</p>
|
|
<div class="fragment"><div class="line"><span class="comment">//-------- <<< Use Configuration Wizard in Context Menu>>> -----------------</span></div>
|
|
<div class="line"><span class="comment">//</span></div>
|
|
<div class="line"><span class="comment">// <h>Thread Configuration</span></div>
|
|
<div class="line"><span class="comment">// =======================</span></div>
|
|
<div class="line"><span class="comment">//</span></div>
|
|
<div class="line"><span class="comment">// <o>Number of concurrent running threads <0-250></span></div>
|
|
<div class="line"><span class="comment">// <i> Defines max. number of threads that will run at the same time.</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 6</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_TASKCNT</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_TASKCNT 6</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// <o>Default Thread stack size [bytes] <64-4096:8><#/4></span></div>
|
|
<div class="line"><span class="comment">// <i> Defines default stack size for threads with osThreadDef stacksz = 0</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 200</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_STKSIZE</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_STKSIZE 50</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// <o>Main Thread stack size [bytes] <64-32768:8><#/4></span></div>
|
|
<div class="line"><span class="comment">// <i> Defines stack size for main thread.</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 200</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_MAINSTKSIZE</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_MAINSTKSIZE 50</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// <o>Number of threads with user-provided stack size <0-250></span></div>
|
|
<div class="line"><span class="comment">// <i> Defines the number of threads with user-provided stack size.</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 0</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_PRIVCNT</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_PRIVCNT 0</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// <o>Total stack size [bytes] for threads with user-provided stack size <0-1048576:8><#/4></span></div>
|
|
<div class="line"><span class="comment">// <i> Defines the combined stack size for threads with user-provided stack size.</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 0</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_PRIVSTKSIZE</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_PRIVSTKSIZE 0</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// <q>Check for stack overflow</span></div>
|
|
<div class="line"><span class="comment">// <i> Includes the stack checking code for stack overflow.</span></div>
|
|
<div class="line"><span class="comment">// <i> Note that additional code reduces the Kernel performance.</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_STKCHECK</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_STKCHECK 1</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// <o>Processor mode for thread execution </span></div>
|
|
<div class="line"><span class="comment">// <0=> Unprivileged mode </span></div>
|
|
<div class="line"><span class="comment">// <1=> Privileged mode</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: Privileged mode</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_RUNPRIV</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_RUNPRIV 1</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// </h></span></div>
|
|
<div class="line"></div>
|
|
<div class="line"><span class="comment">// <h>RTX Kernel Timer Tick Configuration</span></div>
|
|
<div class="line"><span class="comment">// ======================================</span></div>
|
|
<div class="line"><span class="comment">// <q> Use Cortex-M SysTick timer as RTX Kernel Timer</span></div>
|
|
<div class="line"><span class="comment">// <i> Use the Cortex-M SysTick timer as a time-base for RTX.</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_SYSTICK</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_SYSTICK 1</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="comment">//</span></div>
|
|
<div class="line"><span class="comment">// <o>Timer clock value [Hz] <1-1000000000></span></div>
|
|
<div class="line"><span class="comment">// <i> Defines the timer clock value.</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 12000000 (12MHz)</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_CLOCK</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_CLOCK 12000000</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// <o>Timer tick value [us] <1-1000000></span></div>
|
|
<div class="line"><span class="comment">// <i> Defines the timer tick value.</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 1000 (1ms)</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_TICK</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_TICK 1000</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// </h></span></div>
|
|
<div class="line"></div>
|
|
<div class="line"><span class="comment">// <h>System Configuration</span></div>
|
|
<div class="line"><span class="comment">// =======================</span></div>
|
|
<div class="line"><span class="comment">//</span></div>
|
|
<div class="line"><span class="comment">// <e>Round-Robin Thread switching</span></div>
|
|
<div class="line"><span class="comment">// ===============================</span></div>
|
|
<div class="line"><span class="comment">//</span></div>
|
|
<div class="line"><span class="comment">// <i> Enables Round-Robin Thread switching.</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_ROBIN</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_ROBIN 1</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// <o>Round-Robin Timeout [ticks] <1-1000></span></div>
|
|
<div class="line"><span class="comment">// <i> Defines how long a thread will execute before a thread switch.</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 5</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_ROBINTOUT</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_ROBINTOUT 5</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// </e></span></div>
|
|
<div class="line"></div>
|
|
<div class="line"><span class="comment">// <e>User Timers</span></div>
|
|
<div class="line"><span class="comment">// ==============</span></div>
|
|
<div class="line"><span class="comment">// <i> Enables user Timers</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_TIMERS</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_TIMERS 1</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// <o>Timer Thread Priority</span></div>
|
|
<div class="line"><span class="comment">// <1=> Low</span></div>
|
|
<div class="line"><span class="comment">// <2=> Below Normal <3=> Normal <4=> Above Normal</span></div>
|
|
<div class="line"><span class="comment">// <5=> High</span></div>
|
|
<div class="line"><span class="comment">// <6=> Realtime (highest)</span></div>
|
|
<div class="line"><span class="comment">// <i> Defines priority for Timer Thread</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: High</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_TIMERPRIO</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_TIMERPRIO 5</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// <o>Timer Thread stack size [bytes] <64-4096:8><#/4></span></div>
|
|
<div class="line"><span class="comment">// <i> Defines stack size for Timer thread.</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 200</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_TIMERSTKSZ</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_TIMERSTKSZ 50</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// <o>Timer Callback Queue size <1-32></span></div>
|
|
<div class="line"><span class="comment">// <i> Number of concurrent active timer callback functions.</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 4</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_TIMERCBQS</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_TIMERCBQS 4</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// </e></span></div>
|
|
<div class="line"></div>
|
|
<div class="line"><span class="comment">// <o>ISR FIFO Queue size<4=> 4 entries <8=> 8 entries</span></div>
|
|
<div class="line"><span class="comment">// <12=> 12 entries <16=> 16 entries</span></div>
|
|
<div class="line"><span class="comment">// <24=> 24 entries <32=> 32 entries</span></div>
|
|
<div class="line"><span class="comment">// <48=> 48 entries <64=> 64 entries</span></div>
|
|
<div class="line"><span class="comment">// <96=> 96 entries</span></div>
|
|
<div class="line"><span class="comment">// <i> ISR functions store requests to this buffer,</span></div>
|
|
<div class="line"><span class="comment">// <i> when they are called from the interrupt handler.</span></div>
|
|
<div class="line"><span class="comment">// <i> Default: 16 entries</span></div>
|
|
<div class="line"><span class="preprocessor">#ifndef OS_FIFOSZ</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor"> #define OS_FIFOSZ 16</span></div>
|
|
<div class="line"><span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
|
|
<div class="line"><span class="preprocessor"></span></div>
|
|
<div class="line"><span class="comment">// </h></span></div>
|
|
<div class="line"></div>
|
|
<div class="line"><span class="comment">//------------- <<< end of configuration section>>> -----------------------</span></div>
|
|
</div><!-- fragment --><h1><a class="anchor" id="configWizard_display"></a>
|
|
Tool-specific display</h1>
|
|
<p>It is left to the development tool to interpret and display Configuration Wizard Annotations. The uVision IDE displays the code above in the following way:</p>
|
|
<div class="image">
|
|
<img src="RTX_Conf_CM_Wizard_View.png" alt="RTX_Conf_CM_Wizard_View.png"/>
|
|
<div class="caption">
|
|
Configuration Wizard Display</div></div>
|
|
<p> <b>Where</b></p>
|
|
<p><em>Option</em> are device properties, which can be represented in a tree structure. Each item can have an explanatory tooltip.</p>
|
|
<p><em>Value</em> sets the option value. Can contain controls to encapsulate data in predefined drop-down lists. </p>
|
|
</div></div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="footer">Generated on Wed Feb 8 2017 10:21:01 for CMSIS-Pack by ARM Ltd. All rights reserved.
|
|
<!--
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
|
|
-->
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|