1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-23 16:25:26 +03:00

Merge pull request #10593 from iNavFlight/mmosca-h7a3

Update libraries - pre-req for H7A3
This commit is contained in:
Marcelo Bezerra 2025-01-22 17:46:23 +01:00
parent 4034a33565
commit 16ebb27c8b
No known key found for this signature in database
GPG key ID: 718A5AC065848530
10619 changed files with 2797309 additions and 51476 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

View file

@ -0,0 +1,384 @@
<!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>Revision History</title>
<title>CMSIS: Revision History</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>
</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
&#160;<span id="projectnumber">Version 5.6.0</span>
</div>
<div id="projectbrief">Software Interface Standard for Arm Cortex-based Microcontrollers</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 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></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('cm_revisionHistory.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">Revision History </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The following table shows the overall high-level history of the various CMSIS releases. In addition, each CMSIS component has its own release history:</p>
<ul>
<li><a href="../../Core/html/core_revisionHistory.html"><b>CMSIS-Core (Cortex-M) Revision History</b></a></li>
<li><a href="../../Core_A/html/rev_histCoreA.html"><b>CMSIS-Core (Cortex-A) Revision History</b></a></li>
<li><a href="../../Driver/html/driver_revisionHistory.html"><b>Driver Revision History</b></a></li>
<li><a href="../../DSP/html/ChangeLog_pg.html"><b>DSP Revision History (Change Log)</b></a></li>
<li><a href="../../NN/html/ChangeLog_pg.html"><b>NN Revision History (Change Log)</b></a></li>
<li><a href="../../RTOS/html/rtos_revisionHistory.html"><b>RTOS v1 Revision History</b></a></li>
<li><a href="../../RTOS2/html/rtos_revisionHistory.html"><b>RTOS v2 Revision History</b></a></li>
<li><a href="../../Pack/html/pack_revisionHistory.html"><b>Pack Revision History</b></a></li>
<li><a href="../../SVD/html/svd_revisionHistory.html"><b>SVD Revision History</b></a></li>
<li><a href="../../DAP/html/dap_revisionHistory.html"><b>DAP Revision History</b></a></li>
<li><a href="../../Zone/html/zone_revisionHistory.html"><b>Zone Revision History</b></a></li>
</ul>
<table class="cmtable" summary="Revision History">
<tr>
<th>Version </th><th>Description </th></tr>
<tr>
<td>5.6.0 </td><td><ul>
<li>CMSIS-Core (Cortex-M) 5.3.0<ul>
<li>Added provisions for compiler-independent C startup code.</li>
</ul>
</li>
<li>CMSIS-Core (Cortex-A) 1.1.4<ul>
<li>Fixed __FPU_Enable.</li>
</ul>
</li>
<li>CMSIS-Driver 2.7.1<ul>
<li>Finalized WiFi Interface API 1.0.0</li>
</ul>
</li>
<li>CMSIS-DSP 1.7.0 (see revision history for details)<ul>
<li>New Neon versions of f32 functions</li>
<li>Compilation flags for FFTs</li>
</ul>
</li>
<li>CMSIS-NN 1.2.0 (unchanged)</li>
<li>CMSIS-RTOS 1.03 (unchanged)<ul>
<li>RTX 4.82.0 (see revision history for details)</li>
</ul>
</li>
<li>CMSIS-RTOS 2.1.3 (unchanged)<ul>
<li>RTX 5.5.1 (see revision history for details)</li>
</ul>
</li>
<li>CMSIS-Pack 1.6.0 (unchanged)</li>
<li>CMSIS-SVD 1.3.3 (unchanged)</li>
<li>CMSIS-DAP 2.0.0 (unchanged)</li>
<li>CMSIS-Zone 0.12.0 (preview)<ul>
<li>Completely reworked</li>
</ul>
</li>
<li>Devices<ul>
<li>Generalized C startup code for all Cortex-M family devices.</li>
<li>Updated Cortex-A memory regions and system configuration files.</li>
</ul>
</li>
<li>Utilities<ul>
<li>SVDConv 3.3.27</li>
<li>PackChk 1.3.82 (unchanged) </li>
</ul>
</li>
</ul>
</td></tr>
<tr>
<td>5.5.1 </td><td><ul>
<li>CMSIS-Core (Cortex-M) 5.2.1<ul>
<li>Fixed compilation issue in cmsis_armclang_ltm.h</li>
</ul>
</li>
<li>CMSIS-Core (Cortex-A) 1.1.3 (unchanged)</li>
<li>CMSIS-Driver 2.7.0 (unchanged)</li>
<li>CMSIS-DSP 1.6.0 (unchanged)</li>
<li>CMSIS-NN 1.1.0 (unchanged)</li>
<li>CMSIS-RTOS 2.1.3 (unchanged)<ul>
<li>RTX 5.5.0 (unchanged)</li>
</ul>
</li>
<li>CMSIS-Pack 1.6.0 (unchanged)</li>
<li>CMSIS-SVD 1.3.3 (unchanged)</li>
<li>CMSIS-DAP 2.0.0 (unchanged)</li>
<li>CMSIS-Zone 0.9.0 (unchanged) </li>
</ul>
</td></tr>
<tr>
<td>5.5.0 </td><td><ul>
<li>CMSIS-Core (Cortex-M) 5.2.0<ul>
<li>Reworked Stack/Heap configuration for ARM startup files.</li>
<li>Added Cortex-M35P device support.</li>
<li>Added generic Armv8.1-M Mainline device support.</li>
</ul>
</li>
<li>CMSIS-Core (Cortex-A) 1.1.3 Minor fixes.</li>
<li>CMSIS-DSP 1.6.0<ul>
<li>reworked DSP library source files<ul>
<li>added macro ARM_MATH_LOOPUNROLL</li>
<li>removed macro UNALIGNED_SUPPORT_DISABLE</li>
<li>added const-correctness</li>
<li>replaced SIMD pointer construct with memcopy solution</li>
<li>replaced macro combination "CMSIS_INLINE __STATIC_INLINE with "__STATIC_FORCEINLINE"</li>
</ul>
</li>
<li>reworked DSP library documentation</li>
<li>Changed DSP folder structure<ul>
<li>moved DSP libraries to ./DSP/Lib</li>
</ul>
</li>
<li>moved DSP libraries to folder ./DSP/Lib</li>
<li>ARM DSP Libraries are built with ARMCLANG</li>
<li>Added DSP Libraries Source variant</li>
</ul>
</li>
<li>CMSIS-NN 1.1.0 (unchanged)</li>
<li>CMSIS-Driver 2.7.0<ul>
<li>Added WiFi Interface API 1.0.0-beta</li>
<li>Added custom driver selection to simplify implementation of new CMSIS-Driver</li>
</ul>
</li>
<li>CMSIS-RTOS 2.1.3<ul>
<li>RTX 5.5.0 (see revision history)</li>
</ul>
</li>
<li>CMSIS-Pack 1.6.0</li>
<li>CMSIS-SVD 1.3.3 (unchanged)</li>
<li>CMSIS-DAP 2.0.0 (unchanged)</li>
<li>CMSIS-Zone 0.9.0 (Preview)</li>
<li>Devices<ul>
<li>Added Cortex-M35P and ARMv81MML device templates.</li>
<li>Fixed C-Startup Code for GCC (aligned with other compilers)<ul>
<li>Moved call to SystemInit before memory initialization.</li>
</ul>
</li>
</ul>
</li>
<li>Utilities<ul>
<li>SVDConv 3.3.25</li>
<li>PackChk 1.3.82 </li>
</ul>
</li>
</ul>
</td></tr>
<tr>
<td>5.4.0 </td><td><ul>
<li>CMSIS-Core (Cortex-M) 5.1.2 Minor fixes and slight enhancements, e.g. beta for Cortex-M1.</li>
<li>CMSIS-Core (Cortex-A) 1.1.2 Minor fixes.</li>
<li>CMSIS-Driver 2.6.0 (unchanged)</li>
<li>CMSIS-DSP 1.5.2 (unchanged)</li>
<li>CMSIS-NN 1.1.0 Added new math function (see revision history)</li>
<li>CMSIS-RTOS 2.1.3 Relaxed interrupt usage.<ul>
<li>RTX 5.4.0 (see revision history)</li>
</ul>
</li>
<li>CMSIS-Pack 1.5.0 (unchanged)</li>
<li>CMSIS-SVD 1.3.3 (unchanged)</li>
<li>CMSIS-DAP 2.0.0 (unchanged)</li>
<li>CMSIS-Zone 0.0.1 (unchanged) </li>
</ul>
</td></tr>
<tr>
<td>5.3.0 </td><td><ul>
<li>CMSIS-Core (Cortex-M) 5.1.1</li>
<li>CMSIS-Core (Cortex-A) 1.1.1</li>
<li>CMSIS-Driver 2.6.0 (unchanged)</li>
<li>CMSIS-DSP 1.5.2 (unchanged)</li>
<li>CMSIS-NN 1.0.0 Initial contribution of Neural Network Library.</li>
<li>CMSIS-RTOS 2.1.2 (unchanged)</li>
<li>CMSIS-Pack 1.5.0 (unchanged)</li>
<li>CMSIS-SVD 1.3.3 (unchanged)</li>
<li>CMSIS-DAP 2.0.0 Communication via WinUSB to achieve high-speed transfer rates.</li>
<li>CMSIS-Zone 0.0.1 (unchanged) </li>
</ul>
</td></tr>
<tr>
<td>5.2.0 </td><td><ul>
<li>CMSIS-Core (Cortex-M) 5.1.0 MPU functions for ARMv8-M, cmsis_iccarm.h replacing cmsis_iar.h</li>
<li>CMSIS-Core (Cortex-A) 1.1.0 cmsis_iccarm.h, additional physical timer access functions</li>
<li>CMSIS-Driver 2.6.0 Enhanced CAN and NAND driver interface.</li>
<li>CMSIS-DSP 1.5.2 Fixed diagnostics and moved SSAT/USST intrinsics to CMSIS-Core.</li>
<li>CMSIS-RTOS 2.1.2 Relaxed some ISR-callable restrictions.</li>
<li>CMSIS-Pack 1.5.0 (unchanged)</li>
<li>CMSIS-SVD 1.3.3 (unchanged)</li>
<li>CMSIS-DAP 1.2.0 (unchanged)</li>
<li>CMSIS-Zone 0.0.1 (unchanged) </li>
</ul>
</td></tr>
<tr>
<td>5.1.1 </td><td><ul>
<li>CMSIS-Core (Cortex-M) (unchanged)</li>
<li>CMSIS-Core (Cortex-A) (unchanged)</li>
<li>CMSIS-Driver 2.05 (unchanged)</li>
<li>CMSIS-DSP 1.5.2 (unchanged)</li>
<li>CMSIS-RTOS 2.1.1 Fixed RTX5 pre-built libraries for Cortex-M.</li>
<li>CMSIS-Pack 1.5.0 (unchanged)</li>
<li>CMSIS-SVD 1.3.3 (unchanged)</li>
<li>CMSIS-DAP 1.1.0 (unchanged)</li>
<li>CMSIS-Zone 0.0.1 (unchanged) </li>
</ul>
</td></tr>
<tr>
<td>5.1.0 </td><td><ul>
<li>CMSIS-Core (Cortex-M) 5.0.2 several minor corrections and enhancements</li>
<li>CMSIS-Core (Cortex-A) 1.0.0 implements a basic run-time system for Cortex-A5/A7/A9</li>
<li>CMSIS-Driver 2.05 status typedef made volatile</li>
<li>CMSIS-DSP 1.5.2 fixed GNU Compiler specific diagnostics</li>
<li>CMSIS-RTOS 2.1.1 added support for Cortex-A5/A7/A9 to RTX5</li>
<li>CMSIS-Pack 1.5.0 added SDF format specification</li>
<li>CMSIS-SVD 1.3.3 (unchanged)</li>
<li>CMSIS-DAP 1.1.0 (unchanged)</li>
<li>CMSIS-Zone 0.0.1 (Preview) format to describe system resources and tool for partitioning of resources </li>
</ul>
</td></tr>
<tr>
<td>5.0.1 </td><td><ul>
<li>CMSIS-Core 5.0.1 added __PACKED_STRUCT macro and uVisor support</li>
<li>CMSIS-Driver 2.05 updated all typedefs related to status now being volatile.</li>
<li>CMSIS-DSP 1.5.1 added ARMv8M DSP libraries</li>
<li>CMSIS-RTOS 2.1.0 added support for critical and uncritical sections</li>
<li>CMSIS-Pack 1.4.8 add Pack Index File specification</li>
<li>CMSIS-SVD 1.3.3 (unchanged)</li>
<li>CMSIS-DAP 1.1.0 (unchanged) </li>
</ul>
</td></tr>
<tr>
<td>5.0.0 </td><td>Added support for: <a href="http://www.arm.com/products/processors/instruction-set-architectures/armv8-m-architecture.php" target="_blank"><b>ARMv8-M architecture</b></a> including TrustZone for ARMv8-M and Cortex-M23, Cortex-M33 processors<ul>
<li>CMSIS-Core (Cortex-M) 5.0.0 added support for ARMv8-M and Cortex-M23, Cortex-M33 processors</li>
<li>CMSIS-Driver 2.04.0 (unchanged)</li>
<li>CMSIS-DSP 1.4.9 minor corrections and performance improvements</li>
<li>CMSIS-RTOS 2.0.0 new API with RTX 5.0.0 reference implementation and corrections in RTX 4.8.2</li>
<li>CMSIS-Pack 1.4.4 introducing CPDSC project description</li>
<li>CMSIS-SVD 1.3.3 several enhancements and rework of documentation</li>
<li>CMSIS-DAP 1.1.0 (unchanged) </li>
</ul>
</td></tr>
<tr>
<td>4.5.0 </td><td>Maintenance release that is fixing defects. See component's revision history for more details. See component's revision history for more details.<ul>
<li>CMSIS-Core (Cortex-M) 4.30.0</li>
<li>CMSIS-DAP 1.1.0 (unchanged)</li>
<li>CMSIS-Driver 2.04.0</li>
<li>CMSIS-DSP 1.4.7</li>
<li>CMSIS-Pack 1.4.1</li>
<li>CMSIS-RTOS RTX 4.80.0</li>
<li>CMSIS-SVD 1.3.1 </li>
</ul>
</td></tr>
<tr>
<td>4.4.0 </td><td>Feature release adding CMSIS-DAP (see extended End User Licence Agreement) and CMSIS-Driver for CAN. See component's revision history for more details.<ul>
<li>CMSIS-Core (Cortex-M) 4.20.0</li>
<li>CMSIS-DAP 1.1.0</li>
<li>CMSIS-Driver 2.03.0</li>
<li>CMSIS-DSP 1.4.5 (unchanged)</li>
<li>CMSIS-RTOS RTX 4.79.0</li>
<li>CMSIS-Pack 1.4.0</li>
<li>CMSIS-SVD 1.3.0 </li>
</ul>
</td></tr>
<tr>
<td>4.3.0 </td><td>Maintenance release adding SAI CMSIS-Driver and fixing defects. See component's revision history for more details.<ul>
<li>CMSIS-Core (Cortex-M) 4.10.0</li>
<li>CMSIS-Driver 2.02.0</li>
<li>CMSIS-DSP 1.4.5</li>
<li>CMSIS-RTOS RTX 4.78.0</li>
<li>CMSIS-Pack 1.3.3</li>
<li>CMSIS-SVD (unchanged) </li>
</ul>
</td></tr>
<tr>
<td>4.2 </td><td>Introducing processor support for Cortex-M7. </td></tr>
<tr>
<td>4.1 </td><td>Enhancements in CMSIS-Pack and CMSIS-Driver.<br/>
Added: PackChk validation utility<br/>
Removed support for GNU: Sourcery G++ Lite Edition for ARM </td></tr>
<tr>
<td>4.0 </td><td>First release in CMSIS-Pack format.<br/>
Added specifications for CMSIS-Pack, CMSIS-Driver </td></tr>
<tr>
<td>3.30 </td><td>Maintenance release with enhancements in each component </td></tr>
<tr>
<td>3.20 </td><td>Maintenance release with enhancements in each component </td></tr>
<tr>
<td>3.01 </td><td>Added support for Cortex-M0+ processors </td></tr>
<tr>
<td>3.00 </td><td>Added support for SC000 and SC300 processors<br/>
Added support for GNU GCC Compiler<br/>
Added CMSIS-RTOS API </td></tr>
<tr>
<td>2.10 </td><td>Added CMSIS-DSP Library </td></tr>
<tr>
<td>2.0 </td><td>Added support for Cortex-M4 processor </td></tr>
<tr>
<td>1.30 </td><td>Reworked CMSIS startup concept </td></tr>
<tr>
<td>1.01 </td><td>Added support for Cortex-M0 processor </td></tr>
<tr>
<td>1.00 </td><td>Initial release of CMSIS-Core (Cortex-M) for Cortex-M3 processor </td></tr>
</table>
</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 Jul 10 2019 15:20:41 for CMSIS Version 5.6.0 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>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View file

@ -0,0 +1,97 @@
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function(){
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.attr('src','ftv2folderopen.png');
a.attr('src','ftv2mnode.png');
$(this).show();
} else if (l==level+1) {
i.attr('src','ftv2folderclosed.png');
a.attr('src','ftv2pnode.png');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
//The clicked row
var currentRow = $('#row_'+id);
var currentRowImages = currentRow.find("img");
//All rows after the clicked row
var rows = currentRow.nextAll("tr");
//Only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() {
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
return this.id.match(re);
});
//First row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png');
currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png');
rows.filter("[id^=row_"+id+"]").hide();
} else { //We are SHOWING
//All sub images
var childImages = childRows.find("img");
var childImg = childImages.filter("[id^=img]");
var childArr = childImages.filter("[id^=arr]");
currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
childImg.attr('src','ftv2folderclosed.png'); //children closed
childArr.attr('src','ftv2pnode.png'); //children closed
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

View file

@ -0,0 +1,230 @@
<!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>Introduction</title>
<title>CMSIS: Introduction</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>
</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
&#160;<span id="projectnumber">Version 5.6.0</span>
</div>
<div id="projectbrief">Software Interface Standard for Arm Cortex-based Microcontrollers</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 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></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('index.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">Introduction </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The <b>CMSIS</b> is a vendor-independent hardware abstraction layer for microcontrollers that are based on Arm&reg; Cortex&reg; processors. The CMSIS defines generic tool interfaces and enables consistent device support. It provides simple software interfaces to the processor and the peripherals, simplifying software re-use, reducing the learning curve for microcontroller developers, and reducing the time to market for new devices.</p>
<p>The CMSIS is defined in close cooperation with various silicon and software vendors and provides a common approach to interface to peripherals, real-time operating systems, and middleware components. The CMSIS is intended to enable the combination of software components from multiple middleware vendors.</p>
<h1><a class="anchor" id="CM_Components"></a>
CMSIS Components</h1>
<table class="doxtable">
<tr>
<th align="left">CMSIS-... </th><th align="left">Target Processors </th><th align="left">Description </th></tr>
<tr>
<td align="left"><a href="../../Core/html/index.html"><b>Core(M)</b></a></td><td align="left">All Cortex-M, SecurCore </td><td align="left">Standardized API for the Cortex-M processor core and peripherals. Includes intrinsic functions for Cortex-M4/M7/M33/M35P SIMD instructions. </td></tr>
<tr>
<td align="left"><a href="../../Core_A/html/index.html"><b>Core(A)</b></a></td><td align="left">Cortex-A5/A7/A9 </td><td align="left">Standardized API and basic run-time system for the Cortex-A5/A7/A9 processor core and peripherals. </td></tr>
<tr>
<td align="left"><a href="../../Driver/html/index.html"><b>Driver</b></a></td><td align="left">All Cortex </td><td align="left">Generic peripheral driver interfaces for middleware. Connects microcontroller peripherals with middleware that implements for example communication stacks, file systems, or graphic user interfaces. </td></tr>
<tr>
<td align="left"><a href="../../DSP/html/index.html"><b>DSP</b></a></td><td align="left">All Cortex-M </td><td align="left">DSP library collection with over 60 Functions for various data types: fixed-point (fractional q7, q15, q31) and single precision floating-point (32-bit). Implementations optimized for the SIMD instruction set are available for Cortex-M4/M7/M33/M35P. </td></tr>
<tr>
<td align="left"><a href="../../NN/html/index.html"><b>NN</b></a></td><td align="left">All Cortex-M </td><td align="left">Collection of efficient neural network kernels developed to maximize the performance and minimize the memory footprint on Cortex-M processor cores. </td></tr>
<tr>
<td align="left"><a href="../../RTOS/html/index.html"><b>RTOS v1</b></a></td><td align="left">Cortex-M0/M0+/M3/M4/M7 </td><td align="left">Common API for real-time operating systems along with a reference implementation based on RTX. It enables software components that can work across multiple RTOS systems. </td></tr>
<tr>
<td align="left"><a href="../../RTOS2/html/index.html"><b>RTOS v2</b></a></td><td align="left">All Cortex-M, Cortex-A5/A7/A9 </td><td align="left">Extends CMSIS-RTOS v1 with Armv8-M support, dynamic object creation, provisions for multi-core systems, binary compatible interface. </td></tr>
<tr>
<td align="left"><a href="../../Pack/html/index.html"><b>Pack</b></a></td><td align="left">All Cortex-M, SecurCore, Cortex-A5/A7/A9 </td><td align="left">Describes a delivery mechanism for software components, device parameters, and evaluation board support. It simplifies software re-use and product life-cycle management (PLM). </td></tr>
<tr>
<td align="left"><a href="../../SVD/html/index.html"><b>SVD</b></a></td><td align="left">All Cortex-M, SecurCore </td><td align="left">Peripheral description of a device that can be used to create peripheral awareness in debuggers or CMSIS-Core header files. </td></tr>
<tr>
<td align="left"><a href="../../DAP/html/index.html"><b>DAP</b></a></td><td align="left">All Cortex </td><td align="left">Firmware for a debug unit that interfaces to the CoreSight Debug Access Port. </td></tr>
<tr>
<td align="left"><a href="../../Zone/html/index.html"><b>Zone</b></a></td><td align="left">All Cortex </td><td align="left">Defines methods to describe system resources and to partition these resources into multiple projects and execution areas. </td></tr>
</table>
<h1><a class="anchor" id="Motivation"></a>
Motivation</h1>
<p>CMSIS has been created to help the industry in standardization. It enables consistent software layers and device support across a wide range of development tools and microcontrollers. CMSIS is not a huge software layer that introduces overhead and does not define standard peripherals. The silicon industry can therefore support the wide variations of Cortex-M processor-based devices with this common standard.</p>
<div class="image">
<img src="Overview.png" alt="Overview.png"/>
<div class="caption">
CMSIS Structure</div></div>
<p> The benefits of the CMSIS are:</p>
<ul>
<li>CMSIS reduces the learning curve, development costs, and time-to-market. Developers can write software quicker through a variety of easy-to-use, standardized software interfaces.</li>
<li>Consistent software interfaces improve the software portability and re-usability. Generic software libraries and interfaces provide consistent software framework.</li>
<li>It provides interfaces for debug connectivity, debug peripheral views, software delivery, and device support to reduce time-to-market for new microcontroller deployment.</li>
<li>Being a compiler independent layer, it allows to use the compiler of your choice. Thus, it is supported by mainstream compilers.</li>
<li>It enhances program debugging with peripheral information for debuggers and ITM channels for printf-style output.</li>
<li>CMSIS is delivered in CMSIS-Pack format which enables fast software delivery, simplifies updates, and enables consistent integration into development tools.</li>
<li>CMSIS-Zone will simplify system resource and partitioning as it manages the configuration of multiple processors, memory areas, and peripherals.</li>
</ul>
<h1><a class="anchor" id="CodingRules"></a>
Coding Rules</h1>
<p>The CMSIS uses the following essential coding rules and conventions:</p>
<ul>
<li>Compliant with ANSI C (C99) and C++ (C++03).</li>
<li>Uses ANSI C standard data types defined in <b>&lt;stdint.h&gt;</b>.</li>
<li>Variables and parameters have a complete data type.</li>
<li>Expressions for <em>#define</em> constants are enclosed in parenthesis.</li>
<li>Conforms to MISRA 2012 (but does not claim MISRA compliance). MISRA rule violations are documented.</li>
</ul>
<p>In addition, the CMSIS recommends the following conventions for identifiers:</p>
<ul>
<li><b>CAPITAL</b> names to identify Core Registers, Peripheral Registers, and CPU Instructions.</li>
<li><b>CamelCase</b> names to identify function names and interrupt functions.</li>
<li><b>Namespace_</b> prefixes avoid clashes with user identifiers and provide functional groups (i.e. for peripherals, RTOS, or DSP Library).</li>
</ul>
<p>The CMSIS is documented within the source files with: </p>
<ul>
<li>Comments that use the C or C++ style. </li>
<li><a href="http://www.doxygen.nl/" target="_blank">Doxygen</a> compliant <b>function comments</b> that provide:<ul>
<li>brief function overview.</li>
<li>detailed description of the function.</li>
<li>detailed parameter explanation.</li>
<li>detailed information about return values.</li>
</ul>
</li>
</ul>
<p>Doxygen comment example: </p>
<pre class="fragment">/**
* @brief Enable Interrupt in NVIC Interrupt Controller
* @param IRQn interrupt number that specifies the interrupt
* @return none.
* Enable the specified interrupt in the NVIC Interrupt Controller.
* Other settings of the interrupt such as priority are not affected.
*/
</pre><h1><a class="anchor" id="Validation"></a>
Validation</h1>
<p>The various components of CMSIS Version 5 are validated using mainstream compilers. To get a diverse coverage, Arm uses the Arm Compiler v5 (based on EDG front-end), the Arm Compiler v6 (based on LLVM front-end), and the GCC Compiler in the various tests. For each component, the section <b>"Validation"</b> describes the scope of the various verifications.</p>
<p>CMSIS components are compatible with a range of C and C++ language standards. The CMSIS components comply with the <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0036b/index.html">Application Binary Interface (ABI) for the Arm Architecture</a> (exception CMSIS-RTOS v1). This ensures C API interfaces that support inter-operation between various toolchains.</p>
<p>As CMSIS defines API interfaces and functions that scale to a wide range of processors and devices, the scope of the run-time test coverage is limited. However, several components are validated using dedicated test suites.</p>
<p>The CMSIS source code is checked for MISRA C:2012 conformance using PC-Lint. MISRA deviations are documented with reasonable effort, however Arm does not claim MISRA compliance as there is today for example no guideline enforcement plan. The CMSIS source code is not checked for MISRA C++:2008 conformance as there is a risk that it is incompatible with C language standards, specifically warnings that may be generated by the various C compilers.</p>
<h1><a class="anchor" id="License"></a>
License</h1>
<p>The CMSIS is provided free of charge by Arm under the <a href="LICENSE.txt">Apache 2.0 License</a>.</p>
<h1><a class="anchor" id="CM_Pack_Content"></a>
CMSIS Software Pack</h1>
<p>The CMSIS software components are delivered in CMSIS-Pack format. The <b>ARM::CMSIS</b> Pack contains the following:</p>
<table class="doxtable">
<tr>
<th align="left">File/Directory </th><th align="left">Content </th></tr>
<tr>
<td align="left"><b>ARM.CMSIS.pdsc</b> </td><td align="left">Package description file in CMSIS-Pack format. </td></tr>
<tr>
<td align="left"><b>LICENSE.txt</b> </td><td align="left">CMSIS License Agreement (Apache 2.0) </td></tr>
<tr>
<td align="left"><b>CMSIS</b> </td><td align="left"><a class="el" href="index.html#CM_Components">CMSIS components</a> (see also table below) </td></tr>
<tr>
<td align="left"><b>Device</b> </td><td align="left">CMSIS reference implementations of Arm Cortex-M processor based devices </td></tr>
</table>
<h2>CMSIS Directory </h2>
<table class="doxtable">
<tr>
<th align="left">Directory </th><th align="left">Content </th></tr>
<tr>
<td align="left"><b>Documentation</b> </td><td align="left">This documentation </td></tr>
<tr>
<td align="left"><b>Core</b> </td><td align="left">User code templates for <a href="../../Core/html/index.html"><b>CMSIS-Core (Cortex-M)</b></a> related files, referenced in ARM.CMSIS.pdsc </td></tr>
<tr>
<td align="left"><b>Core_A</b> </td><td align="left">User code templates for <a href="../../Core_A/html/index.html"><b>CMSIS-Core (Cortex-A)</b></a> related files, referenced in ARM.CMSIS.pdsc </td></tr>
<tr>
<td align="left"><b>DAP</b> </td><td align="left"><a href="../../DAP/html/index.html"><b>CMSIS-DAP</b></a> Debug Access Port source code and reference implementations </td></tr>
<tr>
<td align="left"><b>Driver</b> </td><td align="left">Header files for the <a href="../../Driver/html/index.html"><b>CMSIS-Driver</b></a> peripheral interface API </td></tr>
<tr>
<td align="left"><b>DSP_Lib</b> </td><td align="left"><a href="../../DSP/html/index.html"><b>CMSIS-DSP</b></a> software library source code </td></tr>
<tr>
<td align="left"><b>NN</b> </td><td align="left"><a href="../../NN/html/index.html"><b>CMSIS-NN</b></a> software library source code </td></tr>
<tr>
<td align="left"><b>Include</b> </td><td align="left">Include files for <a href="../../Core/html/index.html"><b>CMSIS-Core (Cortex-M)</b></a> and <a href="../../DSP/html/index.html"><b>CMSIS-DSP</b></a> </td></tr>
<tr>
<td align="left"><b>Lib</b> </td><td align="left"><a href="../../DSP/html/index.html"><b>CMSIS-DSP</b></a> generated libraries for ARMCC and GCC </td></tr>
<tr>
<td align="left"><b>Pack</b> </td><td align="left"><a href="../../Pack/html/pack_Example.html"><b>CMSIS-Pack</b></a> example </td></tr>
<tr>
<td align="left"><b>RTOS</b> </td><td align="left"><a href="../../RTOS/html/index.html"><b>CMSIS-RTOS Version 1</b></a> along with RTX4 reference implementation </td></tr>
<tr>
<td align="left"><b>RTOS2</b> </td><td align="left"><a href="../../RTOS/html/index.html"><b>CMSIS-RTOS Version 2</b></a> along with RTX5 reference implementation </td></tr>
<tr>
<td align="left"><b>SVD</b> </td><td align="left"><a href="../../SVD/html/index.html"><b>CMSIS-SVD</b></a> example </td></tr>
<tr>
<td align="left"><b>Utilities</b> </td><td align="left">PACK.xsd (<a href="../../Pack/html/pack_Example.html"><b>CMSIS-Pack</b></a> schema file), PackChk.exe (checking tool for software packs), <br/>
CMSIS-SVD.xsd (<a href="../../SVD/html/index.html"><b>CMSIS-SVD</b></a> schema file), SVDConv.exe (conversion tool for SVD files) </td></tr>
</table>
<hr/>
</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 Jul 10 2019 15:20:41 for CMSIS Version 5.6.0 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>

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

View file

@ -0,0 +1,143 @@
#nav-tree .children_ul {
margin:0;
padding:4px;
}
#nav-tree ul {
list-style:none outside none;
margin:0px;
padding:0px;
}
#nav-tree li {
white-space:nowrap;
margin:0px;
padding:0px;
}
#nav-tree .plus {
margin:0px;
}
#nav-tree .selected {
background-image: url('tab_a.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
}
#nav-tree img {
margin:0px;
padding:0px;
border:0px;
vertical-align: middle;
}
#nav-tree a {
text-decoration:none;
padding:0px;
margin:0px;
outline:none;
}
#nav-tree .label {
margin:0px;
padding:0px;
font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
}
#nav-tree .label a {
padding:2px;
}
#nav-tree .selected a {
text-decoration:none;
color:#fff;
}
#nav-tree .children_ul {
margin:0px;
padding:0px;
}
#nav-tree .item {
margin:0px;
padding:0px;
}
#nav-tree {
padding: 0px 0px;
background-color: #FAFAFF;
font-size:14px;
overflow:auto;
}
#doc-content {
overflow:auto;
display:block;
padding:0px;
margin:0px;
-webkit-overflow-scrolling : touch; /* iOS 5+ */
}
#side-nav {
padding:0 6px 0 0;
margin: 0px;
display:block;
position: absolute;
left: 0px;
width: 250px;
}
.ui-resizable .ui-resizable-handle {
display:block;
}
.ui-resizable-e {
background:url("ftv2splitbar.png") repeat scroll right center transparent;
cursor:e-resize;
height:100%;
right:0;
top:0;
width:6px;
}
.ui-resizable-handle {
display:none;
font-size:0.1px;
position:absolute;
z-index:1;
}
#nav-tree-contents {
margin: 6px 0px 0px 0px;
}
#nav-tree {
background-image:url('nav_h.png');
background-repeat:repeat-x;
background-color: #F9FAFC;
-webkit-overflow-scrolling : touch; /* iOS 5+ */
}
#nav-sync {
position:absolute;
top:5px;
right:24px;
z-index:0;
}
#nav-sync img {
opacity:0.3;
}
#nav-sync img:hover {
opacity:0.9;
}
@media print
{
#nav-tree { display: none; }
div.ui-resizable-handle { display: none; position: relative; }
}

