Skip to content

Commit

Permalink
Updated PACK schema with new spec.
Browse files Browse the repository at this point in the history
  • Loading branch information
JonatanAntoni committed Jul 19, 2022
1 parent 4dc9eb0 commit 5aeaabb
Show file tree
Hide file tree
Showing 4 changed files with 98 additions and 17 deletions.
11 changes: 8 additions & 3 deletions doxygen/src/General.txt
Original file line number Diff line number Diff line change
Expand Up @@ -84,15 +84,20 @@ Pack\\Tutorials | Tutorials for \ref cp_Packs "Creating Packs" |
<th>Description</th>
</tr>
<tr>
<td>1.7.10</td>
<td>1.7.11</td>
<td>
- added 'includeAsm', 'includeC', 'includeCpp', 'includeLd' to FileCategoryType of the components element
- added 'headerAsm', 'includeC', 'headerCpp', 'headerLd' to FileCategoryType of the components element
- added 'uuid' to boards element to indicate a 128-bit universal ID in the debug firmware of the board
- added 'memory' and 'algorithm' child elements to the boards element to describe board-specific memory
- added 'Bvendor', 'Bname', 'Brevision' attribute to conditions element to allow board specific filtering.
</td>
</tr>
<tr>
<td>1.7.10</td>
<td>
- added 'includeAsm', 'includeC', 'includeCpp', 'includeLd' to FileCategoryType of the components element
- added 'headerAsm', 'includeC', 'headerCpp', 'headerLd' to FileCategoryType of the components element
</td>
</tr>
<tr>
<td>1.7.9</td>
<td>
Expand Down
72 changes: 67 additions & 5 deletions doxygen/src/boards_schema.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ A development board is described by the following properties:
- \ref element_board_image "image": pictures of the board to be displayed on web pages.
- \ref element_board_feature "feature": categorized list of the development board's features and peripherals.
- \ref element_board_debugInterface "debugInterface": describing the debug capabilities.
- \ref element_board_debugProbe "debugProbe": describing the on-board debug probe.
- \ref element_board_memory "memory": additional memory provided by the board
- \ref element_board_algorithm "algorithm": additional flash programming algorithms for the board-specific memory

Expand Down Expand Up @@ -129,7 +130,7 @@ This element provides information to specify the \ref createPackBoard "Board Sup
</tr>
<td>uuid</td>
<td>Specifies a <a href="https://en.wikipedia.org/wiki/Universally_unique_identifier">128-bit UUID</a> that is embedded it in the debugger firmware of the board tag. Format: 8-4-4-4-12 for a total of 36 characters. Example: 123e4567-e89b-12d3-a456-426614174000</td>
<td>xs:string</td>
<td><a href="https://en.wikipedia.org/wiki/Universally_unique_identifier">128-bit UUID</a></td>
<td>optional</td>
</tr>
<tr>
Expand Down Expand Up @@ -192,6 +193,12 @@ This element provides information to specify the \ref createPackBoard "Board Sup
<td>BoardsBookType</td>
<td>1..* </td>
</tr>
<tr>
<td>\ref element_board_debugProbe "debugProbe"</td>
<td>Specify on-board debug probe.</td>
<td>DebugProbeType</td>
<td>0..1</td>
</tr>
<tr>
<td>\ref element_board_memory "memory"</td>
<td>Specify memory areas that board specific.</td>
Expand Down Expand Up @@ -547,6 +554,65 @@ This element describes the debug interface of a board. At least debug interface
<p>&nbsp;</p>
<hr>

\section element_board_debugProbe /package/boards/board/debugProbe
This element specifies an optional on-board debug probe.

<table class="cmtable" summary="Element: BoardDebugInterface">
<tr>
<th>Parent</th>
<th colspan="3">Chain</th>
</tr>
<tr>
<td>\ref element_board "board"</td>
<td colspan="3">\ref element_board</td>
</tr>
<tr>
<th>Attributes</th>
<th>Description</th>
<th>Type</th>
<th>Use</th>
</tr>
<tr>
<td>deviceIndex</td>
<td></td>
<td>xs:string</td>
<td>optional</td>
</tr>
<tr>
<td>name</td>
<td>Type of on-board debug probe.</td>
<td>\token{CMSIS-DAP}, \token{DAP-Link}, or \token{ST-Link}</td>
<td>required</td>
</tr>
<tr>
<td>version</td>
<td>Debug probe version.</td>
<td>xs:string</td>
<td>required</td>
</tr>
<tr>
<td>debugLink</td>
<td>Debug connection from probe to processor.</td>
<td>\token{jtag}, or \token{swd}</td>
<td>required</td>
</tr>
<tr>
<td>debugClock</td>
<td>Debug controller clock speed.</td>
<td>NonNegativeInteger</td>
<td>required</td>
</tr>
<tr>
<td>connector</td>
<td>String describing the debug connector. Usually one of these: \token{Mini-USB}, \token{Micro-USB}, \token{USB-C}.</td>
<td>xs:string</td>
<td>required</td>
</tr>
</table>

