aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2017-01-25 22:24:18 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2017-01-25 22:29:25 +0100
commit40e04e3772726829d66c12e69f24b03920d79c67 (patch)
tree636811bad956798c9d5d22de9e7ba8c799b8d791 /thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD
parent2fff65aed2477a503c72629d27e2a330d30c02d1 (diff)
downloadstm32f103-playground-40e04e3772726829d66c12e69f24b03920d79c67.tar.gz
stm32f103-playground-40e04e3772726829d66c12e69f24b03920d79c67.tar.bz2
stm32f103-playground-40e04e3772726829d66c12e69f24b03920d79c67.tar.xz
stm32f103-playground-40e04e3772726829d66c12e69f24b03920d79c67.zip
o Moving tinyprintf and stm libraries under thirdparty.
Diffstat (limited to 'thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD')
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS-SVD_Schema_1_0.xsd274
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS_Logo_Final.pngbin0 -> 12402 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS_SVD_Vendor_DD.pngbin0 -> 11010 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS_SVD_WEB_DATABASE.pngbin0 -> 31649 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/Manage_SVD_DD.pngbin0 -> 12994 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/bc_s.pngbin0 -> 705 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/closed.pngbin0 -> 126 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/cmsis.css957
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/dynsections.js42
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2blank.pngbin0 -> 82 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2folderclosed.pngbin0 -> 598 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2folderopen.pngbin0 -> 590 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2mlastnode.pngbin0 -> 221 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2mnode.pngbin0 -> 221 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2node.pngbin0 -> 82 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2plastnode.pngbin0 -> 215 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2pnode.pngbin0 -> 215 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2splitbar.pngbin0 -> 249 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2vertline.pngbin0 -> 82 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__cluster_level__gr.html182
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__dim_element_group__gr.html125
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__peripheral_section_extensions__gr.html121
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__register_properties_group__gr.html116
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__register_section_extensions__gr.html151
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__schema__1__1__gr.html603
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__schema__gr.html368
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd___format__1__1__gr.html107
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd___format__gr.html139
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd__xml__device__gr.html177
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd__xml__fields__gr.html215
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd__xml__registers__gr.html234
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/index.html153
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/nav_f.pngbin0 -> 159 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/nav_h.pngbin0 -> 97 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/navtree.js285
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/pages.html102
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/svd__outline_pg.html128
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/svd__usage_pg.html110
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/svd_validate_file_pg.html123
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/tab_b.pngbin0 -> 178 bytes
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/tab_s.pngbin0 -> 189 bytes
41 files changed, 4712 insertions, 0 deletions
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS-SVD_Schema_1_0.xsd b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS-SVD_Schema_1_0.xsd
new file mode 100644
index 0000000..ceabcb0
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS-SVD_Schema_1_0.xsd
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ @date: 07.12.2011
+ @note Copyright (C) 2011 ARM Limited. All rights reserved.
+ @par
+ ARM Limited (ARM) is supplying this software for use with Cortex-M
+ processor based microcontroller, but can be equally used for other
+ suitable processor architectures. This file can be freely distributed.
+ Modifications to this file shall be clearly marked.
+
+ @par
+ THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+ OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+ ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+ CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+ -->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.0">
+
+ <xs:simpleType name="registerNameType">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="((%s)[_A-Za-z]{1}[_A-Za-z0-9]*)|([_A-Za-z]{1}[_A-Za-z0-9]*(\[%s\])?)|([_A-Za-z]{1}[_A-Za-z0-9]*(%s)?[_A-Za-z0-9]*)"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="dimIndexType">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]+\-[0-9]+|[A-Z]-[A-Z]|[_0-9a-zA-Z]+(,\s*[_0-9a-zA-Z]+)+"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="scaledNonNegativeInteger">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[+]?(0x|0X|#)?[0-9a-fA-F]+[kmgtKMGT]?"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumeratedValueDataType">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[+]?(0x|0X|#)?[0-9a-fxA-FX]+"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="accessType">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="read-only"/>
+ <xs:enumeration value="write-only"/>
+ <xs:enumeration value="read-write"/>
+ <xs:enumeration value="writeOnce"/>
+ <xs:enumeration value="read-writeOnce"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="modifiedWriteValuesType">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="oneToClear"/>
+ <xs:enumeration value="oneToSet"/>
+ <xs:enumeration value="oneToToggle"/>
+ <xs:enumeration value="zeroToClear"/>
+ <xs:enumeration value="zeroToSet"/>
+ <xs:enumeration value="zeroToToggle"/>
+ <xs:enumeration value="clear"/>
+ <xs:enumeration value="set"/>
+ <xs:enumeration value="modify"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="readActionType">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="clear"/>
+ <xs:enumeration value="set"/>
+ <xs:enumeration value="modify"/>
+ <xs:enumeration value="modifyExternal"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumUsageType">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="read"/>
+ <xs:enumeration value="write"/>
+ <xs:enumeration value="read-write"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="bitRangeType">
+ <xs:restriction base="xs:token">
+ <xs:pattern value="\[([0-3])?[0-9]:([0-3])?[0-9]\]"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="writeConstraintType">
+ <xs:choice>
+ <xs:element name="writeAsRead" type="xs:boolean"/>
+ <xs:element name="useEnumeratedValues" type="xs:boolean"/>
+ <xs:element name="range">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="minimum" type="scaledNonNegativeInteger"/>
+ <xs:element name="maximum" type="scaledNonNegativeInteger"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+
+ <xs:complexType name="addressBlockType">
+ <xs:sequence>
+ <xs:element name="offset" type="scaledNonNegativeInteger"/>
+ <xs:element name="size" type="scaledNonNegativeInteger"/>
+ <xs:element name="usage">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="registers"/>
+ <xs:enumeration value="buffer"/>
+ <xs:enumeration value="reserved"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="interruptType">
+ <xs:sequence>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="value" type="xs:integer"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:group name="registerPropertiesGroup">
+ <xs:sequence>
+ <xs:element name="size" type="scaledNonNegativeInteger" minOccurs="0"/>
+ <xs:element name="access" type="accessType" minOccurs="0"/>
+ <xs:element name="resetValue" type="scaledNonNegativeInteger" minOccurs="0"/>
+ <xs:element name="resetMask" type="scaledNonNegativeInteger" minOccurs="0"/>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:group name="bitRangeLsbMsbStyle">
+ <xs:sequence>
+ <xs:element name="lsb" type="scaledNonNegativeInteger"/>
+ <xs:element name="msb" type="scaledNonNegativeInteger"/>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:group name="bitRangeOffsetWidthStyle">
+ <xs:sequence>
+ <xs:element name="bitOffset" type="scaledNonNegativeInteger"/>
+ <xs:element name="bitWidth" type="scaledNonNegativeInteger" minOccurs="0"/>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:group name="dimElementGroup">
+ <xs:sequence>
+ <xs:element name="dim" type="scaledNonNegativeInteger"/>
+ <xs:element name="dimIncrement" type="scaledNonNegativeInteger"/>
+ <xs:element name="dimIndex" type="dimIndexType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:element name="device" nillable="true">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="version" type="xs:string"/>
+ <xs:element name="description" type="xs:string"/>
+ <xs:element name="addressUnitBits" type="scaledNonNegativeInteger"/>
+ <xs:element name="width" type="scaledNonNegativeInteger"/>
+ <xs:group ref="registerPropertiesGroup" minOccurs="0"/>
+ <xs:element name="peripherals">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="peripheral" minOccurs="1" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" type="xs:Name"/>
+ <xs:element name="version" type="xs:string" minOccurs="0"/>
+ <xs:element name="description" type="xs:string" minOccurs="0"/>
+ <xs:element name="groupName" type="xs:string" minOccurs="0"/>
+ <xs:element name="prependToName" type="xs:string" minOccurs="0"/>
+ <xs:element name="appendToName" type="xs:string" minOccurs="0"/>
+ <xs:element name="disableCondition" type="xs:string" minOccurs="0"/>
+ <xs:element name="baseAddress" type="scaledNonNegativeInteger"/>
+ <xs:group ref="registerPropertiesGroup" minOccurs="0"/>
+ <xs:element name="addressBlock" type="addressBlockType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="interrupt" type="interruptType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="registers" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="register" minOccurs="1" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="dimElementGroup" minOccurs="0"/>
+ <xs:element name="name" type="registerNameType"/> <!-- was xs:Name -->
+ <xs:element name="displayName" type="xs:string" minOccurs="0"/>
+ <xs:element name="description" type="xs:string" minOccurs="0"/>
+ <xs:element name="alternateGroup" type="xs:Name" minOccurs="0"/>
+ <xs:element name="addressOffset" type="scaledNonNegativeInteger"/>
+ <xs:group ref="registerPropertiesGroup" minOccurs="0"/>
+ <xs:element name="modifiedWriteValues" type="modifiedWriteValuesType" minOccurs="0"/>
+ <xs:element name="writeConstraint" type="writeConstraintType" minOccurs="0"/>
+ <xs:element name="readAction" type="readActionType" minOccurs="0"/>
+ <xs:element name="fields" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="field" minOccurs="1" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="description" type="xs:string" minOccurs="0"/>
+ <xs:choice>
+ <xs:group ref="bitRangeLsbMsbStyle" minOccurs="0"/>
+ <xs:group ref="bitRangeOffsetWidthStyle" minOccurs="0"/>
+ <xs:element name="bitRange" type="bitRangeType" minOccurs="0"/>
+ </xs:choice>
+ <xs:element name="access" type="accessType" minOccurs="0"/>
+ <xs:element name="modifiedWriteValues" type="modifiedWriteValuesType" minOccurs="0"/>
+ <xs:element name="writeConstraint" type="writeConstraintType" minOccurs="0"/>
+ <xs:element name="readAction" type="readActionType" minOccurs="0"/>
+ <xs:element name="enumeratedValues" minOccurs="0" maxOccurs="2">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" type="xs:Name" minOccurs="0"/>
+ <xs:element name="usage" type="enumUsageType" minOccurs="0"/>
+ <xs:element name="enumeratedValue" minOccurs="1" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="description" type="xs:string" minOccurs="0"/>
+ <xs:choice>
+ <xs:element name="value" type="enumeratedValueDataType"/>
+ <xs:element name="isDefault" type="xs:boolean"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="derivedFrom" type="xs:Name" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="derivedFrom" type="xs:Name" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="derivedFrom" type="xs:Name" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="derivedFrom" type="xs:Name" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="vendorExtensions" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ </xs:any>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="schemaVersion" type="xs:decimal" use="required" fixed="1.0"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS_Logo_Final.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS_Logo_Final.png
new file mode 100644
index 0000000..2056b7e
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS_Logo_Final.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS_SVD_Vendor_DD.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS_SVD_Vendor_DD.png
new file mode 100644
index 0000000..d62f75b
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS_SVD_Vendor_DD.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS_SVD_WEB_DATABASE.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS_SVD_WEB_DATABASE.png
new file mode 100644
index 0000000..1354448
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/CMSIS_SVD_WEB_DATABASE.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/Manage_SVD_DD.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/Manage_SVD_DD.png
new file mode 100644
index 0000000..f14f62c
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/Manage_SVD_DD.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/bc_s.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/bc_s.png
new file mode 100644
index 0000000..51ba006
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/bc_s.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/closed.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/closed.png
new file mode 100644
index 0000000..b7d4bd9
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/closed.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/cmsis.css b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/cmsis.css
new file mode 100644
index 0000000..a5c4b8d
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/cmsis.css
@@ -0,0 +1,957 @@
+/* The standard CSS for doxygen */
+
+body, table, div, p, dl {
+ font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+ font-size: 12px;
+}
+
+/* CMSIS styles */
+
+.style1 {
+ text-align: center;
+}
+.style2 {
+ color: #0000FF;
+ font-weight: normal;
+}
+.style3 {
+ text-align: left;
+}
+.style4 {
+ color: #008000;
+}
+.style5 {
+ color: #0000FF;
+}
+.style6 {
+ color: #000000;
+ font-style:italic;
+}
+.mand {
+ color: #0000FF;
+}
+.opt {
+ color: #008000;
+}
+.cond {
+ color: #990000;
+}
+
+.choice
+{
+ background-color:#F7F9D0;
+}
+.seq
+{
+ background-color:#C9DECB;
+}
+.group1
+{
+ background-color:#F8F1F1;
+}
+.group2
+{
+ background-color:#DCEDEA;
+}
+
+
+ul ul {
+ list-style-type: disc;
+}
+
+ul ul ul {
+ list-style-type: disc;
+}
+
+ul.hierarchy {
+ color: green;
+}
+
+em {
+ color: #000000;
+ font-style:italic;
+}
+
+
+
+/* CMSIS Tables */
+table.cmtab1 {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+ text-align: justify;
+ width:70%;
+}
+
+th.cmtab1 {
+ background: #EBEFF6;
+ font-weight: bold;
+ height: 28px;
+}
+
+td.cmtab1 {
+ padding:1px;
+ text-align: left;
+}
+
+table.cmtable {
+ border-collapse:collapse;
+ text-align: justify;
+}
+
+table.cmtable td, table.cmtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.cmtable th {
+ background-color: #EBEFF6;
+ border: 1px solid #2D4068;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ height: 28px;
+}
+
+td.MonoTxt {
+ font-family:"Arial monospaced for SAP";
+}
+
+span.XML-Token
+{
+ azimuth: 180;
+ font-style:italic;
+ color:Maroon;
+ z-index:20;
+
+}
+
+/* @group Heading Levels */
+
+h1 {
+ font-size: 150%;
+}
+
+.title {
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h2 {
+ font-size: 120%;
+}
+
+h3 {
+ font-size: 100%;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+ margin-top: 2px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #3D578C;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #4665A2;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #9CAFD4;
+ color: #ffffff;
+ border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code {
+ color: #4665A2;
+}
+
+a.codeRef {
+ color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+.fragment {
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background: white;
+ color: black;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 10px;
+ margin-right: 5px;
+}
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C4CFE5;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+}
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE5;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
+ border-top: 1px solid #C4CFE5;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4665A2;
+ white-space: nowrap;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #4665A2;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+}
+
+.memname {
+ white-space: nowrap;
+ font-weight: bold;
+ margin-left: 6px;
+}
+
+.memproto {
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 8px;
+ border-top-left-radius: 8px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 8px;
+ -moz-border-radius-topleft: 8px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 8px;
+ -webkit-border-top-left-radius: 8px;
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+
+}
+
+.memdoc {
+ border-bottom: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 2px 5px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ /* opera specific markup */
+ border-bottom-left-radius: 8px;
+ border-bottom-right-radius: 8px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 8px;
+ -moz-border-radius-bottomright: 8px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 8px;
+ -webkit-border-bottom-right-radius: 8px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+
+.params, .retval, .exception, .tparams {
+ border-spacing: 6px 2px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+
+
+
+/* @end */
+
+/* @group Directory (tree) */
+
+/* for the tree view */
+
+.ftvtree {
+ font-family: sans-serif;
+ margin: 0px;
+}
+
+/* these are for tree view when used as main index */
+
+.directory {
+ font-size: 9pt;
+ font-weight: bold;
+ margin: 5px;
+}
+
+.directory h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+/*
+The following two styles can be used to replace the root node title
+with an image of your choice. Simply uncomment the next two styles,
+specify the name of your image and be sure to set 'height' to the
+proper pixel height of your image.
+*/
+
+/*
+.directory h3.swap {
+ height: 61px;
+ background-repeat: no-repeat;
+ background-image: url("yourimage.gif");
+}
+.directory h3.swap span {
+ display: none;
+}
+*/
+
+.directory > h3 {
+ margin-top: 0;
+}
+
+.directory p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory div {
+ display: none;
+ margin: 0px;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+/* these are for tree view when not used as main index */
+
+.directory-alt {
+ font-size: 100%;
+ font-weight: bold;
+}
+
+.directory-alt h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+.directory-alt > h3 {
+ margin-top: 0;
+}
+
+.directory-alt p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory-alt div {
+ display: none;
+ margin: 0px;
+}
+
+.directory-alt img {
+ vertical-align: -30%;
+}
+
+/* @end */
+
+div.dynheader {
+ margin-top: 8px;
+}
+
+address {
+ font-style: normal;
+ color: #2A3D61;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+}
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ height:30px;
+ line-height:30px;
+ color:#8AA0CC;
+ border:solid 1px #C2CDE4;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6884BD;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ padding-left: 5px;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug
+{
+ border-left:4px solid;
+ padding: 0 0 0 6px;
+}
+
+dl.note
+{
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ border-color: #505050;
+}
+
+dl.todo
+{
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ border-color: #C08050;
+}
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectname
+{
+ font: 200% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font: 120% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/dynsections.js b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/dynsections.js
new file mode 100644
index 0000000..bf14807
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/dynsections.js
@@ -0,0 +1,42 @@
+var showTriggers = new Array();
+
+function registerShow(sectId,showFunc) {
+ showTriggers[sectId] = showFunc;
+}
+
+function hasClass(ele,cls) {
+ return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
+}
+
+function addClass(ele,cls) {
+ if (!this.hasClass(ele,cls)) ele.className += " "+cls;
+}
+
+function removeClass(ele,cls) {
+ if (hasClass(ele,cls)) {
+ var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
+ ele.className=ele.className.replace(reg,' ');
+ }
+}
+
+function toggleVisibility(linkObj) {
+ var base = linkObj.getAttribute('id');
+ var summary = document.getElementById(base + '-summary');
+ var content = document.getElementById(base + '-content');
+ var trigger = document.getElementById(base + '-trigger');
+ if ( hasClass(linkObj,'closed') ) {
+ summary.style.display = 'none';
+ content.style.display = 'block';
+ trigger.src = trigger.src.substring(0,trigger.src.length-10)+'open.png';
+ removeClass(linkObj,'closed');
+ addClass(linkObj,'opened');
+ if (showTriggers[base]) { showTriggers[base](); }
+ } else if ( hasClass(linkObj,'opened') ) {
+ summary.style.display = 'block';
+ content.style.display = 'none';
+ trigger.src = trigger.src.substring(0,trigger.src.length-8)+'closed.png';
+ removeClass(linkObj,'opened');
+ addClass(linkObj,'closed');
+ }
+ return false;
+}
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2blank.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2blank.png
new file mode 100644
index 0000000..3b7a29c
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2blank.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2folderclosed.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2folderclosed.png
new file mode 100644
index 0000000..79aeaf7
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2folderclosed.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2folderopen.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2folderopen.png
new file mode 100644
index 0000000..1b703dd
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2folderopen.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2mlastnode.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2mlastnode.png
new file mode 100644
index 0000000..ec51f17
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2mlastnode.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2mnode.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2mnode.png
new file mode 100644
index 0000000..ec51f17
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2mnode.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2node.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2node.png
new file mode 100644
index 0000000..3b7a29c
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2node.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2plastnode.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2plastnode.png
new file mode 100644
index 0000000..270a965
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2plastnode.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2pnode.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2pnode.png
new file mode 100644
index 0000000..270a965
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2pnode.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2splitbar.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2splitbar.png
new file mode 100644
index 0000000..f60a527
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2splitbar.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2vertline.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2vertline.png
new file mode 100644
index 0000000..3b7a29c
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/ftv2vertline.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__cluster_level__gr.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__cluster_level__gr.html
new file mode 100644
index 0000000..aee5b81
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__cluster_level__gr.html
@@ -0,0 +1,182 @@
+<!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"/>
+<title>Cluster Level (New)</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('group__cluster_level__gr.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">Cluster Level (New)</div> </div>
+<div class="ingroups"><a class="el" href="group__svd___format__1__1__gr.html">SVD Extension in Version 1.1</a></div></div>
+<div class="contents">
+<p><b>Cluster</b> adds a new and optional sub-level to the CMSIS SVD <em>registers</em> level. A cluster describes a sequence of registers within a peripheral. A cluster has an base offset relative to the base address of the peripheral. All registers within a cluster specify their address offset relative to the cluster base address. <em>Register</em> and <em>cluster</em> sections can occur in an arbitrary order. This feature, targeted at the generation of device header files, is useful to create a C data structure within the peripheral structure type, rather than describing all registers of a peripheral in a flat structure.</p>
+<hr/>
+<pre>
+<span class="mand"><b>&lt;registers&gt;</b> </span></pre><pre><span class="mand"> <b>&lt;cluster <span class="opt">derivedFrom=<em>identifierType</em></span>&gt;</b>
+ <span class="opt">
+ <em>&lt;!-- dimElementGroup --&gt; </em>
+ &lt;dim&gt;<em>scaledNonNegativeInteger</em>&lt;/dim&gt;
+ &lt;dimIncrement&gt;<em>scaledNonNegativeInteger</em>&lt;/dimIncrement&gt;
+ &lt;dimIndex&gt;<em>dimIndexType</em>&lt;/dimIndex&gt;
+ <em>&lt;!-- end of dimElementGroup --&gt; </em>
+ </span>
+ &lt;name&gt;<em>identifierType</em>&lt;/name&gt;
+ &lt;description&gt;<em>xs:string</em>&lt;/description&gt;
+ <span class="opt">
+ &lt;headerStructName&gt;<em>identifierType</em>&lt;/headerStructName&gt;
+ &lt;alternateCluster&gt;<em>identifierType</em>&lt;/alternateCluster&gt;
+ </span>
+ &lt;addressOffset&gt;<em>scaledNonNegativeInteger</em>&lt;/addressOffset&gt;</span></pre><pre><span class="mand"> &lt;register&gt;
+ ...
+ &lt;/register&gt;
+ <b>&lt;/cluster&gt;</b>
+ <span class="opt">...
+ &lt;register&gt;
+ ...
+ &lt;/register&gt;
+ &lt;cluster&gt;
+ ...
+ &lt;/cluster&gt;
+ </span>
+<b>&lt;registers&gt;</b> </span>
+</pre><table class="cmtable" summary="Cluster Level Schema">
+<tr>
+<th>Attribute Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
+<tr>
+<td>derivedFrom </td><td>Specifies the name of the cluster from which to inherit the data. Elements being specified underneath will override the inherited values. <br/>
+<b>Remarks:</b> When deriving a cluster, it is mandatory to specify at least the name, the description, and the addressOffset. </td><td>registerType </td><td>0..1 </td></tr>
+<tr>
+<th>Element Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
+<tr class="group1">
+<td colspan="4">See <a class="el" href="group__dim_element_group__gr.html">dimElementGroup</a> for details. </td></tr>
+<tr class="group1">
+<td align="left">dimIncrement </td><td>The value defines the number of elements in an array of clusters. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr class="group1">
+<td align="left">dimIncrement </td><td>If <em>dim</em> is specified, this element becomes mandatory. The element specifies the address increment in between two neighboring clusters of the cluster array in the address map. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr class="group1">
+<td align="left">dimIndex </td><td>Specifies the substrings that replaces the <em>[%s]</em> placeholder within the cluster name. By default, the index is a decimal value starting with 0 for the first cluster element. </td><td>dimIndexType </td><td>0..1 </td></tr>
+<tr>
+<td>name </td><td>String that identifies the cluster. Register names are required to be unique within the scope of a peripheral. Specify <em>[%s]</em> for generating an array in the device header file. </td><td>identifierType </td><td>1..1 </td></tr>
+<tr>
+<td>description </td><td>String describing the details of the register. </td><td>xs:string </td><td>0..1 </td></tr>
+<tr>
+<td>alternateCluster </td><td>This tag needs to specify the name of the original description of the register sequence if this cluster provides an alternative description. Otherwise the SVDConv will issue errors. </td><td>identifierType </td><td>0..1 </td></tr>
+<tr>
+<td>headerStructName </td><td>This tag specifies the struct type name in the device header file. If not specified, then the name of the cluster will be used. </td><td>identifierType </td><td>0..1 </td></tr>
+<tr>
+<td>addressOffset </td><td>Value defining the cluster address relative to the <em>baseAddress</em> defined by the peripheral of the register. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+</table>
+<h2><a class="anchor" id="clusterSection_ex"></a>
+Example:</h2>
+<div class="fragment"><pre class="fragment">&lt;cluster&gt;
+ &lt;dim&gt;4&lt;/dim&gt;
+ &lt;dimIncrement&gt;8&lt;/dimIncrement&gt;
+ &lt;dimIndex&gt;0-3&lt;/dimIndex&gt;
+ &lt;name&gt;TX[%s]&lt;/name&gt;
+ &lt;description&gt;Grouping of Transfer data and address&lt;/description&gt;
+ &lt;addressOffset&gt;0x40&lt;/addressOffset&gt;
+ &lt;<span class="keyword">register</span>&gt;
+ &lt;name&gt;TX_DATA&lt;/name&gt;
+ ...
+ &lt;addressOffset&gt;0x0&lt;/addressOffset&gt;
+ ...
+ &lt;/<span class="keyword">register</span>&gt;
+ &lt;<span class="keyword">register</span>&gt;
+ &lt;name&gt;TX_ADDR&lt;/name&gt;
+ ...
+ &lt;addressOffset&gt;0x4&lt;/addressOffset&gt;
+ ...
+ &lt;/<span class="keyword">register</span>&gt;
+&lt;/cluster&gt;
+</pre></div><p>The example above describes an array of type TX with 4 elements. TX is a cluster of two consecutive registers with 4 elements. The device header file looks like this:</p>
+<div class="fragment"><pre class="fragment"><span class="keyword">typedef</span> <span class="keyword">struct </span>{
+ ...
+ <span class="keyword">struct </span>{
+ __IO uint32_t TX_DATA;
+ __IO uint32_t TX_ADDR;
+ } TX[4];
+ ...
+} ..._Type;
+</pre></div> </div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__dim_element_group__gr.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__dim_element_group__gr.html
new file mode 100644
index 0000000..db637ac
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__dim_element_group__gr.html
@@ -0,0 +1,125 @@
+<!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"/>
+<title>dimElementGroup</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('group__dim_element_group__gr.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">dimElementGroup</div> </div>
+<div class="ingroups"><a class="el" href="group__elem__type__gr.html">Element Groups</a></div></div>
+<div class="contents">
+<p>The SVD specification supports the array-of-registers concept. The single register description gets duplicated automatically into an array. The size of the array is specified by the &lt;dim&gt; element. The register names can be composed by the register name and an index-specific substring defined in &lt;dimIndex&gt;. The &lt;dimIncrement&gt; specifies the address offset between two registers. The elements below can be used to generate an array of registers.</p>
+<table class="cmtable" summary="dimElementGroup Description">
+<tr>
+<th nowrap="nowrap">Element Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
+<tr>
+<td>dim </td><td>The value defines the number of elements in an array of registers. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr>
+<td>dimIncrement </td><td>If dim is specified, this element becomes mandatory. The element specifies the address increment in between two neighboring registers of the register array in the address map. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr>
+<td>dimIndex </td><td>Specifies the substrings that replaces the <em>s</em> placeholder within the register name. By default, the index is a decimal value starting with 0 for the first register. </td><td>dimIndexType </td><td>0..1 </td></tr>
+</table>
+<h2><a class="anchor" id="dimElementGroup_ex"></a>
+Examples:</h2>
+<div class="fragment"><pre class="fragment">...
+&lt;<span class="keyword">register</span>&gt;
+ &lt;dim&gt;6&lt;/dim&gt;
+ &lt;dimIncrement&gt;4&lt;/dimIncrement&gt;
+ &lt;dimIndex&gt;A,B,C,D,E,Z&lt;/dimIndex&gt;
+ &lt;name&gt;GPIO_%s_CTRL&lt;/name&gt;
+...
+&lt;/<span class="keyword">register</span>&gt;
+</pre></div><p>The code above generates: =&gt; GPIO_A_CTRL, GPIO_B_CTRL, GPIO_C_CTRL, GPIO_D_CTRL, GPIO_E_CTRL, GPIO_Z_CTRL</p>
+<div class="fragment"><pre class="fragment">...
+&lt;<span class="keyword">register</span>&gt;
+ &lt;dim&gt;4&lt;/dim&gt;
+ &lt;dimIncrement&gt;4&lt;/dimIncrement&gt;
+ &lt;dimIndex&gt;3-6&lt;/dimIndex&gt;
+ &lt;name&gt;IRQ%s&lt;/name&gt;
+...
+&lt;/<span class="keyword">register</span>&gt;
+</pre></div><p>The example above generates: =&gt; IRQ3, IRQ4, IRQ5, IRQ6 </p>
+</div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__peripheral_section_extensions__gr.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__peripheral_section_extensions__gr.html
new file mode 100644
index 0000000..94dc75e
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__peripheral_section_extensions__gr.html
@@ -0,0 +1,121 @@
+<!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"/>
+<title>Extensions to the Peripheral Section</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('group__peripheral_section_extensions__gr.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">Extensions to the Peripheral Section</div> </div>
+<div class="ingroups"><a class="el" href="group__svd___format__1__1__gr.html">SVD Extension in Version 1.1</a></div></div>
+<div class="contents">
+<p>The following elements have been added to the peripheral section. All new elements are optional but are highly recommended to enable the generation of consistent and CMSIS-compliant device header files from SVD descriptions.</p>
+<table class="cmtable" summary="Peripheral Section Extension Elements">
+<tr>
+<th nowrap="nowrap">Element Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
+<tr>
+<td>alternatePeripheral </td><td>All address blocks in the memory space of a device are assigned to a unique peripheral by default. If there are multiple peripherals describing the same address blocks, this needs to be specified explicitly. A peripheral redefining an address block needs to specify the name of the peripheral that is listed first in the description. If no alternate peripheral is specified, then the <em>SVDConv</em> utility will generate errors. </td><td>identifierType </td><td>0..1 </td></tr>
+<tr>
+<td>headerStructName </td><td>The header file generator uses the name of a peripheral as the base name for the C structure type. If this element is specfied, then this string is used instead of the peripheral name. This is particularly useful when multiple peripherals get derived from a peripheral description and a generic type name shall be used. </td><td>identifierType </td><td>0..1 </td></tr>
+</table>
+<h2><a class="anchor" id="periperalSectionExtensions_ex"></a>
+Example:</h2>
+<div class="fragment"><pre class="fragment">&lt;peripheral&gt;
+ &lt;name&gt;Timer1&lt;/name&gt;
+ &lt;version&gt;1.0&lt;/version&gt;
+ &lt;description&gt;Timer 1 is a standard timer ... &lt;/description&gt;
+ &lt;baseAddress&gt;0x40002000&lt;/baseAddress&gt;
+ ...
+&lt;/peripheral&gt;
+&lt;peripheral&gt;
+ &lt;name&gt;Timer1_Alt&lt;/name&gt;
+ &lt;version&gt;1.0&lt;/version&gt;
+ &lt;description&gt;Alternate Timer 1 is a special timer execution mode ... &lt;/description&gt;
+ &lt;baseAddress&gt;0x40002000&lt;/baseAddress&gt;
+ &lt;alternatePeripheral&gt;Timer1&lt;/alternatePeripheral&gt;
+ ...
+&lt;/peripheral&gt;
+</pre></div><p>Two timer peripheral descriptions are specified for the same memory block. No redefined addresses will be reported for both peripherals. </p>
+</div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__register_properties_group__gr.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__register_properties_group__gr.html
new file mode 100644
index 0000000..e1b2272
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__register_properties_group__gr.html
@@ -0,0 +1,116 @@
+<!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"/>
+<title>registerPropertiesGroup</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('group__register_properties_group__gr.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">registerPropertiesGroup</div> </div>
+<div class="ingroups"><a class="el" href="group__elem__type__gr.html">Element Groups</a></div></div>
+<div class="contents">
+<p>Register properties can be set on device, peripheral, and register level. Element values defined on a lower level overwrite element values defined on a more general level. For example, the <em>register-level.&lt;size&gt;</em> will overwrite <em>peripheral-level.&lt;size&gt;</em>. Elements that have not been defined on a more general level, must be defined at register level at the latest.</p>
+<table class="cmtable" summary="Register Properties Group Elements">
+<tr>
+<th nowrap="nowrap">Element Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
+<tr>
+<td>size </td><td>Defines the default bit-width of any register contained in the device (implicit inheritance). This element can be redefined on any lower level of the description using the size element there. </td><td>scaledNonNegativeInteger </td><td>0..1 </td></tr>
+<tr>
+<td>access </td><td>Defines the default access rights for all registers. Access rights can be redefined on any lower level of the description using the <em>access</em> element there. <br/>
+ <br/>
+ The predefined tokens are:<ul>
+<li><span class="XML-Token">read-only</span>: read access is permitted. Write operations have an undefined result.</li>
+<li><span class="XML-Token">write-only</span>: write access is permitted. Read operations have an undefined result.</li>
+<li><span class="XML-Token">read-write</span>: both read and write accesses are permitted. Writes affect the state of the register and reads return a value related to the register.</li>
+<li><span class="XML-Token">writeOnce</span>: only the first write after reset has an effect on the register. Read operations deliver undefined results.</li>
+<li><span class="XML-Token">read-writeOnce</span>: Read operations deliver a result related to the register content. Only the first write access to this register after a reset will have an effect on the register content. </li>
+</ul>
+</td><td>accessType </td><td>0..1 </td></tr>
+<tr>
+<td>resetValue </td><td>Defines the default value for all registers at RESET. The default register value can be redefined on any lower level using the <em>resetValue</em> element there. The actual reset value is calculated from the <em>resetValue</em> and the <em>resetMask</em>. The mask is used to specify bits with an undefined reset value. </td><td>scaledNonNegativeInteger </td><td>0..1 </td></tr>
+<tr>
+<td>resetMask </td><td>Identifies which register bits have a defined reset value. These bit positions are set to one. Bit positions with an undefined reset value are set to zero. </td><td>scaledNonNegativeInteger </td><td>0..1 </td></tr>
+</table>
+</div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__register_section_extensions__gr.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__register_section_extensions__gr.html
new file mode 100644
index 0000000..65a0520
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__register_section_extensions__gr.html
@@ -0,0 +1,151 @@
+<!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"/>
+<title>Extensions to the Register Section</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('group__register_section_extensions__gr.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">Extensions to the Register Section</div> </div>
+<div class="ingroups"><a class="el" href="group__svd___format__1__1__gr.html">SVD Extension in Version 1.1</a></div></div>
+<div class="contents">
+<p>The following elements have been added to the register section. All new elements are optional.</p>
+<table class="cmtable" summary="Register Section Extension Elements">
+<tr>
+<th nowrap="nowrap">Element Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
+<tr>
+<td>alternateRegister </td><td>This tag can reference a register that has been defined above to current location in the description and that describes the memory location already. This tells the SVDConv's address checker that the redefinition of this particular register is intentional. The register name needs to be unique within the scope of the current peripheral. A register description is defined either for a unique address location or could be a redefinition of an already described address. In the latter case, the register can be either marked <em>alternateRegister</em> and needs to have a unique name, or it can have the same register name but is assigned to a register subgroup through the tag <em>alternateGroup</em> (specified in version 1.0). </td><td>identifierType </td><td>0..1 </td></tr>
+<tr>
+<td>dataType </td><td>It can be useful to assign a specific native C datatype to a register. This helps avoiding type casts. For example, if a 32 bit register shall act as a pointer to a 32 bit unsigned data item, then <em>dataType</em> can be set to "uint32_t *". The following simple data types are predefined:<ul>
+<li><span class="XML-Token">uint8_t</span>: unsigned byte</li>
+<li><span class="XML-Token">uint16_t</span>: unsigned half word</li>
+<li><span class="XML-Token">uint32_t</span>: unsigned word</li>
+<li><span class="XML-Token">uint64_t</span>: unsigned double word</li>
+<li><span class="XML-Token">int8_t</span>: signed byte</li>
+<li><span class="XML-Token">int16_t</span>: signed half word</li>
+<li><span class="XML-Token">int32_t</span>: signed world</li>
+<li><span class="XML-Token">int64_t</span>: signed double word</li>
+<li><span class="XML-Token">uint8_t *</span>: pointer to unsigned byte</li>
+<li><span class="XML-Token">uint16_t *</span>: pointer to unsigned half word</li>
+<li><span class="XML-Token">uint32_t *</span>: pointer to unsigned word</li>
+<li><span class="XML-Token">uint64_t *</span>: pointer to unsigned double word</li>
+<li><span class="XML-Token">int8_t *</span>: pointer to signed byte</li>
+<li><span class="XML-Token">int16_t *</span>: pointer to signed half word</li>
+<li><span class="XML-Token">int32_t *</span>: pointer to signed world</li>
+<li><span class="XML-Token">int64_t *</span>: pointer to signed double word </li>
+</ul>
+</td><td>dataTypeType </td><td>0..1 </td></tr>
+</table>
+<h2><a class="anchor" id="registerSection_ex"></a>
+Example:</h2>
+<div class="fragment"><pre class="fragment">...
+&lt;<span class="keyword">register</span>&gt;
+ &lt;name&gt;TIM_MODEA&lt;/name&gt;
+ &lt;description&gt;In mode A <span class="keyword">this</span> <span class="keyword">register</span> acts as a reload value&lt;/description&gt;
+ &lt;addressOffset&gt;0xC&lt;/addressOffset&gt;
+&lt;/<span class="keyword">register</span>&gt;
+&lt;<span class="keyword">register</span>&gt;
+ &lt;name&gt;TIM_MODEB&lt;/name&gt;
+ &lt;description&gt;In mode B <span class="keyword">this</span> <span class="keyword">register</span> acts as the compare value&lt;/description&gt;
+ &lt;alternateRegister&gt;TIM_MODEA&lt;/alternateRegister&gt;
+ &lt;addressOffset&gt;0xC&lt;/addressOffset&gt;
+&lt;/<span class="keyword">register</span>&gt;
+&lt;<span class="keyword">register</span>&gt;
+ &lt;name&gt;DMA_DATA&lt;/name&gt;
+ &lt;description&gt;This <span class="keyword">register</span> contains the address of the data being transferred&lt;/description&gt;
+ &lt;dataType&gt;uint32_t *&lt;/dataType&gt;
+ &lt;addressOffset&gt;0xf0&lt;/addressOffset&gt;
+&lt;/<span class="keyword">register</span>&gt;
+...
+</pre></div><p>This example describes two registers, TIM_MODEA and TIM_MODEB. Both have the same address offset. Based on the configured operation model being A or B, the register acts as reload or compare value. The register DMA_DATA is specified as a pointer to unsigned word data. The code generated for the device header file is:</p>
+<div class="fragment"><pre class="fragment"><span class="keyword">typedef</span> <span class="keyword">struct </span>{
+ <span class="keyword">union </span>{
+ __IO uint32_t TIM_MODEA;
+ __IO uint32_t TIM_MODEB;
+ };
+ __IO uint32_t * DMA_DATA;
+ ...
+} &lt;peripheral:name&gt;_Type;
+</pre></div> </div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__schema__1__1__gr.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__schema__1__1__gr.html
new file mode 100644
index 0000000..e47cb52
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__schema__1__1__gr.html
@@ -0,0 +1,603 @@
+<!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"/>
+<title>CMSIS-SVD Schema File Ver. 1.1 (draft)</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('group__schema__1__1__gr.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">CMSIS-SVD Schema File Ver. 1.1 (draft)</div> </div>
+</div>
+<div class="contents">
+<div class="fragment"><pre class="fragment">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;!--
+ @note Copyright (C) 2011-2012 ARM Limited. All rights reserved.
+ @par
+ ARM Limited (ARM) is supplying this software for use with Cortex-M
+ processor based microcontroller, but can be equally used for other
+ suitable processor architectures. This file can be freely distributed.
+ Modifications to this file shall be clearly marked.
+
+ @date: 12.03.2012
+
+ @par
+ THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+ OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+ ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+ CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+
+ This is a draft for CMSIS-SVD version 1.1
+ For backward compatibility all additional tags have been made optional.
+ Extensions may be mandatory for successful device header file generation
+ Other changes are related to some restructuring of the schema.
+
+ Note that the memory section has been removed since this would limit the
+ reuse of descriptions for a series of devices.
+ --&gt;
+
+&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.1"&gt;
+ &lt;!-- stringType requires a none empty string of a least one character length --&gt;
+ &lt;xs:simpleType name="stringType"&gt;
+ &lt;xs:restriction base="xs:string"&gt;
+ &lt;xs:minLength value="1"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- cpuType specifies a selection of Cortex-M and Secure-Cores. This list will get extended as new processors are released --&gt;
+ &lt;xs:simpleType name="cpuNameType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="CM0"/&gt;
+ &lt;xs:enumeration value="CM0PLUS"/&gt;
+ &lt;xs:enumeration value="CM0+"/&gt;
+ &lt;xs:enumeration value="SC000"/&gt;
+ &lt;xs:enumeration value="CM3"/&gt;
+ &lt;xs:enumeration value="SC300"/&gt;
+ &lt;xs:enumeration value="CM4"/&gt;
+ &lt;xs:enumeration value="other"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- revisionType specifies the CPU revision format as defined by ARM (rNpM) --&gt;
+ &lt;xs:simpleType name="revisionType"&gt;
+ &lt;xs:restriction base="xs:string"&gt;
+ &lt;xs:pattern value="r[0-9]p[0-9]"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- EndianType pre-defines the tokens for specifying the endianess of the device --&gt;
+ &lt;xs:simpleType name="endianType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="little"/&gt;
+ &lt;xs:enumeration value="big"/&gt;
+ &lt;xs:enumeration value="selectable"/&gt;
+ &lt;xs:enumeration value="other"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- dataType pre-defines the tokens in line with CMSIS data type definitions --&gt;
+ &lt;xs:simpleType name="dataTypeType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="uint8_t"/&gt;
+ &lt;xs:enumeration value="uint16_t"/&gt;
+ &lt;xs:enumeration value="uint32_t"/&gt;
+ &lt;xs:enumeration value="uint64_t"/&gt;
+ &lt;xs:enumeration value="int8_t"/&gt;
+ &lt;xs:enumeration value="int16_t"/&gt;
+ &lt;xs:enumeration value="int32_t"/&gt;
+ &lt;xs:enumeration value="int64_t"/&gt;
+ &lt;xs:enumeration value="uint8_t *"/&gt;
+ &lt;xs:enumeration value="uint16_t *"/&gt;
+ &lt;xs:enumeration value="uint32_t *"/&gt;
+ &lt;xs:enumeration value="uint64_t *"/&gt;
+ &lt;xs:enumeration value="int8_t *"/&gt;
+ &lt;xs:enumeration value="int16_t *"/&gt;
+ &lt;xs:enumeration value="int32_t *"/&gt;
+ &lt;xs:enumeration value="int64_t *"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- nvicPrioBitsType specifies the integer value range for the number of bits used in NVIC to encode priority levels --&gt;
+ &lt;xs:simpleType name="nvicPrioBitsType"&gt;
+ &lt;xs:restriction base="xs:integer"&gt;
+ &lt;xs:minInclusive value="2"/&gt;
+ &lt;xs:maxInclusive value="8"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- identifierType specifies the subset and sequence of characters used for specifying identifiers within the description. --&gt;
+ &lt;!-- this is particularly important as these are used in ANSI C Structures during the device header file generation --&gt;
+ &lt;xs:simpleType name="identifierType"&gt;
+ &lt;xs:restriction base="xs:string"&gt;
+ &lt;xs:pattern value="((%s)[_A-Za-z]{1}[_A-Za-z0-9]*)|([_A-Za-z]{1}[_A-Za-z0-9]*(\[%s\])?)|([_A-Za-z]{1}[_A-Za-z0-9]*(%s)?[_A-Za-z0-9]*)"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- enumerationNameType specifies the subset and sequence of characters used for specifying names of enumeratedValues. --&gt;
+ &lt;!-- this is particularly important as these are used in ANSI C Structures during the device header file generation --&gt;
+ &lt;xs:simpleType name="enumerationNameType"&gt;
+ &lt;xs:restriction base="xs:string"&gt;
+ &lt;xs:pattern value="[_A-Za-z0-9]*"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+
+ &lt;!-- dimIndexType specifies the subset and sequence of characters used for specifying the sequence of indices in register arrays --&gt;
+ &lt;xs:simpleType name="dimIndexType"&gt;
+ &lt;xs:restriction base="xs:string"&gt;
+ &lt;xs:pattern value="[0-9]+\-[0-9]+|[A-Z]-[A-Z]|[_0-9a-zA-Z]+(,\s*[_0-9a-zA-Z]+)+"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- scaledNonNegativeInteger specifies the format in which numbers are represented in hexadecimal or decimar format --&gt;
+ &lt;xs:simpleType name="scaledNonNegativeInteger"&gt;
+ &lt;xs:restriction base="xs:string"&gt;
+ &lt;xs:pattern value="[+]?(0x|0X|#)?[0-9a-fA-F]+[kmgtKMGT]?"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- enumeratedValueDataType specifies the number formats for the values in enumeratedValues --&gt;
+ &lt;xs:simpleType name="enumeratedValueDataType"&gt;
+ &lt;xs:restriction base="xs:string"&gt;
+ &lt;xs:pattern value="[+]?(0x|0X|#)?[0-9a-fxA-FX]+"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- accessType specfies the pre-defined tokens for the available accesses --&gt;
+ &lt;xs:simpleType name="accessType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="read-only"/&gt;
+ &lt;xs:enumeration value="write-only"/&gt;
+ &lt;xs:enumeration value="read-write"/&gt;
+ &lt;xs:enumeration value="writeOnce"/&gt;
+ &lt;xs:enumeration value="read-writeOnce"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- modifiedWriteValuesType specifies the pre-defined tokens for the write side effects --&gt;
+ &lt;xs:simpleType name="modifiedWriteValuesType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="oneToClear"/&gt;
+ &lt;xs:enumeration value="oneToSet"/&gt;
+ &lt;xs:enumeration value="oneToToggle"/&gt;
+ &lt;xs:enumeration value="zeroToClear"/&gt;
+ &lt;xs:enumeration value="zeroToSet"/&gt;
+ &lt;xs:enumeration value="zeroToToggle"/&gt;
+ &lt;xs:enumeration value="clear"/&gt;
+ &lt;xs:enumeration value="set"/&gt;
+ &lt;xs:enumeration value="modify"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- readAction type specifies the pre-defined tokens for read side effects --&gt;
+ &lt;xs:simpleType name="readActionType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="clear"/&gt;
+ &lt;xs:enumeration value="set"/&gt;
+ &lt;xs:enumeration value="modify"/&gt;
+ &lt;xs:enumeration value="modifyExternal"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- enumUsageType specifies the pre-defined tokens for selecting what access types an enumeratedValues set is associated with --&gt;
+ &lt;xs:simpleType name="enumUsageType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="read"/&gt;
+ &lt;xs:enumeration value="write"/&gt;
+ &lt;xs:enumeration value="read-write"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- bitRangeType specifies the bit numbers to be restricted values from 0 - 69 --&gt;
+ &lt;xs:simpleType name="bitRangeType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:pattern value="\[([0-4])?[0-9]:([0-4])?[0-9]\]"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;!-- writeContraintType specifies how to describe the restriction of the allowed values that can be written to a resource --&gt;
+ &lt;xs:complexType name="writeConstraintType"&gt;
+ &lt;xs:choice&gt;
+ &lt;xs:element name="writeAsRead" type="xs:boolean"/&gt;
+ &lt;xs:element name="useEnumeratedValues" type="xs:boolean"/&gt;
+ &lt;xs:element name="range"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="minimum" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="maximum" type="scaledNonNegativeInteger"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:choice&gt;
+ &lt;/xs:complexType&gt;
+ &lt;!-- addressBlockType specifies the elements to describe an address block --&gt;
+ &lt;xs:complexType name="addressBlockType"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="offset" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="size" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="usage"&gt;
+ &lt;xs:simpleType&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="registers"/&gt;
+ &lt;xs:enumeration value="buffer"/&gt;
+ &lt;xs:enumeration value="reserved"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+ &lt;!-- interruptType specifies how to describe an interrupt associated with a peripheral --&gt;
+ &lt;xs:complexType name="interruptType"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="name" type="stringType"/&gt;
+ &lt;xs:element name="description" type="xs:string" minOccurs="0"/&gt;
+ &lt;xs:element name="value" type="xs:integer"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+ &lt;!-- register properties group specifies register size, access permission and reset value
+ this is used in multiple locations. Settings are inherited downstream. --&gt;
+ &lt;xs:group name="registerPropertiesGroup"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="size" type="scaledNonNegativeInteger" minOccurs="0"/&gt;
+ &lt;xs:element name="access" type="accessType" minOccurs="0"/&gt;
+ &lt;xs:element name="resetValue" type="scaledNonNegativeInteger" minOccurs="0"/&gt;
+ &lt;xs:element name="resetMask" type="scaledNonNegativeInteger" minOccurs="0"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:group&gt;
+ &lt;!-- bitRangeLsbMsbStyle specifies the bit position of a field within a register
+ by specifying the least significant and the most significant bit position --&gt;
+ &lt;xs:group name="bitRangeLsbMsbStyle"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="lsb" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="msb" type="scaledNonNegativeInteger"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:group&gt;
+ &lt;!-- bitRangeOffsetWidthStyle specifies the bit position of a field within a register
+ by specifying the least significant bit position and the bitWidth of the field --&gt;
+ &lt;xs:group name="bitRangeOffsetWidthStyle"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="bitOffset" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="bitWidth" type="scaledNonNegativeInteger" minOccurs="0"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:group&gt;
+ &lt;!-- dimElementGroup specifies the number of array elements (dim), the address offset
+ between to consecutive array elements and an a comma seperated list of strings
+ being used for identifying each element in the array --&gt;
+ &lt;xs:group name="dimElementGroup"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="dim" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="dimIncrement" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="dimIndex" type="dimIndexType" minOccurs="0"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:group&gt;
+
+ &lt;xs:complexType name="cpuType"&gt;
+ &lt;xs:sequence&gt;
+ &lt;!-- V1.1: ARM processor name: Cortex-Mx / SCxxx --&gt;
+ &lt;xs:element name="name" type="cpuNameType"/&gt;
+ &lt;!-- V1.1: ARM defined revision of the cpu --&gt;
+ &lt;xs:element name="revision" type="revisionType"/&gt;
+ &lt;!-- V1.1: Endian specifies the endianess of the processor/device --&gt;
+ &lt;xs:element name="endian" type="endianType"/&gt;
+ &lt;!-- V1.1: mpuPresent specifies whether or not a memory protection unit is physically present --&gt;
+ &lt;xs:element name="mpuPresent" type="xs:boolean"/&gt;
+ &lt;!-- V1.1: fpuPresent specifies whether or not a floating point hardware unit is physically present --&gt;
+ &lt;xs:element name="fpuPresent" type="xs:boolean"/&gt;
+ &lt;!-- V1.1: nvicPrioBits specifies the number of bits used by the Nested Vectored Interrupt Controller
+ for defining the priority level = # priority levels --&gt;
+ &lt;xs:element name="nvicPrioBits" type="scaledNonNegativeInteger"/&gt;
+ &lt;!-- V1.1: vendorSystickConfig is set true if a custom system timer is implemented in the device
+ instead of the ARM specified SysTickTimer --&gt;
+ &lt;xs:element name="vendorSystickConfig" type="xs:boolean"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+
+ &lt;xs:complexType name="enumeratedValuesType"&gt;
+ &lt;xs:sequence&gt;
+ &lt;!-- name specfies a reference to this enumeratedValues section for reuse purposes
+ this name does not appear in the System Viewer nor the Header File. --&gt;
+ &lt;xs:element name="name" type="enumerationNameType" minOccurs="0"/&gt;
+ &lt;!-- usage specifies whether this enumeration is to be used for read or write or
+ (read and write) accesses --&gt;
+ &lt;xs:element name="usage" type="enumUsageType" minOccurs="0"/&gt;
+ &lt;!-- enumeratedValue derivedFrom=&lt;identifierType&gt; --&gt;
+ &lt;xs:element name="enumeratedValue" minOccurs="1" maxOccurs="unbounded"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;!-- name is a ANSI C indentifier representing the value (C Enumeration) --&gt;
+ &lt;xs:element name="name" type="enumerationNameType"/&gt;
+ &lt;!-- description contains the details about the semantics/behavior specified by this value --&gt;
+ &lt;xs:element name="description" type="stringType" minOccurs="0"/&gt;
+ &lt;xs:choice&gt;
+ &lt;xs:element name="value" type="enumeratedValueDataType"/&gt;
+ &lt;!-- isDefault specifies the name and description for all values that are not
+ specifically described individually --&gt;
+ &lt;xs:element name="isDefault" type="xs:boolean"/&gt;
+ &lt;/xs:choice&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;xs:attribute name="derivedFrom" type="identifierType" use="optional"/&gt;
+ &lt;/xs:complexType&gt;
+
+ &lt;xs:complexType name="fieldType"&gt;
+ &lt;xs:sequence&gt;
+ &lt;!-- name specifies a field's name. The System Viewer and the device header file will
+ use the name of the field as identifier --&gt;
+ &lt;xs:element name="name" type="identifierType"/&gt;
+ &lt;!-- description contains reference manual level information about the function and
+ options of a field --&gt;
+ &lt;xs:element name="description" type="stringType" minOccurs="0"/&gt;
+ &lt;!-- alternative specifications of the bit position of the field within the register --&gt;
+ &lt;xs:choice minOccurs="1" maxOccurs="1"&gt;
+ &lt;!-- bit field described by lsb followed by msb tag --&gt;
+ &lt;xs:group ref="bitRangeLsbMsbStyle"/&gt;
+ &lt;!-- bit field described by bit offset relative to Bit0 + bit width of field --&gt;
+ &lt;xs:group ref="bitRangeOffsetWidthStyle"/&gt;
+ &lt;!-- bit field described by [&lt;msb&gt;:&lt;lsb&gt;] --&gt;
+ &lt;xs:element name="bitRange" type="bitRangeType"/&gt;
+ &lt;/xs:choice&gt;
+ &lt;!-- access describes the predefined permissions for the field. --&gt;
+ &lt;xs:element name="access" type="accessType" minOccurs="0"/&gt;
+ &lt;!-- predefined description of write side effects --&gt;
+ &lt;xs:element name="modifiedWriteValues" type="modifiedWriteValuesType" minOccurs="0"/&gt;
+ &lt;!-- writeContstraint specifies the subrange of allowed values --&gt;
+ &lt;xs:element name="writeConstraint" type="writeConstraintType" minOccurs="0"/&gt;
+ &lt;!-- readAction specifies the read side effects. --&gt;
+ &lt;xs:element name="readAction" type="readActionType" minOccurs="0"/&gt;
+ &lt;!-- enumeratedValues derivedFrom=&lt;identifierType&gt; --&gt;
+ &lt;xs:element name="enumeratedValues" type="enumeratedValuesType" minOccurs="0" maxOccurs="2"&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;xs:attribute name="derivedFrom" type="identifierType" use="optional"/&gt;
+ &lt;/xs:complexType&gt;
+
+ &lt;xs:complexType name="fieldsType"&gt;
+ &lt;xs:sequence&gt;
+ &lt;!-- field derivedFrom=&lt;identifierType&gt; --&gt;
+ &lt;xs:element name="field" type="fieldType" minOccurs="1" maxOccurs="unbounded"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+
+ &lt;xs:complexType name="registerType"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:group ref="dimElementGroup" minOccurs="0"/&gt;
+ &lt;!-- name specifies the name of the register. The register name is used by System Viewer and
+ device header file generator to represent a register --&gt;
+ &lt;xs:element name="name" type="identifierType"/&gt;
+ &lt;!-- display name specifies a register name without the restritions of an ANSIS C identifier.
+ The use of this tag is discouraged because it does not allow consistency between
+ the System View and the device header file. --&gt;
+ &lt;xs:element name="displayName" type="stringType" minOccurs="0"/&gt;
+ &lt;!-- description contains a reference manual level description about the register and it's purpose --&gt;
+ &lt;xs:element name="description" type="stringType" minOccurs="0"/&gt;
+ &lt;xs:choice&gt;
+ &lt;!-- alternateGroup specifies the identifier of the subgroup a register belongs to.
+ This is useful if a register has a different description per mode but a single name --&gt;
+ &lt;xs:element name="alternateGroup" type="identifierType" minOccurs="0"/&gt;
+ &lt;!-- V1.1: alternateRegister specifies an alternate register description for an address that is
+ already fully described. In this case the register name must be unique within the peripheral --&gt;
+ &lt;xs:element name="alternateRegister" type="identifierType" minOccurs="0"/&gt;
+ &lt;/xs:choice&gt;
+ &lt;!-- addressOffset describes the address of the register relative to the baseOffset of the peripheral --&gt;
+ &lt;xs:element name="addressOffset" type="scaledNonNegativeInteger"/&gt;
+ &lt;!-- registerPropertiesGroup elements specify the default values for register size, access permission and
+ reset value. These default values are inherited to all fields contained in this register --&gt;
+ &lt;xs:group ref="registerPropertiesGroup" minOccurs="0"/&gt;
+ &lt;!-- V1.1: dataType specifies a CMSIS compliant native dataType for a register (i.e. signed, unsigned, pointer) --&gt;
+ &lt;xs:element name="dataType" type="dataTypeType" minOccurs="0"/&gt;
+ &lt;!-- modifiedWriteValues specifies the write side effects --&gt;
+ &lt;xs:element name="modifiedWriteValues" type="modifiedWriteValuesType" minOccurs="0"/&gt;
+ &lt;!-- writeConstraint specifies the subset of allowed write values --&gt;
+ &lt;xs:element name="writeConstraint" type="writeConstraintType" minOccurs="0"/&gt;
+ &lt;!-- readAcction specifies the read side effects --&gt;
+ &lt;xs:element name="readAction" type="readActionType" minOccurs="0"/&gt;
+ &lt;!-- fields section contains all fields that belong to this register --&gt;
+ &lt;xs:element name="fields" type="fieldsType" minOccurs="0" maxOccurs="1"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;xs:attribute name="derivedFrom" type="identifierType" use="optional"/&gt;
+ &lt;/xs:complexType&gt;
+
+ &lt;!-- V1.1: A cluster is a set of registers that are composed into a C data structure in the device header file --&gt;
+ &lt;xs:complexType name="clusterType"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:group ref="dimElementGroup" minOccurs="0"/&gt;
+ &lt;xs:element name="name" type="identifierType"/&gt;
+ &lt;xs:element name="description" type="xs:string"/&gt;
+ &lt;!-- V1.1: alternateCluster specifies an alternative description for a cluster address range that is
+ already fully described. In this case the cluster name must be unique within the peripheral --&gt;
+ &lt;xs:element name="alternateCluster" type="identifierType" minOccurs="0"/&gt;
+ &lt;!-- V1.1: headerStructName specifies the name for the cluster structure typedef
+ used in the device header generation instead of the cluster name --&gt;
+ &lt;xs:element name="headerStructName" type="identifierType" minOccurs="0"/&gt;
+ &lt;xs:element name="addressOffset" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="register" type="registerType" minOccurs="1" maxOccurs="unbounded"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;xs:attribute name="derivedFrom" type="identifierType" use="optional"/&gt;
+ &lt;/xs:complexType&gt;
+
+ &lt;!-- the registers section can have an arbitrary list of cluster and register sections --&gt;
+ &lt;xs:complexType name="registersType"&gt;
+ &lt;xs:choice minOccurs="1" maxOccurs="unbounded"&gt;
+ &lt;xs:element name="cluster" type="clusterType"/&gt;
+ &lt;xs:element name="register" type="registerType"/&gt;
+ &lt;/xs:choice&gt;
+ &lt;/xs:complexType&gt;
+
+ &lt;xs:complexType name="peripheralType"&gt;
+ &lt;xs:sequence&gt;
+ &lt;!-- name specifies the name of a peripheral. This name is used for the System View and device header file --&gt;
+ &lt;xs:element name="name" type="xs:Name"/&gt;
+ &lt;!-- version specifies the version of the peripheral descriptions --&gt;
+ &lt;xs:element name="version" type="stringType" minOccurs="0"/&gt;
+ &lt;!-- description provides a high level functional description of the peripheral --&gt;
+ &lt;xs:element name="description" type="stringType" minOccurs="0"/&gt;
+ &lt;!-- V1.1: alternatePeripheral specifies an alternative description for an address range that is
+ already fully by a peripheral described. In this case the peripheral name must be unique within the device description --&gt;
+ &lt;xs:element name="alternatePeripheral" type="identifierType" minOccurs="0"/&gt;
+ &lt;!-- groupName assigns this peripheral to a group of peripherals. This is only used bye the System View --&gt;
+ &lt;xs:element name="groupName" type="xs:Name" minOccurs="0"/&gt;
+ &lt;!-- prependToName specifies a prefix that is placed in front of each register name of this peripheral.
+ The device header file will show the registers in a C-Struct of the peripheral without the prefix. --&gt;
+ &lt;xs:element name="prependToName" type="identifierType" minOccurs="0"/&gt;
+ &lt;!-- appendToName is a postfix that is appended to each register name of this peripheral. The device header
+ file will sho the registers in a C-Struct of the peripheral without the postfix --&gt;
+ &lt;xs:element name="appendToName" type="identifierType" minOccurs="0"/&gt;
+ &lt;!-- V1.1: headerStructName specifies the name for the peripheral structure typedef
+ used in the device header generation instead of the peripheral name --&gt;
+ &lt;xs:element name="headerStructName" type="identifierType" minOccurs="0"/&gt;
+ &lt;!-- disableCondition contains a logical expression based on constants and register or bit-field values
+ if the condition is evaluated to true, the peripheral display will be disabled --&gt;
+ &lt;xs:element name="disableCondition" type="stringType" minOccurs="0"/&gt;
+ &lt;!-- baseAddress specifies the absolute base address of a peripheral. For derived peripherals it is mandatory
+ to specify a baseAddress. --&gt;
+ &lt;xs:element name="baseAddress" type="scaledNonNegativeInteger"/&gt;
+ &lt;!-- registerPropertiesGroup elements specify the default values for register size, access permission and
+ reset value. These default values are inherited to all registers contained in this peripheral --&gt;
+ &lt;xs:group ref="registerPropertiesGroup" minOccurs="0"/&gt;
+ &lt;!-- addressBlock specifies one or more address ranges that are assigned exclusively to this peripheral.
+ derived peripherals may have no addressBlock, however none-derived peripherals are required to specify
+ at least one address block --&gt;
+ &lt;xs:element name="addressBlock" type="addressBlockType" minOccurs="0" maxOccurs="unbounded"/&gt;
+ &lt;!-- interrupt specifies can specify one or more interrtupts by name, description and value --&gt;
+ &lt;xs:element name="interrupt" type="interruptType" minOccurs="0" maxOccurs="unbounded"/&gt;
+ &lt;!-- registers section contains all registers owned by the peripheral. In case a peripheral gets derived it does
+ not have its own registers section, hence this section is optional. A unique peripheral without a
+ registers section is not allowed --&gt;
+ &lt;xs:element name="registers" type="registersType" minOccurs="0" maxOccurs="1"&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;xs:attribute name="derivedFrom" type="identifierType" use="optional"/&gt;
+ &lt;/xs:complexType&gt;
+
+ &lt;!-- ==================================================== --&gt;
+ &lt;!-- The top level element of a description is the device --&gt;
+ &lt;!-- ==================================================== --&gt;
+ &lt;xs:element name="device" nillable="true"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;!-- V1.1: Vendor Name --&gt;
+ &lt;xs:element name="vendor" type="stringType" minOccurs="0"/&gt;
+ &lt;!-- V1.1: Vendor ID - a short name for referring to the vendor (e.g. Texas Instruments = TI) --&gt;
+ &lt;xs:element name="vendorID" type="identifierType" minOccurs="0"/&gt;
+ &lt;!-- name specifies the device name being described --&gt;
+ &lt;xs:element name="name" type="identifierType"/&gt;
+ &lt;!-- V1.1: series specifies the device series or family name --&gt;
+ &lt;xs:element name="series" type="stringType" minOccurs="0"/&gt;
+ &lt;!-- version specifies the version of the device description --&gt;
+ &lt;xs:element name="version" type="stringType"/&gt;
+ &lt;!-- description is a string describing the device features (e.g. memory size, peripherals, etc.) --&gt;
+ &lt;xs:element name="description" type="stringType"/&gt;
+ &lt;!-- V1.1: licenseText specifies the file header section to be included in any derived file --&gt;
+ &lt;xs:element name="licenseText" type="stringType" minOccurs="0"/&gt;
+ &lt;!-- V1.1: cpu specifies the details of the processor included in the device --&gt;
+ &lt;xs:element name="cpu" type="cpuType" minOccurs="0"/&gt;
+ &lt;!-- V1.1: the tag specifies the filename without extension of the CMSIS System Device include file.
+ This tag is used by the header file generator for customizing the include statement referencing the
+ CMSIS system file within the CMSIS device header file. By default the filename is "system_&lt;device.name&gt;"
+ In cases a device series shares a single system header file, the name of the series shall be used
+ instead of the individual device name. --&gt;
+ &lt;xs:element name="headerSystemFilename" type="identifierType" minOccurs="0"/&gt;
+ &lt;!-- V1.1: headerDefinitionPrefix specifies the string being prepended to all names of types defined in
+ generated device header file --&gt;
+ &lt;xs:element name="headerDefinitionsPrefix" type="identifierType" minOccurs="0"/&gt;
+ &lt;!-- addressUnitBits specifies the size of the minimal addressable unit in bits --&gt;
+ &lt;xs:element name="addressUnitBits" type="scaledNonNegativeInteger"/&gt;
+ &lt;!-- width specifies the number of bits for the maximum single transfer size allowed by the bus interface.
+ This sets the maximum size of a single register that can be defined for an address space --&gt;
+ &lt;xs:element name="width" type="scaledNonNegativeInteger"/&gt;
+ &lt;!-- registerPropertiesGroup elements specify the default values for register size, access permission and
+ reset value --&gt;
+ &lt;xs:group ref="registerPropertiesGroup" minOccurs="0"/&gt;
+
+ &lt;!-- peripherals is containing all peripherals --&gt;
+ &lt;xs:element name="peripherals"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="peripheral" type="peripheralType" minOccurs="1" maxOccurs="unbounded"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+
+ &lt;!-- Vendor Extensions: this section captures custom extensions. This section will be ignored by default --&gt;
+ &lt;xs:element name="vendorExtensions" minOccurs="0" maxOccurs="1"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"&gt;
+ &lt;/xs:any&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;xs:attribute name="schemaVersion" type="xs:decimal" use="required" fixed="1.1"/&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+&lt;/xs:schema&gt;
+</pre></div> </div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__schema__gr.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__schema__gr.html
new file mode 100644
index 0000000..5715fe0
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__schema__gr.html
@@ -0,0 +1,368 @@
+<!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"/>
+<title>CMSIS-SVD Schema File Ver. 1.0</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('group__schema__gr.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">CMSIS-SVD Schema File Ver. 1.0</div> </div>
+</div>
+<div class="contents">
+<div class="fragment"><pre class="fragment">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;!--
+ @date: 07.12.2011
+ @note Copyright (C) 2011 ARM Limited. All rights reserved.
+ @par
+ ARM Limited (ARM) is supplying this software for use with Cortex-M
+ processor based microcontroller, but can be equally used for other
+ suitable processor architectures. This file can be freely distributed.
+ Modifications to this file shall be clearly marked.
+
+ @par
+ THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+ OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+ ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+ CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+ --&gt;
+
+&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.0"&gt;
+
+ &lt;xs:simpleType name="registerNameType"&gt;
+ &lt;xs:restriction base="xs:string"&gt;
+ &lt;xs:pattern value="((%s)[_A-Za-z]{1}[_A-Za-z0-9]*)|([_A-Za-z]{1}[_A-Za-z0-9]*(\[%s\])?)|([_A-Za-z]{1}[_A-Za-z0-9]*(%s)?[_A-Za-z0-9]*)"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+
+ &lt;xs:simpleType name="dimIndexType"&gt;
+ &lt;xs:restriction base="xs:string"&gt;
+ &lt;xs:pattern value="[0-9]+\-[0-9]+|[A-Z]-[A-Z]|[_0-9a-zA-Z]+(,\s*[_0-9a-zA-Z]+)+"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+
+ &lt;xs:simpleType name="scaledNonNegativeInteger"&gt;
+ &lt;xs:restriction base="xs:string"&gt;
+ &lt;xs:pattern value="[+]?(0x|0X|#)?[0-9a-fA-F]+[kmgtKMGT]?"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+
+ &lt;xs:simpleType name="enumeratedValueDataType"&gt;
+ &lt;xs:restriction base="xs:string"&gt;
+ &lt;xs:pattern value="[+]?(0x|0X|#)?[0-9a-fxA-FX]+"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+
+ &lt;xs:simpleType name="accessType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="read-only"/&gt;
+ &lt;xs:enumeration value="write-only"/&gt;
+ &lt;xs:enumeration value="read-write"/&gt;
+ &lt;xs:enumeration value="writeOnce"/&gt;
+ &lt;xs:enumeration value="read-writeOnce"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+
+ &lt;xs:simpleType name="modifiedWriteValuesType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="oneToClear"/&gt;
+ &lt;xs:enumeration value="oneToSet"/&gt;
+ &lt;xs:enumeration value="oneToToggle"/&gt;
+ &lt;xs:enumeration value="zeroToClear"/&gt;
+ &lt;xs:enumeration value="zeroToSet"/&gt;
+ &lt;xs:enumeration value="zeroToToggle"/&gt;
+ &lt;xs:enumeration value="clear"/&gt;
+ &lt;xs:enumeration value="set"/&gt;
+ &lt;xs:enumeration value="modify"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+
+ &lt;xs:simpleType name="readActionType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="clear"/&gt;
+ &lt;xs:enumeration value="set"/&gt;
+ &lt;xs:enumeration value="modify"/&gt;
+ &lt;xs:enumeration value="modifyExternal"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+
+ &lt;xs:simpleType name="enumUsageType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="read"/&gt;
+ &lt;xs:enumeration value="write"/&gt;
+ &lt;xs:enumeration value="read-write"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+
+ &lt;xs:simpleType name="bitRangeType"&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:pattern value="\[([0-3])?[0-9]:([0-3])?[0-9]\]"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+
+ &lt;xs:complexType name="writeConstraintType"&gt;
+ &lt;xs:choice&gt;
+ &lt;xs:element name="writeAsRead" type="xs:boolean"/&gt;
+ &lt;xs:element name="useEnumeratedValues" type="xs:boolean"/&gt;
+ &lt;xs:element name="range"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="minimum" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="maximum" type="scaledNonNegativeInteger"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:choice&gt;
+ &lt;/xs:complexType&gt;
+
+ &lt;xs:complexType name="addressBlockType"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="offset" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="size" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="usage"&gt;
+ &lt;xs:simpleType&gt;
+ &lt;xs:restriction base="xs:token"&gt;
+ &lt;xs:enumeration value="registers"/&gt;
+ &lt;xs:enumeration value="buffer"/&gt;
+ &lt;xs:enumeration value="reserved"/&gt;
+ &lt;/xs:restriction&gt;
+ &lt;/xs:simpleType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+
+ &lt;xs:complexType name="interruptType"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="name" type="xs:string"/&gt;
+ &lt;xs:element name="value" type="xs:integer"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+
+ &lt;xs:group name="registerPropertiesGroup"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="size" type="scaledNonNegativeInteger" minOccurs="0"/&gt;
+ &lt;xs:element name="access" type="accessType" minOccurs="0"/&gt;
+ &lt;xs:element name="resetValue" type="scaledNonNegativeInteger" minOccurs="0"/&gt;
+ &lt;xs:element name="resetMask" type="scaledNonNegativeInteger" minOccurs="0"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:group&gt;
+
+ &lt;xs:group name="bitRangeLsbMsbStyle"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="lsb" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="msb" type="scaledNonNegativeInteger"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:group&gt;
+
+ &lt;xs:group name="bitRangeOffsetWidthStyle"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="bitOffset" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="bitWidth" type="scaledNonNegativeInteger" minOccurs="0"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:group&gt;
+
+ &lt;xs:group name="dimElementGroup"&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="dim" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="dimIncrement" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="dimIndex" type="dimIndexType" minOccurs="0"/&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:group&gt;
+
+ &lt;xs:element name="device" nillable="true"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="name" type="xs:string"/&gt;
+ &lt;xs:element name="version" type="xs:string"/&gt;
+ &lt;xs:element name="description" type="xs:string"/&gt;
+ &lt;xs:element name="addressUnitBits" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:element name="width" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:group ref="registerPropertiesGroup" minOccurs="0"/&gt;
+ &lt;xs:element name="peripherals"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="peripheral" minOccurs="1" maxOccurs="unbounded"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="name" type="xs:Name"/&gt;
+ &lt;xs:element name="version" type="xs:string" minOccurs="0"/&gt;
+ &lt;xs:element name="description" type="xs:string" minOccurs="0"/&gt;
+ &lt;xs:element name="groupName" type="xs:string" minOccurs="0"/&gt;
+ &lt;xs:element name="prependToName" type="xs:string" minOccurs="0"/&gt;
+ &lt;xs:element name="appendToName" type="xs:string" minOccurs="0"/&gt;
+ &lt;xs:element name="disableCondition" type="xs:string" minOccurs="0"/&gt;
+ &lt;xs:element name="baseAddress" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:group ref="registerPropertiesGroup" minOccurs="0"/&gt;
+ &lt;xs:element name="addressBlock" type="addressBlockType" minOccurs="0" maxOccurs="unbounded"/&gt;
+ &lt;xs:element name="interrupt" type="interruptType" minOccurs="0" maxOccurs="unbounded"/&gt;
+ &lt;xs:element name="registers" minOccurs="0" maxOccurs="1"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="register" minOccurs="1" maxOccurs="unbounded"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:group ref="dimElementGroup" minOccurs="0"/&gt;
+ &lt;xs:element name="name" type="registerNameType"/&gt; &lt;!-- was xs:Name --&gt;
+ &lt;xs:element name="displayName" type="xs:string" minOccurs="0"/&gt;
+ &lt;xs:element name="description" type="xs:string" minOccurs="0"/&gt;
+ &lt;xs:element name="alternateGroup" type="xs:Name" minOccurs="0"/&gt;
+ &lt;xs:element name="addressOffset" type="scaledNonNegativeInteger"/&gt;
+ &lt;xs:group ref="registerPropertiesGroup" minOccurs="0"/&gt;
+ &lt;xs:element name="modifiedWriteValues" type="modifiedWriteValuesType" minOccurs="0"/&gt;
+ &lt;xs:element name="writeConstraint" type="writeConstraintType" minOccurs="0"/&gt;
+ &lt;xs:element name="readAction" type="readActionType" minOccurs="0"/&gt;
+ &lt;xs:element name="fields" minOccurs="0" maxOccurs="1"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="field" minOccurs="1" maxOccurs="unbounded"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="name" type="xs:string"/&gt;
+ &lt;xs:element name="description" type="xs:string" minOccurs="0"/&gt;
+ &lt;xs:choice&gt;
+ &lt;xs:group ref="bitRangeLsbMsbStyle" minOccurs="0"/&gt;
+ &lt;xs:group ref="bitRangeOffsetWidthStyle" minOccurs="0"/&gt;
+ &lt;xs:element name="bitRange" type="bitRangeType" minOccurs="0"/&gt;
+ &lt;/xs:choice&gt;
+ &lt;xs:element name="access" type="accessType" minOccurs="0"/&gt;
+ &lt;xs:element name="modifiedWriteValues" type="modifiedWriteValuesType" minOccurs="0"/&gt;
+ &lt;xs:element name="writeConstraint" type="writeConstraintType" minOccurs="0"/&gt;
+ &lt;xs:element name="readAction" type="readActionType" minOccurs="0"/&gt;
+ &lt;xs:element name="enumeratedValues" minOccurs="0" maxOccurs="2"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="name" type="xs:Name" minOccurs="0"/&gt;
+ &lt;xs:element name="usage" type="enumUsageType" minOccurs="0"/&gt;
+ &lt;xs:element name="enumeratedValue" minOccurs="1" maxOccurs="unbounded"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:element name="name" type="xs:string"/&gt;
+ &lt;xs:element name="description" type="xs:string" minOccurs="0"/&gt;
+ &lt;xs:choice&gt;
+ &lt;xs:element name="value" type="enumeratedValueDataType"/&gt;
+ &lt;xs:element name="isDefault" type="xs:boolean"/&gt;
+ &lt;/xs:choice&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;xs:attribute name="derivedFrom" type="xs:Name" use="optional"/&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;xs:attribute name="derivedFrom" type="xs:Name" use="optional"/&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;xs:attribute name="derivedFrom" type="xs:Name" use="optional"/&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;xs:attribute name="derivedFrom" type="xs:Name" use="optional"/&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;xs:element name="vendorExtensions" minOccurs="0" maxOccurs="1"&gt;
+ &lt;xs:complexType&gt;
+ &lt;xs:sequence&gt;
+ &lt;xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"&gt;
+ &lt;/xs:any&gt;
+ &lt;/xs:sequence&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+ &lt;/xs:sequence&gt;
+ &lt;xs:attribute name="schemaVersion" type="xs:decimal" use="required" fixed="1.0"/&gt;
+ &lt;/xs:complexType&gt;
+ &lt;/xs:element&gt;
+&lt;/xs:schema&gt;
+</pre></div> </div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd___format__1__1__gr.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd___format__1__1__gr.html
new file mode 100644
index 0000000..0c91e2f
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd___format__1__1__gr.html
@@ -0,0 +1,107 @@
+<!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"/>
+<title>SVD Extension in Version 1.1</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('group__svd___format__1__1__gr.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="summary">
+<a href="#groups">Modules</a> </div>
+ <div class="headertitle">
+<div class="title">SVD Extension in Version 1.1</div> </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_section_extensions__gr.html">Extensions to the Device Section</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cpu_section__gr.html">CPU Section (New)</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__peripheral_section_extensions__gr.html">Extensions to the Peripheral Section</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cluster_level__gr.html">Cluster Level (New)</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__register_section_extensions__gr.html">Extensions to the Register Section</a></td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Description</h2>
+<p>From a schema perspective, CMSIS-SVD Version 1.1 is fully backward compatible to version 1.0. Many of the features added in version 1.1 are required for generating CMSIS-Core device header files from a CMSIS SVD description. It is expected that over time all CMSIS-SVD descriptions will comply with version 1.1. Version 1.1 has not been finalized yet and is therefore currently marked <b>draft</b>. </p>
+</div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd___format__gr.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd___format__gr.html
new file mode 100644
index 0000000..f1a0714
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd___format__gr.html
@@ -0,0 +1,139 @@
+<!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"/>
+<title>SVD File Schema Levels</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('group__svd___format__gr.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="summary">
+<a href="#groups">Modules</a> </div>
+ <div class="headertitle">
+<div class="title">SVD File Schema Levels</div> </div>
+</div>
+<div class="contents">
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svd__xml__device__gr.html">Device Level</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svd__xml__peripherals__gr.html">Peripherals Level</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svd__xml__registers__gr.html">Registers Level</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svd__xml__fields__gr.html">Fields Level</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__svd__xml__enum__gr.html">Enumerated Values Level</a></td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Description</h2>
+<p>This section specifies the <b>SVD file format</b> Version 1.0. Each subsection defines one level of hierarchy and lists all mandatory and optional language elements as well as their type. A brief example description snippet demonstrates the usage of the elements. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd><ul>
+<li>The sequence of elements in CMSIS-SVD is mandatory.</li>
+<li><span class="opt">Optional elements</span> are highlighted in green.</li>
+<li><span class="mand">Mandatory elements</span> are highlighted in blue. Optional sections can contain mandatory elements, which must be specified when the optional section is used. In this case the mandatory elements are also highlighted in blue.</li>
+</ul>
+</dd></dl>
+<h2><a class="anchor" id="Names"></a>
+Names</h2>
+<p>All <b>name</b> tags must comply with the ANSI C identifier naming restrictions (identifierType). In particular they must not contain any spaces or special characters. This is necessary to support the generation of device header files thus providing consistency between the names being shown by the debugger and the symbols being used in the CMSIS compliant target software.</p>
+<h2><a class="anchor" id="Constants"></a>
+Constants</h2>
+<p>Number constants shall be entered in hexadecimal, decimal, or binary format. </p>
+<ul>
+<li>The Hexadecimal format is indicated by a leading <b>"0x"</b>. </li>
+<li>The Binary format is indicated by a leading <b>"#"</b>. </li>
+<li>All other formats are interpreted as decimal numbers. </li>
+<li>The value tag in <em>enumeratedValue</em> accepts do not care bits represented by <b>"x"</b>.</li>
+</ul>
+<h2><a class="anchor" id="Comments"></a>
+Comments</h2>
+<p>Comments have the standard XML format. </p>
+<ul>
+<li>Start a comment with <b>"&lt;!--"</b>. </li>
+<li>End a comment with <b>"--&gt;"</b>.</li>
+</ul>
+<h2><a class="anchor" id="_"></a>
+Empty Tags</h2>
+<ul>
+<li>Single tags are not supported (for example, &lt;name&gt;).</li>
+<li>The tag content must not consist of an empty string (instead, omit optional tags).</li>
+</ul>
+<dl class="remark"><dt><b>Remarks:</b></dt><dd>The <a class="el" href="group__schema__gr.html">CMSIS-SVD Schema File Ver. 1.0</a> and schema_1_1_gr are provided alongside this document. </dd></dl>
+</div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd__xml__device__gr.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd__xml__device__gr.html
new file mode 100644
index 0000000..4542279
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd__xml__device__gr.html
@@ -0,0 +1,177 @@
+<!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"/>
+<title>Device Level</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('group__svd__xml__device__gr.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">Device Level</div> </div>
+<div class="ingroups"><a class="el" href="group__svd___format__gr.html">SVD File Schema Levels</a></div></div>
+<div class="contents">
+<p>The element <b>device</b> provides the outermost frame of the description.</p>
+<ul>
+<li>Only one device section is allowed per file. All other elements like peripherals, registers, fields, enumerated values, and vendor extensions are described within this scope.</li>
+<li>A device contains one or more peripherals.</li>
+<li>Optional elements like size, access, resetValue, and resetMask defined on this level are used as default values throughout the device description, unless they get redefined at a lower level. </li>
+</ul>
+<hr/>
+<pre>
+<span class="mand"><b>&lt;device schemaVersion=<em>"xs:decimal"</em> xmlns:xs=<em>"http://www.w3.org/2001/XMLSchema-instance"</em> xs:noNamespaceSchemaLocation=<em>"CMSIS-SVD_Schema_1_0.xsd"</em>&gt;</b></span></pre><pre><span class="mand"> &lt;name&gt;<em>identifierType</em>&lt;/name&gt;
+ &lt;version&gt;<em>xs:string</em>&lt;/version&gt;
+ &lt;description&gt;<em>xs:string</em>&lt;/description&gt;
+ &lt;addressUnitBits&gt;<em>scaledNonNegativeInteger</em>&lt;/addressUnitBits&gt;
+ &lt;width&gt;<em>scaledNonNegativeInteger</em>&lt;/width&gt;
+<span class="opt">
+ <em>&lt;!-- registerPropertiesGroup --&gt;</em>
+ &lt;size&gt;<em>scaledNonNegativeInteger</em>&lt;/size&gt;
+ &lt;access&gt;<em>accessType</em>&lt;/access&gt;
+ &lt;resetValue&gt;<em>scaledNonNegativeInteger</em>&lt;/resetValue&gt;
+ &lt;resetMask&gt;<em>scaledNonNegativeInteger</em>&lt;/resetMask&gt;
+ <em>&lt;!-- end of registerPropertiesGroup --&gt;</em>
+</span>
+ &lt;peripherals&gt;
+ ...
+ &lt;/peripherals&gt;
+<span class="opt">
+ &lt;vendorExtensions&gt;
+ ...
+ &lt;/vendorExtensions&gt;</span></span></pre><pre><span class="mand"><b>&lt;/device&gt;</b>
+</span>
+</pre><table class="cmtable" summary="Device Level Schema">
+<tr>
+<th>Attribute Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
+<tr>
+<td>xmlns:xs </td><td>Specifies the underlying XML schema to which the CMSIS-SVD schema is compliant. Has to be set to: <span class="XML-Token">"http://www.w3.org/2001/XMLSchema-instance"</span>. </td><td>xs:decimal </td><td>1..1 </td></tr>
+<tr>
+<td>xmlns:xs </td><td>Specifies the file path and file name of the CMSIS-SVD Schema. For example, <span class="XML-Token">CMSIS-SVD_Schema_1_0.xsd</span>. </td><td>xs:string </td><td>1..1 </td></tr>
+<tr>
+<td>schemaVersion </td><td>Specifies the CMSIS-SVD schema version the description is compliant to (for example, 1.0). </td><td>xs:decimal </td><td>1..1 </td></tr>
+<tr>
+<th>Element Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
+<tr>
+<td>name </td><td>The name string is used to identify the device or device series. Device names are required to be unique. </td><td>xs:string </td><td>1..1 </td></tr>
+<tr>
+<td>version </td><td>The string defines the version of the file. Silicon vendors maintain the description throughout the life-cycle of the device and ensure that all updated and released copies have a unique version string. Higher numbers indicate a more recent version. </td><td>xs:string </td><td>1..1 </td></tr>
+<tr>
+<td>description </td><td>String for describing main features of a device (for example CPU, clock frequency, peripheral overview). </td><td>xs:string </td><td>1..1 </td></tr>
+<tr>
+<td>addressUnitBits </td><td>Defines the number of data bits uniquely selected by each address. The value for Cortex-M based devices is 8 (byte-addressable). </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr>
+<td>width </td><td>Defines the number of data bit-width of the maximum single data transfer supported by the bus infrastructure. This information is relevant for debuggers when accessing registers, because it might be required to issue multiple accesses for accessing a resource of a bigger size. The expected value for Cortex-M based devices is 32. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr class="group1">
+<td colspan="4">See <a class="el" href="group__register_properties_group__gr.html">registerPropertiesGroup</a> for details. </td></tr>
+<tr class="group1">
+<td align="right">size </td><td>Defines the default bit-width of any register contained in the device (implicit inheritance). </td><td>scaledNonNegativeInteger </td><td>0..1 </td></tr>
+<tr class="group1">
+<td align="right">access </td><td>Defines the default access rights for all registers. </td><td>accessType </td><td>0..1 </td></tr>
+<tr class="group1">
+<td align="right">resetValue </td><td>Defines the default value for all registers at RESET. </td><td>scaledNonNegativeInteger </td><td>0..1 </td></tr>
+<tr class="group1">
+<td align="right">resetMask </td><td>Identifies which register bits have a defined reset value. </td><td>scaledNonNegativeInteger </td><td>0..1 </td></tr>
+<tr>
+<td>peripherals </td><td>Next level of description. see <a class="el" href="group__svd__xml__peripherals__gr.html">Peripherals Level</a> for details. </td><td>&#160; </td><td>1..1 </td></tr>
+<tr>
+<td>vendorExtensions </td><td>The content and format of this section of the description is unspecified. Silicon vendors may choose to provide additional information. By default, this section is ignored for constructing the CMSIS files. It is up to the silicon vendor to specify a schema for this section. </td><td>xs:anyType (restriction) </td><td>0..1 </td></tr>
+</table>
+<h2><a class="anchor" id="dev_ex"></a>
+Example:</h2>
+<div class="fragment"><pre class="fragment">&lt;device schemaVersion=<span class="stringliteral">&quot;1.0&quot;</span> xmlns:xs=<span class="stringliteral">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span> xs:noNamespaceSchemaLocation=<span class="stringliteral">&quot;CMSIS-SVD_Schema_1_0.xsd&quot;</span>&gt;
+ &lt;name&gt;ARM_Cortex_M3&lt;/name&gt;
+ &lt;version&gt;0.1&lt;/version&gt;
+ &lt;description&gt;ARM Cortex-M3 based Microcontroller demonstration device&lt;/description&gt;
+ &lt;addressUnitBits&gt;8&lt;/addressUnitBits&gt;
+ &lt;width&gt;32&lt;/width&gt;
+ &lt;size&gt;32&lt;/size&gt;
+ &lt;access&gt;read-write&lt;/access&gt;
+ &lt;resetValue&gt;0&lt;/resetValue&gt;
+ &lt;resetMask&gt;0xffffffff&lt;/resetMask&gt;
+
+ &lt;peripherals&gt;
+ ...
+ &lt;/peripherals&gt;
+&lt;/device&gt;
+</pre></div><p>The device description above is at version 0.1 and uniquely identifies the device by the name "ARM_Cortex_M3". The peripherals are memory mapped in a byte-addressable address space with a bus width of 32 bits. The default size of the registers contained in the peripherals is set to 32 bits. Unless redefined for specific peripherals, all registers or fields are read-write accessible. A reset value of 0, valid for all 32 bits as specified by the reset mask, is set for all registers unless redefined at a lower level. </p>
+</div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd__xml__fields__gr.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd__xml__fields__gr.html
new file mode 100644
index 0000000..342960d
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd__xml__fields__gr.html
@@ -0,0 +1,215 @@
+<!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"/>
+<title>Fields Level</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('group__svd__xml__fields__gr.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">Fields Level</div> </div>
+<div class="ingroups"><a class="el" href="group__svd___format__gr.html">SVD File Schema Levels</a></div></div>
+<div class="contents">
+<p>All fields of a register are enclosed between the &lt;fields&gt; opening and closing tags</p>
+<p>A bit-field has a name that is unique within the register. The position and size within the register is either described by the combination of the least significant bit's position (lsb) and the most significant bit's position (msb), or the lsb and the bit-width of the field. A field may define an <em>enumeratedValue</em> in order to make the display more intuitive to read. <hr/>
+ <pre><span class="mand">
+<b>&lt;fields&gt;</b></span></pre><pre><span class="mand"><b> &lt;field <span class="opt">derivedFrom=<em>"xs:Name"</em></span>&gt;</b></span></pre><pre><span class="mand"> &lt;name&gt;<em>xs:Name</em>&lt;/name&gt;
+ &lt;description&gt;<em>xs:string</em>&lt;/description&gt;</span></pre><pre><span class="mand"> &lt;choice&gt;
+ <em> &lt;!-- bitRangeLsbMsbStyle --&gt; </em>
+ &lt;bitOffset&gt;<em>scaledNonNegativeInteger</em>&lt;bitOffset&gt;
+ &lt;bitWidth&gt;<em>scaledNonNegativeInteger</em>&lt;/bitWidth&gt;
+ <em>or</em>
+ <em> &lt;!-- bitRangeOffsetWidthStyle --&gt; </em>
+ &lt;lsb&gt;<em>scaledNonNegativeInteger</em>&lt;/lsb&gt;
+ &lt;msb&gt;<em>scaledNonNegativeInteger</em>&lt;/msb&gt;
+ <em>or</em>
+ <em> &lt;!-- bitRangePattern --&gt; </em>
+ &lt;bitRange&gt;<em>pattern</em>&lt;/bitRange&gt;
+ &lt;/choice&gt;
+ <span class="opt">
+ &lt;access&gt;<em>accessType</em>&lt;/access&gt;
+ &lt;modifiedWriteValues&gt;<em>writeValueType</em>&lt;/modifiedWriteValues&gt;
+ &lt;writeConstraint&gt;<em>writeConstraintType</em>&lt;/writeConstraint&gt;
+ &lt;readAction&gt;<em>readActionType</em>&lt;/readAction&gt;</span></span></pre><pre><span class="mand"><span class="opt"> &lt;enumeratedValues&gt;
+ ...
+ &lt;/enumeratedValues&gt;</span></span></pre><pre><span class="mand"> <b>&lt;/field&gt;
+ <span class="opt">...
+ &lt;field&gt;
+ ...
+ &lt;/field&gt;
+ </span>
+&lt;fields&gt;
+</b></span>
+</pre><table class="cmtable" summary="Field Level Schema">
+<tr>
+<th>Attribute Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
+<tr>
+<td>derivedFrom </td><td>The field is cloned from a previously defined field with a unique name. </td><td>xs:Name </td><td>0..1 </td></tr>
+<tr>
+<th>Element Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
+<tr>
+<td>name </td><td>Name string used to identify the field. Field names must be unique within a register. </td><td>xs:string </td><td>1..1 </td></tr>
+<tr>
+<td>description </td><td>String describing the details of the register. </td><td>xs:string </td><td>0..1 </td></tr>
+<tr class="choice">
+<td><em>Choice of</em> </td><td colspan="2">Three options exist to describe the field's bit-range. The options are to be used mutually exclusive: </td><td>1..1 </td></tr>
+<tr class="choice">
+<td colspan="4"><em>1. bitRangeLsbMsbStyle</em> </td></tr>
+<tr class="choice">
+<td align="right">bitOffset </td><td>Value defining the position of the least significant bit of the field within the register it belongs to. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr class="choice">
+<td align="right">bitWidth </td><td>Value defining the bit-width of the bitfield within the register it belongs to. </td><td>scaledNonNegativeInteger </td><td>0..1 </td></tr>
+<tr class="choice">
+<td colspan="4"><em>2. bitRangeOffsetWidthStyle</em> </td></tr>
+<tr class="choice">
+<td align="right">lsb </td><td>Value defining the bit position of the least significant bit within the register it belongs to. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr class="choice">
+<td align="right">msb </td><td>Value defining the bit position of the most significant bit within the register it belongs to. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr class="choice">
+<td colspan="4"><em>3. bitRangePattern</em> </td></tr>
+<tr class="choice">
+<td align="right">bitRange </td><td>A string in the format: "[&lt;msb&gt;:&lt;lsb&gt;]" </td><td>bitRangeType </td><td>0..1 </td></tr>
+<tr>
+<td>access </td><td>Predefined strings can be used to define the allowed access types for this field: <span class="XML-Token">read-only<em>,</em> write-only<em>,</em> read-write<em>, </em> writeOnce<em>, and</em> read-writeOnce</span>. Can be omitted if it matches the access permission set for the parent register. </td><td>accessType </td><td>0..1 </td></tr>
+<tr>
+<td>modifiedWriteValues </td><td>Describe the manipulation of data written to a field. If not specified, the value written to the field is the value stored in the field. The other options are bitwise operations: <ul>
+<li><span class="XML-Token">oneToClear</span>: write data bit of one shall clear (set to zero) the corresponding bit in the field. </li>
+<li><span class="XML-Token">oneToSet</span>: write data bit of one shall set (set to one) the corresponding bit in the field. </li>
+<li><span class="XML-Token">oneToToggle</span>: write data bit of one shall toggle (invert) the corresponding bit in the field. </li>
+<li><span class="XML-Token">zeroToClear</span>: write data bit of zero shall clear (set to zero) the corresponding bit in the field. </li>
+<li><span class="XML-Token">zeroToSet</span>: write data bit of zero shall set (set to one) the corresponding bit in the field. </li>
+<li><span class="XML-Token">zeroToToggle</span>: write data bit of zero shall toggle (invert) the corresponding bit in the field. </li>
+<li><span class="XML-Token">clear</span>: after a write operation all bits in the field are cleared (set to zero). </li>
+<li><span class="XML-Token">set</span>: after a write operation all bits in the field are set (set to one). </li>
+<li><span class="XML-Token">modify</span>: after a write operation all bit in the field may be modified (default). </li>
+</ul>
+</td><td>modifiedWriteValuesType </td><td>0..1 </td></tr>
+<tr class="choice">
+<td><em>writeConstraint</em> </td><td colspan="2">Three options exist to set write-constraints: </td><td>0..1 </td></tr>
+<tr class="choice">
+<td><em>1. writeAsRead</em> </td><td>If TRUE, only the last read value can be written. </td><td>xs:boolean </td><td>0..1 </td></tr>
+<tr class="choice">
+<td nowrap="nowrap"><em>2. useEnumeratedValues</em> </td><td>If TRUE, only the values listed in the <em>enumeratedValues</em> list are considered valid write values. </td><td>xs:boolean </td><td>0..1 </td></tr>
+<tr class="choice">
+<td><em>3. range</em> </td><td>Consists of the following two elements: </td><td>&#160; </td><td>0..1 </td></tr>
+<tr class="choice">
+<td align="right">minimum </td><td>Specifies the smallest number to be written to the field. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr class="choice">
+<td align="right">maximum </td><td>Specifies the largest number to be written to the field. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr>
+<td>readAction </td><td>If set, it specifies the side effect following a read operation. If not set, the field is not modified after a read. The defined side effects are: <ul>
+<li><span class="XML-Token">clear</span>: The field is cleared (set to zero) following a read operation. </li>
+<li><span class="XML-Token">set</span>: The field is set (set to ones) following a read operation. </li>
+<li><span class="XML-Token">modify</span>: The field is modified in some way after a read operation. </li>
+<li><span class="XML-Token">modifyExternal</span>: One or more dependent resources other than the current field are immediately affected by a read operation (it is recommended that the field description specifies these dependencies). Debuggers are not expected to read this field location unless explicitly instructed by the user. </li>
+</ul>
+</td><td>readActionType </td><td>0..1 register </td></tr>
+<tr>
+<td>enumeratedValues </td><td>Next lower level of description. See section <a class="el" href="group__svd__xml__enum__gr.html">Enumerated Values Level</a> for details. </td><td>&#160; </td><td>0..2 </td></tr>
+</table>
+<h2><a class="anchor" id="field_ex"></a>
+Example:</h2>
+<div class="fragment"><pre class="fragment">...
+&lt;field&gt;
+ &lt;name&gt;TimerCtrl0_IntSel&lt;/name&gt;
+ &lt;description&gt;Select interrupt line that is triggered by timer overflow.&lt;/description&gt;
+ &lt;bitOffset&gt;1&lt;/bitOffset&gt;
+ &lt;bitWidth&gt;3&lt;/bitWidth&gt;
+ &lt;access&gt;read-write&lt;/access&gt;
+ &lt;resetValue&gt;0x0&lt;/resetValue&gt;
+ &lt;modifiedWriteValues&gt;oneToSet&lt;/modifiedWriteValues&gt;
+ &lt;writeConstraint&gt;
+ &lt;range&gt;
+ &lt;minimum&gt;0&lt;/minimum&gt;
+ &lt;maximum&gt;5&lt;/maximum&gt;
+ &lt;/range&gt;
+ &lt;/writeConstraint&gt;
+ &lt;readAction&gt;clear&lt;/readAction&gt;
+
+ &lt;enumeratedValues&gt;
+ ...
+ &lt;/enumeratedValues&gt;
+&lt;/field&gt;
+...
+</pre></div> </div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd__xml__registers__gr.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd__xml__registers__gr.html
new file mode 100644
index 0000000..4a26175
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/group__svd__xml__registers__gr.html
@@ -0,0 +1,234 @@
+<!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"/>
+<title>Registers Level</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('group__svd__xml__registers__gr.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">Registers Level</div> </div>
+<div class="ingroups"><a class="el" href="group__svd___format__gr.html">SVD File Schema Levels</a></div></div>
+<div class="contents">
+<p>All registers of a peripheral are enclosed between the <b>&lt;registers&gt;</b> opening and closing tags.</p>
+<p>The description of registers is the most essential part of the SVD description. The register's name, detailed description, and the address-offset relative to the peripheral base address are the mandatory elements. If the size, access, reset value, and reset mask have not been specified on the device or peripheral level, or if the default values need to be redefined locally, these fields become mandatory.</p>
+<p>A register can represent a single value or can be subdivided into individual bit-fields of specific functionality and semantics. In schema-terms the <em>fields</em> section is optional, however, from a specification perspective, fields are mandatory when they are described in the device documentation.</p>
+<p>The SVD specification supports the array-of-registers concept. The single register description gets duplicated automatically into an array. The size of the array is specified by the &lt;dim&gt; element. The register names can be composed by the register name and an index specific substring define in &lt;dimIndex&gt;. The &lt;dimIncrement&gt; specifies the address offset between two registers.</p>
+<hr/>
+<pre>
+<span class="mand"><b>&lt;registers&gt;</b> </span></pre><pre><span class="mand"> <b>&lt;register <span class="opt">derivedFrom=<em>registerNameType</em></span>&gt;</b>
+ <span class="opt">
+ <em>&lt;!-- dimElementGroup --&gt; </em>
+ &lt;dim&gt;<em>scaledNonNegativeInteger</em>&lt;/dim&gt;
+ &lt;dimIncrement&gt;<em>scaledNonNegativeInteger</em>&lt;/dimIncrement&gt;
+ &lt;dimIndex&gt;<em>xs:string</em>&lt;/dimIndex&gt;
+ <em>&lt;!-- end of dimElementGroup --&gt; </em>
+ </span>
+ &lt;name&gt;<em>identifierType</em>&lt;/name&gt;
+ <span class="opt">
+ &lt;displayName&gt;<em>xs:string</em>&lt;/displayName&gt;
+ </span>
+ &lt;description&gt;<em>xs:string</em>&lt;/description&gt;
+ <span class="opt">
+ &lt;alternateGroup&gt;<em>xs:Name</em>&lt;/alternateGroup&gt;
+ </span>
+ &lt;addressOffset&gt;<em>scaledNonNegativeInteger</em>&lt;/addressOffset&gt;
+ <span class="opt">
+ <em>&lt;!-- registerPropertiesGroup --&gt; </em>
+ &lt;size&gt;<em>scaledNonNegativeInteger</em>&lt;/size&gt;
+ &lt;access&gt;<em>accessType</em>&lt;/access&gt;
+ &lt;resetValue&gt;<em>scaledNonNegativeInteger</em>&lt;/resetValue&gt;
+ &lt;resetMask&gt;<em>scaledNonNegativeInteger</em>&lt;/resetMask&gt;
+ <em>&lt;!-- end of registerPropertiesGroup --&gt; </em>
+ </span><span class="opt">
+ &lt;modifiedWriteValues&gt;<em>writeValueType</em>&lt;/modifiedWriteValues&gt;
+ &lt;writeConstraint&gt;<em>writeConstraintType</em>&lt;/writeConstraint&gt;
+ &lt;readAction&gt;<em>readActionType</em>&lt;/readAction&gt;</span></span></pre><pre><span class="mand"><span class="opt"> &lt;fields&gt;
+ ...
+ &lt;/fields&gt;
+ </span>
+ <b>&lt;/register&gt;</b>
+ <span class="opt">...
+ &lt;register&gt;
+ ...
+ &lt;/register&gt;
+ </span>
+<b>&lt;registers&gt;</b> </span>
+</pre><table class="cmtable" summary="Register Level Schema">
+<tr>
+<th>Attribute Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
+<tr>
+<td>derivedFrom </td><td>Specifies the name of the register from which to inherit the data. Elements being specified underneath will override the inherited values. <br/>
+<b>Remarks:</b> When deriving a register, it is mandatory to specify at least the name, the description, and the addressOffset. </td><td>xs:Name </td><td>0..1 </td></tr>
+<tr>
+<th>Element Name </th><th>Description </th><th>Type </th><th>Occurrence </th></tr>
+<tr class="group1">
+<td colspan="4">See <a class="el" href="group__dim_element_group__gr.html">dimElementGroup</a> for details. </td></tr>
+<tr class="group1">
+<td align="right">dimIncrement </td><td>The value defines the number of elements in an array of registers. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr class="group1">
+<td align="right">dimIncrement </td><td>If <em>dim</em> is specified, this element becomes mandatory. The element specifies the address increment in between two neighboring registers of the register array in the address map. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr class="group1">
+<td align="right">dimIndex </td><td>Specifies the substrings that replaces the s placeholder within the register name. By default, the index is a decimal value starting with 0 for the first register. </td><td>dimIndexType </td><td>0..1 </td></tr>
+<tr>
+<td>name </td><td>Name string used to identify the register. Register names are required to be unique within the scope of a peripheral. </td><td>registerNameType </td><td>1..1 </td></tr>
+<tr>
+<td>displayName </td><td>When specified, the string is being used by a graphical frontend to visualize the register. Otherwise the name element is displayed. The <em>displayName</em> may contain special characters and white spaces. The place holder <b>s</b> can be used and is replaced by the <em>dimIndex</em> substring. </td><td>xs:string </td><td>0..1 </td></tr>
+<tr>
+<td>description </td><td>String describing the details of the register. </td><td>xs:string </td><td>0..1 </td></tr>
+<tr>
+<td>alternateGroup </td><td>Specifies a group name associated with all alternate register that have the same name. At the same time, it indicates that there is a register definition allocating the same absolute address in the address space. </td><td>xs:Name </td><td>0..1 </td></tr>
+<tr>
+<td>addressOffset </td><td>Value defining the address of the register relative to the <em>baseAddress</em> defined by the peripheral of the register. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr class="group1">
+<td colspan="4">See <a class="el" href="group__register_properties_group__gr.html">registerPropertiesGroup</a> for details. </td></tr>
+<tr class="group1">
+<td align="right">size </td><td>Defines the default bit-width of any register contained in the device (implicit inheritance). </td><td>scaledNonNegativeInteger </td><td>0..1 </td></tr>
+<tr class="group1">
+<td align="right">access </td><td>Defines the default access rights for all registers. </td><td>accessType </td><td>0..1 </td></tr>
+<tr class="group1">
+<td align="right">resetValue </td><td>Defines the default value for all registers at RESET. </td><td>scaledNonNegativeInteger </td><td>0..1 </td></tr>
+<tr class="group1">
+<td align="right">resetMask </td><td>Identifies which register bits have a defined reset value. </td><td>scaledNonNegativeInteger </td><td>0..1 </td></tr>
+<tr>
+<td>modifiedWriteValues </td><td>Element to describe the manipulation of data written to a register. If not specified, the value written to the field is the value stored in the field. The other options define bitwise operations: <ul>
+<li><span class="XML-Token">oneToClear</span>: write data bits of one shall clear (set to zero) the corresponding bit in the register. </li>
+<li><span class="XML-Token">oneToSet</span>: write data bits of one shall set (set to one) the corresponding bit in the register. </li>
+<li><span class="XML-Token">oneToToggle</span>: write data bits of one shall toggle (invert) the corresponding bit in the register. </li>
+<li><span class="XML-Token">zeroToClear</span>: write data bits of zero shall clear (set to zero) the corresponding bit in the register. </li>
+<li><span class="XML-Token">zeroToSet</span>: write data bits of zero shall set (set to one) the corresponding bit in the register. </li>
+<li><span class="XML-Token">zeroToToggle</span>: write data bits of zero shall toggle (invert) the corresponding bit in the register. </li>
+<li><span class="XML-Token">clear</span>: after a write operation all bits in the field are cleared (set to zero). </li>
+<li><span class="XML-Token">set</span>: after a write operation all bits in the field are set (set to one). </li>
+<li><span class="XML-Token">modify</span>: after a write operation all bit in the field may be modified (default). </li>
+</ul>
+</td><td>modifiedWriteValuesType </td><td>0..1 </td></tr>
+<tr class="choice">
+<td><em>writeConstraint</em> </td><td colspan="2">Three options exist to set write-constraints: </td><td>0..1 </td></tr>
+<tr class="choice">
+<td><em>1. writeAsRead</em> </td><td>If TRUE, only the last read value can be written. </td><td>xs:boolean </td><td>0..1 </td></tr>
+<tr class="choice">
+<td nowrap="nowrap"><em>2. useEnumeratedValues</em> </td><td>If TRUE, only the values listed in the <em>enumeratedValues</em> list are considered valid write values. </td><td>xs:boolean </td><td>0..1 </td></tr>
+<tr class="choice">
+<td><em>3. range</em> </td><td>Consists of the following two elements: </td><td>&#160; </td><td>0..1 </td></tr>
+<tr class="choice">
+<td align="right">minimum </td><td>Specifies the smallest number to be written to the field. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr class="choice">
+<td align="right">maximum </td><td>Specifies the largest number to be written to the field. </td><td>scaledNonNegativeInteger </td><td>1..1 </td></tr>
+<tr>
+<td>readAction </td><td>If set, it specifies the side effect following a read operation. If not set, the register is not modified. The defined side effects are: <ul>
+<li><span class="XML-Token">clear</span>: The register is cleared (set to zero) following a read operation. </li>
+<li><span class="XML-Token">set</span>: The register is set (set to ones) following a read operation. </li>
+<li><span class="XML-Token">modify</span>: The register is modified in some way after a read operation. </li>
+<li><span class="XML-Token">modifyExternal</span>: One or more dependent resources other than the current register are immediately affected by a read operation (it is recommended that the register description specifies these dependencies). Debuggers are not expected to read this register location unless explicitly instructed by the user. </li>
+</ul>
+</td><td>readActionType </td><td><p class="starttd">0..1 </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<td>fields </td><td>Next lower level of description (see <a class="el" href="group__svd__xml__fields__gr.html">Fields Level</a> for details). Not all registers are further divided into fields, therefore, this level is optional. In case a register is subdivided into bit fields, it should be reflected in the description. The device header file can only contain bit access macros and bit-field structures if this information is contained in the description. </td><td>&#160; </td><td>0..1 </td></tr>
+</table>
+<h2><a class="anchor" id="reg_ex"></a>
+Example:</h2>
+<div class="fragment"><pre class="fragment">...
+&lt;<span class="keyword">register</span>&gt;
+ &lt;name&gt;TimerCtrl0&lt;/name&gt;
+ &lt;description&gt;Timer Control Register&lt;/description&gt;
+ &lt;addressOffset&gt;0x0&lt;/addressOffset&gt;
+ &lt;access&gt;read-write&lt;/access&gt;
+ &lt;resetValue&gt;0x00008001&lt;/resetValue&gt;
+ &lt;resetMask&gt;0x0000ffff&lt;/resetMask&gt;
+ &lt;size&gt;32&lt;/size&gt;
+ &lt;fields&gt;
+ ...
+ &lt;/fields&gt;
+&lt;/<span class="keyword">register</span>&gt;
+
+&lt;<span class="keyword">register</span> derivedFrom=<span class="stringliteral">&quot;TimerCtrl0&quot;</span>&gt;
+ &lt;name&gt;TimerCtrl1&lt;/name&gt;
+ &lt;description&gt;Derived Timer&lt;/description&gt;
+ &lt;addressOffset&gt;0x4&lt;/addressOffset&gt;
+&lt;/<span class="keyword">register</span>&gt;
+...
+</pre></div> </div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/index.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/index.html
new file mode 100644
index 0000000..813b480
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/index.html
@@ -0,0 +1,153 @@
+<!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"/>
+<title>System View Description</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('index.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">System View Description </div> </div>
+</div>
+<div class="contents">
+<div class="textblock"><p>This chapter contains the introduction and specification of the CMSIS System View Description format (CMSIS-SVD). The introduction section outlines the objectives and benefits CMSIS-SVD.</p>
+<p><b>Introduction</b></p>
+<p>CMSIS-SVD formalizes the description of the programmer's view for the system contained in ARM Cortex-M processor-based microcontrollers, in particular the memory mapped registers of the peripherals. The detail contained in system view descriptions is comparable to what is found in device reference manuals published by silicon vendors. The information ranges from a high level functional description of a peripheral all the way down to the definition and purpose of an individual bit field in a memory mapped register. CMSIS-SVD files are developed and maintained by the silicon vendors. Silicon vendors manage their descriptions in a central, web-based Device Database and the CMSIS-SVD files are downloadable via a public web interface once they have been released by the silicon vendor. Tool vendors use these descriptions for providing device-specific debug views of peripherals in their debugger. Last but not least CMSIS compliant device header files are generated from CMSIS-SVD files.</p>
+<p><b>CMSIS-SVD Benefits</b></p>
+<ul>
+<li>The benefits for the Software Developer:<ul>
+<li>Consistency between device header file and what is being displayed by the debugger.</li>
+<li>Detailed information about peripherals, registers, fields, and bit values from within the debugger, without the need to reference device documentation.</li>
+<li>Public access via a web interface to new and updated descriptions as they become available from silicon vendors.</li>
+<li>Improved software development efficiency.</li>
+</ul>
+</li>
+</ul>
+<ul>
+<li>The benefits for the Silicon Vendor:<ul>
+<li>A tool vendor independent file format enables early device support by a wide range of toolchains with limited effort.</li>
+<li>The XML-based format helps ease the integration into in-house design flows.</li>
+<li>Automated generation of CMSIS compliant device header files.</li>
+<li>Full control throughout the life cycle of the CMSIS-SVD files from creation to maintenance via the web-based Device Database.</li>
+</ul>
+</li>
+</ul>
+<ul>
+<li>The benefits for the Tool Vendor:<ul>
+<li>Unified file format across silicon vendors helps the efficiency of supporting a wide range of new devices in a timely manner.</li>
+<li>Silicon vendors provide early review access to individuals ahead of the publishing date.</li>
+<li>Updated descriptions are available over the web simplifying the maintenance of device support.</li>
+</ul>
+</li>
+</ul>
+<p><b>The Web Infrastructure</b></p>
+<div class="image">
+<img src="CMSIS_SVD_WEB_DATABASE.png" alt="CMSIS_SVD_WEB_DATABASE.png"/>
+<div class="caption">
+CMSIS-SVD Management Processes</div></div>
+<p> The diagram illustrates the management process steps for uploading, validating, reviewing, publishing, and downloading CMSIS-SVD files.</p>
+<ul>
+<li><b>Managing Files:</b> A CMSIS-SVD file is uploaded by a silicon vendor via the web interface (<a href="https://cmsis.arm.com/user/index.php" target="_blank"><b>Device Database</b></a>). The system performs a check against the CMSIS-SVD Schema and runs the SVDConv consistency checker. Only if both checks have been successful the file will be stored in the SVD Storage. Files can be added, replaced and deleted.</li>
+</ul>
+<ul>
+<li><b>Managing Devices:</b> The silicon vendor creates an entry for each of his devices in the database by defining a name and associating it with a CMSIS-SVD file from the SVD Storage. The publishing date set forth for a device is used by the system to determine when this device becomes visible in the public device database. Prior to the publishing date, the silicon vendor can grant review access to individuals for an individual device. Reviewers get notified by e-mail about a device being made available for review.</li>
+</ul>
+<ul>
+<li><b>Public Download:</b> Public access to the silicon vendor specific CMSIS-SVD download pages is provided from <a href="http://cmsis.arm.com" target="_blank">cmsis.arm.com</a> or <a href="http://www.arm.com/cmsis" target="_blank">www.arm.com/cmsis</a>. Select the CMSIS-SVD tab and select the Silicon Vendor of interest from the list. For the public download of the CMSIS-SVD files of published devices it is mandatory to:<ul>
+<li>Be logged in on the ARM web site.</li>
+<li>Have accepted a silicon vendor specific End Users License Agreement (EULA).</li>
+</ul>
+</li>
+</ul>
+<p>More information about the web infrastructure can be found in the <a class="el" href="svd_web_pg.html">CMSIS-SVD Web Interface User Guide</a></p>
+<p><b>Language Outline</b></p>
+<ul>
+<li><a class="el" href="svd__outline_pg.html">SVD File Description</a></li>
+</ul>
+<p><b>Language Specification</b></p>
+<ul>
+<li><a class="el" href="group__svd___format__gr.html">SVD File Schema Levels</a></li>
+<li><a class="el" href="group__svd___format__1__1__gr.html">SVD Extension in Version 1.1</a> </li>
+</ul>
+</div></div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/nav_f.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/nav_f.png
new file mode 100644
index 0000000..1b07a16
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/nav_f.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/nav_h.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/nav_h.png
new file mode 100644
index 0000000..01f5fa6
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/nav_h.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/navtree.js b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/navtree.js
new file mode 100644
index 0000000..18ba992
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/navtree.js
@@ -0,0 +1,285 @@
+var NAVTREE =
+[
+ [ "CMSIS-SVD", "index.html", [
+ [ "System View Description", "index.html", [
+ [ "CMSIS-SVD Web Interface User Guide", "svd_web_pg.html", [
+ [ "Public Download Area", "svd_web_public_pg.html", null ],
+ [ "Restricted Management Area", "svd_web_restricted_pg.html", null ]
+ ] ],
+ [ "SVD File Description", "svd__outline_pg.html", null ]
+ ] ],
+ [ "Usage and Description", "pages.html", [
+ [ "SVD File Validation", "svd_validate_file_pg.html", null ],
+ [ "SVD File Usage", "svd__usage_pg.html", null ],
+ [ "SVD File Example", "svd__example_pg.html", null ]
+ ] ],
+ [ "Reference", "modules.html", [
+ [ "SVD File Schema Levels", "group__svd___format__gr.html", [
+ [ "Device Level", "group__svd__xml__device__gr.html", null ],
+ [ "Peripherals Level", "group__svd__xml__peripherals__gr.html", null ],
+ [ "Registers Level", "group__svd__xml__registers__gr.html", null ],
+ [ "Fields Level", "group__svd__xml__fields__gr.html", null ],
+ [ "Enumerated Values Level", "group__svd__xml__enum__gr.html", null ]
+ ] ],
+ [ "Element Groups", "group__elem__type__gr.html", [
+ [ "dimElementGroup", "group__dim_element_group__gr.html", null ],
+ [ "registerPropertiesGroup", "group__register_properties_group__gr.html", null ]
+ ] ],
+ [ "SVD Extension in Version 1.1", "group__svd___format__1__1__gr.html", [
+ [ "Extensions to the Device Section", "group__device_section_extensions__gr.html", null ],
+ [ "CPU Section (New)", "group__cpu_section__gr.html", null ],
+ [ "Extensions to the Peripheral Section", "group__peripheral_section_extensions__gr.html", null ],
+ [ "Cluster Level (New)", "group__cluster_level__gr.html", null ],
+ [ "Extensions to the Register Section", "group__register_section_extensions__gr.html", null ]
+ ] ],
+ [ "CMSIS-SVD Schema File Ver. 1.0", "group__schema__gr.html", null ],
+ [ "CMSIS-SVD Schema File Ver. 1.1 (draft)", "group__schema__1__1__gr.html", null ]
+ ] ]
+ ] ]
+];
+
+function createIndent(o,domNode,node,level)
+{
+ if (node.parentNode && node.parentNode.parentNode)
+ {
+ createIndent(o,domNode,node.parentNode,level+1);
+ }
+ var imgNode = document.createElement("img");
+ if (level==0 && node.childrenData)
+ {
+ 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");
+ if (node.isLast)
+ {
+ node.plus_img.src = node.relpath+"ftv2plastnode.png";
+ }
+ else
+ {
+ node.plus_img.src = node.relpath+"ftv2pnode.png";
+ }
+ node.expanded = false;
+ }
+ else
+ {
+ expandNode(o, node, false);
+ }
+ }
+ node.expandToggle.appendChild(imgNode);
+ domNode.appendChild(node.expandToggle);
+ }
+ else
+ {
+ domNode.appendChild(imgNode);
+ }
+ if (level==0)
+ {
+ if (node.isLast)
+ {
+ if (node.childrenData)
+ {
+ imgNode.src = node.relpath+"ftv2plastnode.png";
+ }
+ else
+ {
+ imgNode.src = node.relpath+"ftv2lastnode.png";
+ domNode.appendChild(imgNode);
+ }
+ }
+ else
+ {
+ if (node.childrenData)
+ {
+ imgNode.src = node.relpath+"ftv2pnode.png";
+ }
+ else
+ {
+ imgNode.src = node.relpath+"ftv2node.png";
+ domNode.appendChild(imgNode);
+ }
+ }
+ }
+ else
+ {
+ if (node.isLast)
+ {
+ imgNode.src = node.relpath+"ftv2blank.png";
+ }
+ else
+ {
+ imgNode.src = node.relpath+"ftv2vertline.png";
+ }
+ }
+ imgNode.border = "0";
+}
+
+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);
+ a.appendChild(node.label);
+ if (link)
+ {
+ a.href = node.relpath+link;
+ }
+ else
+ {
+ if (childrenData != null)
+ {
+ a.className = "nolink";
+ a.href = "javascript:void(0)";
+ a.onclick = node.expandToggle.onclick;
+ node.expanded = false;
+ }
+ }
+
+ 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;
+ navtree.scrollTo('#selected',0,{offset:-windowHeight/2});
+}
+
+function expandNode(o, node, imm)
+{
+ if (node.childrenData && !node.expanded)
+ {
+ if (!node.childrenVisited)
+ {
+ getNode(o, node);
+ }
+ if (imm)
+ {
+ $(node.getChildrenUL()).show();
+ }
+ else
+ {
+ $(node.getChildrenUL()).slideDown("fast",showRoot);
+ }
+ if (node.isLast)
+ {
+ node.plus_img.src = node.relpath+"ftv2mlastnode.png";
+ }
+ else
+ {
+ node.plus_img.src = node.relpath+"ftv2mnode.png";
+ }
+ node.expanded = true;
+ }
+}
+
+function getNode(o, po)
+{
+ 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);
+ }
+}
+
+function findNavTreePage(url, data)
+{
+ var nodes = data;
+ var result = null;
+ for (var i in nodes)
+ {
+ var d = nodes[i];
+ if (d[1] == url)
+ {
+ return new Array(i);
+ }
+ else if (d[2] != null) // array of children
+ {
+ result = findNavTreePage(url, d[2]);
+ if (result != null)
+ {
+ return (new Array(i).concat(result));
+ }
+ }
+ }
+ return null;
+}
+
+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;
+
+ getNode(o, o.node);
+
+ o.breadcrumbs = findNavTreePage(toroot, NAVTREE);
+ if (o.breadcrumbs == null)
+ {
+ o.breadcrumbs = findNavTreePage("index.html",NAVTREE);
+ }
+ if (o.breadcrumbs != null && o.breadcrumbs.length>0)
+ {
+ var p = o.node;
+ for (var i in o.breadcrumbs)
+ {
+ var j = o.breadcrumbs[i];
+ p = p.children[j];
+ expandNode(o,p,true);
+ }
+ p.itemDiv.className = p.itemDiv.className + " selected";
+ p.itemDiv.id = "selected";
+ $(window).load(showRoot);
+ }
+}
+
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/pages.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/pages.html
new file mode 100644
index 0000000..288b35e
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/pages.html
@@ -0,0 +1,102 @@
+<!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"/>
+<title>Usage and Description</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('pages.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">Usage and Description</div> </div>
+</div>
+<div class="contents">
+<div class="textblock">Here is a list of all related documentation pages:</div><ul>
+<li><a class="el" href="svd_validate_file_pg.html">SVD File Validation</a>
+</li>
+<li><a class="el" href="svd__usage_pg.html">SVD File Usage</a>
+</li>
+<li><a class="el" href="svd__example_pg.html">SVD File Example</a>
+</li>
+</ul>
+</div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/svd__outline_pg.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/svd__outline_pg.html
new file mode 100644
index 0000000..31ec9e6
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/svd__outline_pg.html
@@ -0,0 +1,128 @@
+<!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"/>
+<title>SVD File Description</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('svd__outline_pg.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">SVD File Description </div> </div>
+</div>
+<div class="contents">
+<div class="textblock"><p>The CMSIS-SVD format is based on XML. The specification of the System View Description format was influenced by IP-XACT, a design description format used in, for example, IP stitching and IP reuse. Due to the much wider scope and complexity of IP-XACT it was decided to specify a separate format, which is focused and tailored toward the description of the programmer's view of a device only.</p>
+<p><b>CMSIS-SVD XML Hierarchy</b></p>
+<div class="image">
+<img src="CMSIS_SVD_Schema_Gen.png" alt="CMSIS_SVD_Schema_Gen.png"/>
+<div class="caption">
+CMSIS-SVD Hierarchy Levels</div></div>
+<p> One CMSIS-SVD file contains the description of a single device. A device consists of a processor and at least one peripheral. Each peripheral contains at least one register. A register may consist of one or more fields. The range of values for a field may be further described with enumerated values.</p>
+<ul>
+<li><b>Device Level:</b> The top level of a System View Description is the device. On this level, information is captured that is specific to the device as a whole. For example, the device name, description, or version. The minimal addressable unit as well as the bit-width of the data bus are required by the debugger to perform the correct target accesses.<br/>
+ <br/>
+Default values for register attributes like register size, reset value, and access permissions can be set for the whole device on this level and are implicitly inherited by the lower levels of the description. If however specified on a lower level, the default setting from a higher level will get overruled.</li>
+</ul>
+<ul>
+<li><b>Peripherals Level:</b> A peripheral is a named collection of registers. A peripheral is mapped to a defined <em>base address</em> within the device's address space. A peripheral allocates one or more exclusive address blocks relative to its base address, such that all described registers fit into the allocated address blocks. Allocated addresses without an associated register description are automatically considered reserved. The peripheral can be assigned to a group of peripherals and may be associated with one or more interrupts.</li>
+</ul>
+<ul>
+<li><b>Registers Level:</b> A register is a named, programmable resource that belongs to a peripheral. Registers are mapped to a defined address in the address space of the device. An address is specified relative to the peripheral base address. The description of a register documents the purpose and function of the resource. A debugger requires information about the permitted access to a resource as well as side effects triggered by read and write accesses respectively.</li>
+</ul>
+<ul>
+<li><b>Fields Level:</b> Registers may be partitioned into chunks of bits of distinct functionality. A chunk is referred to as <em>field</em>. The field names within a single register must be unique. Only architecturally defined fields shall be described. Any bits not being explicitly described are treated as reserved. They are not displayed in the System Viewer and are padded in the bit fields of the device header file. The case-insensitive field named <b>"reserved"</b> is treated as a keyword and each field with this name is ignored.</li>
+</ul>
+<ul>
+<li><b>Enumerated Values Level:</b> An enumeration maps an unsigned integer constant to a descriptive identifier and, optionally, to a description string. Enumerations are used in C to enhance the readability of source code. Similarly, it can be used by debuggers to provide more instructive information to the programmer, avoiding a lookup in the device documentation.</li>
+</ul>
+<ul>
+<li><b>Vendor Extensions:</b> The CMSIS-SVD format includes a section named <em>vendorExtensions</em> positioned after the closing tag <em>peripherals</em>. This allows silicon vendors and tool partners to innovate and expand the description beyond the current specification.</li>
+</ul>
+<p><b>Multiple Instantiation</b></p>
+<p>CMSIS-SVD supports the reuse of whole sections of the description. The attribute <em>derivedFrom</em> for the peripheral-, register-, and field-section specifies the source of the section to be copied from. Individual tags can be used to redefine specific elements within a copied section. In case the name of the description source is not unique, the name needs to be qualified hierarchically until the element composite name becomes unique. Hierarchies are separated by a dot. For example, <em>&lt;peripheral name&gt;.&lt;register name&gt;.&lt;field name&gt;</em>.</p>
+<p><b>Peripheral Grouping</b></p>
+<p>Peripherals that provide similar functionality (Simple Timer, Complex Timer) can be grouped with the element <em>groupName</em>. All peripherals associated with the same group name are collectively listed under this group in the order they have been specified in the file. Collecting similar or related peripherals into peripheral groups helps structuring the list of peripherals in the debugger.</p>
+<p><b>Descriptions</b></p>
+<p>On each level, the tag <em>description</em> provides verbose information about the respective element. The description field plays an important part in improving the software development productivity as it gives instant access to information that otherwise would need to be looked up in the device documentation. </p>
+</div></div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+ <li class="navelem"><a class="el" href="index.html">System View Description</a> </li>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/svd__usage_pg.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/svd__usage_pg.html
new file mode 100644
index 0000000..9c1d7cd
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/svd__usage_pg.html
@@ -0,0 +1,110 @@
+<!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"/>
+<title>SVD File Usage</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('svd__usage_pg.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">SVD File Usage </div> </div>
+</div>
+<div class="contents">
+<div class="textblock"><p><b>System Views</b> <br/>
+ There are a number of tool vendors who are supporting the CMSIS-SVD format with their products. Refer to the tools documentation to find out how to use CMSIS-SVD descriptions with the debugger of your choice. You can download the latest versions of available CMSIS-SVD files from the <a class="el" href="svd_web_public_pg.html">Public Download Area</a> on the ARM web. <br/>
+</p>
+<p><b>Device Header File Generation (<em>&lt;device_name&gt;</em>.h):</b> <br/>
+ SVDConv generates CMSIS compliant device header files from a CMSIS-SVD description. Note that CMSIS device header files are developed and maintained by the silicon vendors. Therefore the expectation is that this conversion is only of interest to these parties. <br/>
+ In a first step, a consistency check of the description is performed. In a second step, the device header file is generated. The device header file is generated into the current directory and the file name is determined by the tag <em>name</em> on the device level from CMSIS-SVD input file. </p>
+<div class="fragment"><pre class="fragment"> SVDConv.exe myDevice.xml --generate=header
+</pre></div><p> <br/>
+</p>
+<ul>
+<li><b>Additional options:</b> <br/>
+ This option generates bit fields in the device header file for each field description contained in the CMSIS-SVD input file. <div class="fragment"><pre class="fragment"> --fields=<span class="keyword">struct</span>
+</pre></div> <br/>
+ This option generates position and mask C-Macros for each field description contained in the CMSIS-SVD input file. <div class="fragment"><pre class="fragment"> --fields=macro
+</pre></div> </li>
+</ul>
+</div></div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/svd_validate_file_pg.html b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/svd_validate_file_pg.html
new file mode 100644
index 0000000..077017c
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/svd_validate_file_pg.html
@@ -0,0 +1,123 @@
+<!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"/>
+<title>SVD File Validation</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="cmsis.css" rel="stylesheet" type="text/css" />
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 46px;">
+ <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">CMSIS-SVD
+ &#160;<span id="projectnumber">Version 1.10</span>
+ </div>
+ <div id="projectbrief">CMSIS System View Description</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="CMSISnav" class="tabs1">
+ <ul class="tablist">
+ <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
+ <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
+ <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
+ <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
+ <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
+ </ul>
+</div>
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript" src="dynsections.js"></script>
+ <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>
+ <li><a href="modules.html"><span>Reference</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('svd_validate_file_pg.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">SVD File Validation </div> </div>
+</div>
+<div class="contents">
+<div class="textblock"><p>The quality of the available descriptions is key to the success of the CMSIS-SVD format. Aspects of quality are:</p>
+<ul>
+<li>Syntactical and structural compliance with the specified CMSIS-SVD format.</li>
+<li>Consistency and correctness.</li>
+<li>Completeness.</li>
+<li>Level of detail.</li>
+</ul>
+<p>Automated checks are done on two levels:</p>
+<ol type="1">
+<li><b>The CMSIS-SVD Schema File</b>: The schema file specifies the syntax and structure of an XML-based format. XML tools use the schema file for checking the syntactical and structural correctness of an XML file that claims compliance with a certain format. The schema file <em>CMSIS-SVD_Schema_1_0.xsd</em> can be found in the folder <b>SVD</b> of the CMSIS distribution. <br/>
+<br/>
+</li>
+<li><b>SVD Conversion Utility:</b> ARM provides the <b>SVD Utility (SVDConv.exe)</b> tool to check the semantics and consistency of the data contained in a CMSIS-SVD file. SVDConv is a command-line tool included in the CMSIS distribution. It is located in the SVD folder side by side with the CMSIS-SVD schema file. The SVDConv shall be used for checking CMSIS-SVD descriptions as well as for generating CMSIS-compliant device header files. <br/>
+<br/>
+<ul>
+<li><b>Usage Information:</b> <br/>
+ SVDConv provides usage information at the command line when invoked without arguments. <div class="fragment"><pre class="fragment"> SVDConv.exe
+</pre></div> <br/>
+<br/>
+</li>
+<li><b>Consistency Check:</b> <br/>
+ SVDConv is performing a consistency of the CMSIS-SVD file passed as the first command-line argument. The checks go beyond syntactical tests as they can be performed using the CMSIS-SVD schema file in combination with XML validation tools. Errors and warnings are printed to the command line. <br/>
+ <div class="fragment"><pre class="fragment"> SVDConv.exe myDevice.xml
+</pre></div> <br/>
+<br/>
+ </li>
+</ul>
+</li>
+</ol>
+</div></div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+
+ <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
+ <!--
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
+ -->
+ </li>
+ </ul>
+ </div>
+
+
+</body>
+</html>
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/tab_b.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/tab_b.png
new file mode 100644
index 0000000..b2c3d2b
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/tab_b.png
Binary files differ
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/tab_s.png b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/tab_s.png
new file mode 100644
index 0000000..978943a
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Libraries/CMSIS/Documentation/SVD/html/tab_s.png
Binary files differ