View file

@ -0,0 +1,537 @@
var NAVTREE =
[
[ "CMSIS", "index.html", [
[ "Introduction", "index.html", [
[ "CMSIS Components", "index.html#CM_Components", null ],
[ "Motivation", "index.html#Motivation", null ],
[ "Coding Rules", "index.html#CodingRules", null ],
[ "Validation", "index.html#Validation", null ],
[ "License", "index.html#License", null ],
[ "CMSIS Software Pack", "index.html#CM_Pack_Content", null ]
] ],
[ "Revision History", "cm_revisionHistory.html", null ]
] ]
];
var NAVTREEINDEX =
[
"cm_revisionHistory.html"
];
var SYNCONMSG = 'click to disable panel synchronisation';
var SYNCOFFMSG = 'click to enable panel synchronisation';
var SYNCONMSG = 'click to disable panel synchronisation';
var SYNCOFFMSG = 'click to enable panel synchronisation';
var navTreeSubIndices = new Array();
function getData(varName)
{
var i = varName.lastIndexOf('/');
var n = i>=0 ? varName.substring(i+1) : varName;
return eval(n.replace(/\-/g,'_'));
}
function stripPath(uri)
{
return uri.substring(uri.lastIndexOf('/')+1);
}
function stripPath2(uri)
{
var i = uri.lastIndexOf('/');
var s = uri.substring(i+1);
var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/);
return m ? uri.substring(i-6) : s;
}
function localStorageSupported()
{
try {
return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem;
}
catch(e) {
return false;
}
}
function storeLink(link)
{
if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) {
window.localStorage.setItem('navpath',link);
}
}
function deleteLink()
{
if (localStorageSupported()) {
window.localStorage.setItem('navpath','');
}
}
function cachedLink()
{
if (localStorageSupported()) {
return window.localStorage.getItem('navpath');
} else {
return '';
}
}
function getScript(scriptName,func,show)
{
var head = document.getElementsByTagName("head")[0];
var script = document.createElement('script');
script.id = scriptName;
script.type = 'text/javascript';
script.onload = func;
script.src = scriptName+'.js';
if ($.browser.msie && $.browser.version<=8) {
// script.onload does not work with older versions of IE
script.onreadystatechange = function() {
if (script.readyState=='complete' || script.readyState=='loaded') {
func(); if (show) showRoot();
}
}
}
head.appendChild(script);
}
function createIndent(o,domNode,node,level)
{
var level=-1;
var n = node;
while (n.parentNode) { level++; n=n.parentNode; }
if (node.childrenData) {
var imgNode = document.createElement("img");
imgNode.style.paddingLeft=(16*level).toString()+'px';
imgNode.width = 16;
imgNode.height = 22;
imgNode.border = 0;
node.plus_img = imgNode;
node.expandToggle = document.createElement("a");
node.expandToggle.href = "javascript:void(0)";
node.expandToggle.onclick = function() {
if (node.expanded) {
$(node.getChildrenUL()).slideUp("fast");
node.plus_img.src = node.relpath+"ftv2pnode.png";
node.expanded = false;
} else {
expandNode(o, node, false, false);
}
}
node.expandToggle.appendChild(imgNode);
domNode.appendChild(node.expandToggle);
imgNode.src = node.relpath+"ftv2pnode.png";
} else {
var span = document.createElement("span");
span.style.display = 'inline-block';
span.style.width = 16*(level+1)+'px';
span.style.height = '22px';
span.innerHTML = '&#160;';
domNode.appendChild(span);
}
}
var animationInProgress = false;
function gotoAnchor(anchor,aname,updateLocation)
{
var pos, docContent = $('#doc-content');
if (anchor.parent().attr('class')=='memItemLeft' ||
anchor.parent().attr('class')=='fieldtype' ||
anchor.parent().is(':header'))
{
pos = anchor.parent().position().top;
} else if (anchor.position()) {
pos = anchor.position().top;
}
if (pos) {
var dist = Math.abs(Math.min(
pos-docContent.offset().top,
docContent[0].scrollHeight-
docContent.height()-docContent.scrollTop()));
animationInProgress=true;
docContent.animate({
scrollTop: pos + docContent.scrollTop() - docContent.offset().top
},Math.max(50,Math.min(500,dist)),function(){
if (updateLocation) window.location.href=aname;
animationInProgress=false;
});
}
}
function newNode(o, po, text, link, childrenData, lastNode)
{
var node = new Object();
node.children = Array();
node.childrenData = childrenData;
node.depth = po.depth + 1;
node.relpath = po.relpath;
node.isLast = lastNode;
node.li = document.createElement("li");
po.getChildrenUL().appendChild(node.li);
node.parentNode = po;
node.itemDiv = document.createElement("div");
node.itemDiv.className = "item";
node.labelSpan = document.createElement("span");
node.labelSpan.className = "label";
createIndent(o,node.itemDiv,node,0);
node.itemDiv.appendChild(node.labelSpan);
node.li.appendChild(node.itemDiv);
var a = document.createElement("a");
node.labelSpan.appendChild(a);
node.label = document.createTextNode(text);
node.expanded = false;
a.appendChild(node.label);
if (link) {
var url;
if (link.substring(0,1)=='^') {
url = link.substring(1);
link = url;
} else {
url = node.relpath+link;
}
a.className = stripPath(link.replace('#',':'));
if (link.indexOf('#')!=-1) {
var aname = '#'+link.split('#')[1];
var srcPage = stripPath($(location).attr('pathname'));
var targetPage = stripPath(link.split('#')[0]);
a.href = srcPage!=targetPage ? url : "javascript:void(0)";
a.onclick = function(){
storeLink(link);
if (!$(a).parent().parent().hasClass('selected'))
{
$('.item').removeClass('selected');
$('.item').removeAttr('id');
$(a).parent().parent().addClass('selected');
$(a).parent().parent().attr('id','selected');
}
var anchor = $(aname);
gotoAnchor(anchor,aname,true);
};
} else {
a.href = url;
a.onclick = function() { storeLink(link); }
}
} else {
if (childrenData != null)
{
a.className = "nolink";
a.href = "javascript:void(0)";
a.onclick = node.expandToggle.onclick;
}
}
node.childrenUL = null;
node.getChildrenUL = function() {
if (!node.childrenUL) {
node.childrenUL = document.createElement("ul");
node.childrenUL.className = "children_ul";
node.childrenUL.style.display = "none";
node.li.appendChild(node.childrenUL);
}
return node.childrenUL;
};
return node;
}
function showRoot()
{
var headerHeight = $("#top").height();
var footerHeight = $("#nav-path").height();
var windowHeight = $(window).height() - headerHeight - footerHeight;
(function (){ // retry until we can scroll to the selected item
try {
var navtree=$('#nav-tree');
navtree.scrollTo('#selected',0,{offset:-windowHeight/2});
} catch (err) {
setTimeout(arguments.callee, 0);
}
})();
}
function expandNode(o, node, imm, showRoot)
{
if (node.childrenData && !node.expanded) {
if (typeof(node.childrenData)==='string') {
var varName = node.childrenData;
getScript(node.relpath+varName,function(){
node.childrenData = getData(varName);
expandNode(o, node, imm, showRoot);
}, showRoot);
} else {
if (!node.childrenVisited) {
getNode(o, node);
} if (imm || ($.browser.msie && $.browser.version>8)) {
// somehow slideDown jumps to the start of tree for IE9 :-(
$(node.getChildrenUL()).show();
} else {
$(node.getChildrenUL()).slideDown("fast");
}
if (node.isLast) {
node.plus_img.src = node.relpath+"ftv2mlastnode.png";
} else {
node.plus_img.src = node.relpath+"ftv2mnode.png";
}
node.expanded = true;
}
}
}
function glowEffect(n,duration)
{
n.addClass('glow').delay(duration).queue(function(next){
$(this).removeClass('glow');next();
});
}
function highlightAnchor()
{
var aname = $(location).attr('hash');
var anchor = $(aname);
if (anchor.parent().attr('class')=='memItemLeft'){
var rows = $('.memberdecls tr[class$="'+
window.location.hash.substring(1)+'"]');
glowEffect(rows.children(),300); // member without details
} else if (anchor.parents().slice(2).prop('tagName')=='TR') {
glowEffect(anchor.parents('div.memitem'),1000); // enum value
} else if (anchor.parent().attr('class')=='fieldtype'){
glowEffect(anchor.parent().parent(),1000); // struct field
} else if (anchor.parent().is(":header")) {
glowEffect(anchor.parent(),1000); // section header
} else {
glowEffect(anchor.next(),1000); // normal member
}
gotoAnchor(anchor,aname,false);
}
function selectAndHighlight(hash,n)
{
var a;
if (hash) {
var link=stripPath($(location).attr('pathname'))+':'+hash.substring(1);
a=$('.item a[class$="'+link+'"]');
}
if (a && a.length) {
a.parent().parent().addClass('selected');
a.parent().parent().attr('id','selected');
highlightAnchor();
} else if (n) {
$(n.itemDiv).addClass('selected');
$(n.itemDiv).attr('id','selected');
}
if ($('#nav-tree-contents .item:first').hasClass('selected')) {
$('#nav-sync').css('top','30px');
} else {
$('#nav-sync').css('top','5px');
}
showRoot();
}
function showNode(o, node, index, hash)
{
if (node && node.childrenData) {
if (typeof(node.childrenData)==='string') {
var varName = node.childrenData;
getScript(node.relpath+varName,function(){
node.childrenData = getData(varName);
showNode(o,node,index,hash);
},true);
} else {
if (!node.childrenVisited) {
getNode(o, node);
}
$(node.getChildrenUL()).css({'display':'block'});
if (node.isLast) {
node.plus_img.src = node.relpath+"ftv2mlastnode.png";
} else {
node.plus_img.src = node.relpath+"ftv2mnode.png";
}
node.expanded = true;
var n = node.children[o.breadcrumbs[index]];
if (index+1<o.breadcrumbs.length) {
showNode(o,n,index+1,hash);
} else {
if (typeof(n.childrenData)==='string') {
var varName = n.childrenData;
getScript(n.relpath+varName,function(){
n.childrenData = getData(varName);
node.expanded=false;
showNode(o,node,index,hash); // retry with child node expanded
},true);
} else {
var rootBase = stripPath(o.toroot.replace(/\..+$/, ''));
if (rootBase=="index" || rootBase=="pages" || rootBase=="search") {
expandNode(o, n, true, true);
}
selectAndHighlight(hash,n);
}
}
}
} else {
selectAndHighlight(hash);
}
}
function removeToInsertLater(element) {
var parentNode = element.parentNode;
var nextSibling = element.nextSibling;
parentNode.removeChild(element);
return function() {
if (nextSibling) {
parentNode.insertBefore(element, nextSibling);
} else {
parentNode.appendChild(element);
}
};
}
function getNode(o, po)
{
var insertFunction = removeToInsertLater(po.li);
po.childrenVisited = true;
var l = po.childrenData.length-1;
for (var i in po.childrenData) {
var nodeData = po.childrenData[i];
po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2],
i==l);
}
insertFunction();
}
function gotoNode(o,subIndex,root,hash,relpath)
{
var nti = navTreeSubIndices[subIndex][root+hash];
o.breadcrumbs = $.extend(true, [], nti ? nti : navTreeSubIndices[subIndex][root]);
if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index
navTo(o,NAVTREE[0][1],"",relpath);
$('.item').removeClass('selected');
$('.item').removeAttr('id');
}
if (o.breadcrumbs) {
o.breadcrumbs.unshift(0); // add 0 for root node
showNode(o, o.node, 0, hash);
}
}
function navTo(o,root,hash,relpath)
{
var link = cachedLink();
if (link) {
var parts = link.split('#');
root = parts[0];
if (parts.length>1) hash = '#'+parts[1];
else hash='';
}
if (hash.match(/^#l\d+$/)) {
var anchor=$('a[name='+hash.substring(1)+']');
glowEffect(anchor.parent(),1000); // line number
hash=''; // strip line number anchors
//root=root.replace(/_source\./,'.'); // source link to doc link
}
var url=root+hash;
var i=-1;
while (NAVTREEINDEX[i+1]<=url) i++;
if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index
if (navTreeSubIndices[i]) {
gotoNode(o,i,root,hash,relpath)
} else {
getScript(relpath+'navtreeindex'+i,function(){
navTreeSubIndices[i] = eval('NAVTREEINDEX'+i);
if (navTreeSubIndices[i]) {
gotoNode(o,i,root,hash,relpath);
}
},true);
}
}
function showSyncOff(n,relpath)
{
n.html('<img src="'+relpath+'sync_off.png" title="'+SYNCOFFMSG+'"/>');
}
function showSyncOn(n,relpath)
{
n.html('<img src="'+relpath+'sync_on.png" title="'+SYNCONMSG+'"/>');
}
function toggleSyncButton(relpath)
{
var navSync = $('#nav-sync');
if (navSync.hasClass('sync')) {
navSync.removeClass('sync');
showSyncOff(navSync,relpath);
storeLink(stripPath2($(location).attr('pathname'))+$(location).attr('hash'));
} else {
navSync.addClass('sync');
showSyncOn(navSync,relpath);
deleteLink();
}
}
function initNavTree(toroot,relpath)
{
var o = new Object();
o.toroot = toroot;
o.node = new Object();
o.node.li = document.getElementById("nav-tree-contents");
o.node.childrenData = NAVTREE;
o.node.children = new Array();
o.node.childrenUL = document.createElement("ul");
o.node.getChildrenUL = function() { return o.node.childrenUL; };
o.node.li.appendChild(o.node.childrenUL);
o.node.depth = 0;
o.node.relpath = relpath;
o.node.expanded = false;
o.node.isLast = true;
o.node.plus_img = document.createElement("img");
o.node.plus_img.src = relpath+"ftv2pnode.png";
o.node.plus_img.width = 16;
o.node.plus_img.height = 22;
if (localStorageSupported()) {
var navSync = $('#nav-sync');
if (cachedLink()) {
showSyncOff(navSync,relpath);
navSync.removeClass('sync');
} else {
showSyncOn(navSync,relpath);
}
navSync.click(function(){ toggleSyncButton(relpath); });
}
$(window).load(function(){
navTo(o,toroot,window.location.hash,relpath);
showRoot();
});
$(window).bind('hashchange', function(){
if (window.location.hash && window.location.hash.length>1){
var a;
if ($(location).attr('hash')){
var clslink=stripPath($(location).attr('pathname'))+':'+
$(location).attr('hash').substring(1);
a=$('.item a[class$="'+clslink+'"]');
}
if (a==null || !$(a).parent().parent().hasClass('selected')){
$('.item').removeClass('selected');
$('.item').removeAttr('id');
}
var link=stripPath2($(location).attr('pathname'));
navTo(o,link,$(location).attr('hash'),relpath);
} else if (!animationInProgress) {
$('#doc-content').scrollTop(0);
$('.item').removeClass('selected');
$('.item').removeAttr('id');
navTo(o,toroot,window.location.hash,relpath);
}
})
}

View file

@ -0,0 +1,13 @@
var NAVTREEINDEX0 =
{
"cm_revisionHistory.html":[1],
"index.html":[],
"index.html":[0],
"index.html#CM_Components":[0,0],
"index.html#CM_Pack_Content":[0,5],
"index.html#CodingRules":[0,2],
"index.html#License":[0,4],
"index.html#Motivation":[0,1],
"index.html#Validation":[0,3],
"pages.html":[]
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

View file

@ -0,0 +1,94 @@
<!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>Usage and Description</title>
<title>CMSIS: Usage and Description</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>
</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
&#160;<span id="projectnumber">Version 5.6.0</span>
</div>
<div id="projectbrief">Software Interface Standard for Arm Cortex-based Microcontrollers</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 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></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('pages.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">Usage and Description</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="cm_revisionHistory.html" target="_self">Revision History</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</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 Jul 10 2019 15:20:41 for CMSIS Version 5.6.0 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>

View file

@ -0,0 +1,39 @@
var strgURL = location.pathname; // path of current component
// constuctor for the array of objects
function tabElement(id, folderName, tabTxt ) {
this.id = id; // elementID as needed in html;
this.folderName = folderName; // folder name of the component
this.tabTxt = tabTxt; // Text displayed as menu on the web
this.currentListItem = '<li id="' + this.id + '" class="current"> <a href="../..' + this.folderName + 'index.html"><span>' + this.tabTxt + '</span></a></li>';
this.listItem = '<li id="' + this.id + '"> <a href="../..' + this.folderName + 'index.html"><span>' + this.tabTxt + '</span></a></li>';
};
// array of objects
var arr = [];
// fill array
arr.push( new tabElement( "GEN", "/General/html/", "General") );
arr.push( new tabElement( "CORE_A", "/Core_A/html/", "CMSIS-Core(A)") );
arr.push( new tabElement( "CORE_M", "/Core/html/", "CMSIS-Core(M)") );
arr.push( new tabElement( "DRV", "/Driver/html/", "Driver") );
arr.push( new tabElement( "DSP", "/DSP/html/", "DSP") );
arr.push( new tabElement( "NN", "/NN/html/", "NN") );
arr.push( new tabElement( "RTOSv1", "/RTOS/html/", "RTOS v1") );
arr.push( new tabElement( "RTOSv2", "/RTOS2/html/", "RTOS v2") );
arr.push( new tabElement( "PACK", "/Pack/html/", "Pack") );
arr.push( new tabElement( "SVD", "/SVD/html/", "SVD") );
arr.push( new tabElement( "DAP", "/DAP/html/", "DAP") );
arr.push( new tabElement( "ZONE", "/Zone/html/", "Zone") );
// write tabs
// called from the header file.
function writeComponentTabs() {
for ( var i=0; i < arr.length; i++ ) {
if (strgURL.search(arr[i].folderName) > 0) { // if this is the current folder
document.write(arr[i].currentListItem); // then print and hightlight the tab
} else {
document.write(arr[i].listItem); // else, print the tab
}
}
};

View file

@ -0,0 +1,97 @@
var cookie_namespace = 'doxygen';
var sidenav,navtree,content,header;
function readCookie(cookie)
{
var myCookie = cookie_namespace+"_"+cookie+"=";
if (document.cookie)
{
var index = document.cookie.indexOf(myCookie);
if (index != -1)
{
var valStart = index + myCookie.length;
var valEnd = document.cookie.indexOf(";", valStart);
if (valEnd == -1)
{
valEnd = document.cookie.length;
}
var val = document.cookie.substring(valStart, valEnd);
return val;
}
}
return 0;
}
function writeCookie(cookie, val, expiration)
{
if (val==undefined) return;
if (expiration == null)
{
var date = new Date();
date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week
expiration = date.toGMTString();
}
document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/";
}
function resizeWidth()
{
var windowWidth = $(window).width() + "px";
var sidenavWidth = $(sidenav).outerWidth();
content.css({marginLeft:parseInt(sidenavWidth)+"px"});
writeCookie('width',sidenavWidth, null);
}
function restoreWidth(navWidth)
{
var windowWidth = $(window).width() + "px";
content.css({marginLeft:parseInt(navWidth)+6+"px"});
sidenav.css({width:navWidth + "px"});
}
function resizeHeight()
{
var headerHeight = header.outerHeight();
var footerHeight = footer.outerHeight();
var windowHeight = $(window).height() - headerHeight - footerHeight;
content.css({height:windowHeight + "px"});
navtree.css({height:windowHeight + "px"});
sidenav.css({height:windowHeight + "px",top: headerHeight+"px"});
}
function initResizable()
{
header = $("#top");
sidenav = $("#side-nav");
content = $("#doc-content");
navtree = $("#nav-tree");
footer = $("#nav-path");
$(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
$(window).resize(function() { resizeHeight(); });
var width = readCookie('width');
if (width) { restoreWidth(width); } else { resizeWidth(); }
resizeHeight();
var url = location.href;
var i=url.indexOf("#");
if (i>=0) window.location.hash=url.substr(i);
var _preventDefault = function(evt) { evt.preventDefault(); };
$("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
$(document).bind('touchmove',function(e){
var device = navigator.userAgent.toLowerCase();
var ios = device.match(/(iphone|ipod|ipad)/);
if (ios) {
try {
var target = e.target;
while (target) {
if ($(target).css('-webkit-overflow-scrolling')=='touch') return;
target = target.parentNode;
}
e.preventDefault();
} catch(err) {
e.preventDefault();
}
}
});
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 853 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 B

View file

@ -0,0 +1,71 @@
.tabs, .tabs1, .tabs2, .tabs3 {
background-image: url('tab_b.png');
width: 100%;
z-index: 101;
font-size: 10px;
}
.tabs1 {
background-image: url('tab_topnav.png');
font-size: 12px;
}
.tabs2 {
font-size: 10px;
}
.tabs3 {
font-size: 9px;
}
.tablist {
margin: 0;
padding: 0;
display: table;
line-height: 24px;
}
.tablist li {
float: left;
display: table-cell;
background-image: url('tab_b.png');
list-style: none;
}
.tabs1 .tablist li {
float: left;
display: table-cell;
background-image: url('tab_topnav.png');
list-style: none;
}
.tablist a {
display: block;
padding: 0 20px;
font-weight: bold;
background-image:url('tab_s.png');
background-repeat:no-repeat;
background-position:right;
color: #283A5D;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
text-decoration: none;
outline: none;
}
.tabs3 .tablist a {
padding: 0 10px;
}
.tablist a:hover {
background-image: url('tab_h.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
text-decoration: none;
}
.tablist li.current a {
background-image: url('tab_a.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
}