<p>&nbsp;</p>
<hr>

\section element_board_book /package/boards/board/book

The element provides information about documentation parts related to a development board. At least one book must be defined.
Expand Down Expand Up @@ -828,9 +894,5 @@ Specify Flash programming algorithms with the address range and its size for boa

</table>





<p>&nbsp;</p>
*/
1 change: 0 additions & 1 deletion doxygen/src/conditions_schema.txt
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,6 @@ A \ref element_condition "condition" becomes \token{true} when:

<p>&nbsp;</p>


\anchor CompilerEnumType <b>Table: Compiler Types</b>

The tale list values representing a C/C++ compiler toolchains from a specific tool vendor.
Expand Down
31 changes: 23 additions & 8 deletions schema/PACK.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,20 @@
See the License for the specific language governing permissions and
limitations under the License.
$Date: 04. Jul 2022
$Revision: 1.7.10
$Date: 19. Jul 2022
$Revision: 1.7.11
$Project: Schema File for Package Description File Format Specification
Package file name convention <vendor>.<name>.<version>.pack
SchemaVersion=1.7.10
SchemaVersion=1.7.11
19. July 2022: v1.7.11
- added 'uuid' to boards element to indicate a 128-bit universal ID in the debug firmware of the board
- added 'memory' and 'algorithm' child elements to the boards element to describe board-specific memory
- added 'Bvendor', 'Bname', 'Brevision' attribute to conditions element to allow board specific filtering.
04. July 2022: v1.7.10
- added 'includeAsm', 'includeC', 'includeCpp', 'includeLd' to FileCategoryType
- added 'headerAsm', 'includeC', 'headerCpp', 'headerLd' to FileCategoryType
- added 'includeAsm', 'includeC', 'includeCpp', 'includeLd' to FileCategoryType of the components element
- added 'headerAsm', 'includeC', 'headerCpp', 'headerLd' to FileCategoryType of the components element
28. June 2022: v1.7.9
- added new section <licenseSets> supporting association of multiple license
files with one or more components
Expand Down Expand Up @@ -155,7 +159,7 @@
-->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.7.10">
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.7.11">

<!-- NonNegativeInteger specifies the format in which numbers are represented in hexadecimal or decimal format -->
<xs:simpleType name="NonNegativeInteger">
Expand Down Expand Up @@ -328,6 +332,12 @@
<xs:pattern value="(0x|0X)[0-9a-fA-F]{2}" />
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="UUID">
<xs:restriction base="xs:string">
<xs:pattern value="([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|(\{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\})"/>
</xs:restriction>
</xs:simpleType>

<!-- Processor Type -->
<xs:complexType name="ProcessorType">
Expand Down Expand Up @@ -573,7 +583,7 @@
<!-- Memory Type-->
<xs:complexType name="MemoryType">
<!-- Pname identifies the processor this setting belongs to -->
<xs:attribute name="Pname" type="RestrictedString" />
<xs:attribute name="Pname" type="RestrictedString" use="optional" />
<!-- id specifies the enumerated ID of memory (deprecated in 1.4.4) -->
<xs:attribute name="id" type="MemoryIDTypeEnum" use="optional" />
<!-- name specifies an identifier being use to refer to this memory range description (added in 1.4.4) -->
Expand Down Expand Up @@ -1189,6 +1199,9 @@
<xs:attribute name="Cvariant" type="CvariantType" />
<xs:attribute name="Cversion" type="ConditionVersionType" />
<xs:attribute name="Capiversion" type="ConditionVersionType" />
<xs:attribute name="Bvendor" type="xs:string" />
<xs:attribute name="Bname" type="xs:string" />
<xs:attribute name="Brevision" type="xs:string" />
<xs:attribute name="Tcompiler" type="CompilerEnumType" />
<!-- Toptions can only be used in combination with Tcompiler and the strings are predefined by the specification -->
<xs:attribute name="Toptions" type="CompilerOptionsEnumType" />
Expand Down Expand Up @@ -1379,7 +1392,8 @@
<xs:element name="debugInterface" type="DebugInterfaceType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="book" type="BoardsBookType" minOccurs="0" maxOccurs="unbounded" />
<!-- On-board debugger -->
<xs:element name="debugProbe" type="DebugProbeType" minOccurs="0" maxOccurs="1" />
<xs:element name="debugProbe" type="DebugProbeType" minOccurs="0" maxOccurs="1" />
<xs:element name="memory" type="MemoryType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="algorithm" type="AlgorithmType" minOccurs="0" maxOccurs="unbounded" />
</xs:choice>
</xs:group>
Expand All @@ -1391,6 +1405,7 @@
<xs:attribute name="vendor" type="xs:string" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="revision" type="xs:string" use="optional" />
<xs:attribute name="uuid" type="UUID" use="optional" />
<xs:attribute name="salesContact" type="xs:string" use="optional" />
<xs:attribute name="orderForm" type="xs:anyURI" use="optional" />
</xs:complexType>
Expand Down

0 comments on commit 5aeaabb

Please sign in to comment.