git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13512 27425a3e-05d8-49a3-a47f-9c15f0e5edd8

This commit is contained in:
Giovanni Di Sirio 2020-04-04 08:01:46 +00:00
parent 8d5a9d64fa
commit 013ee5e609
34 changed files with 15165 additions and 21 deletions

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Code Templates -->
<code
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/common/code_snippets.xsd">
<snippets>
<snippet>
<type>thread_body</type>
<name>Empty</name>
<text><![CDATA[[#ftl]
[#macro do_code function]
return 0;
[/#macro]]]>
</text>
</snippet>
<snippet>
<type>thread_body</type>
<name>Checks for Termination</name>
<text><![CDATA[[#ftl]
[#ftl]
[#macro do_code function]
while (!chThdShouldTerminate()) {
/* Thread activity here. */
}
return 0;
[/#macro]]]>
</text>
</snippet>
<snippet>
<type>thread_body</type>
<name>Message Server</name>
<text><![CDATA[[#ftl]
[#ftl]
[#macro do_code function]
while(TRUE) {
msg_t msg, response;
msg = chMsgWait();
/* Process the message here then prepare a response. */
chMsgRelease(response);
}
return 0;
[/#macro]]]>
</text>
</snippet>
</snippets>
</code>

317
tools/ftl/libs/libcode.ftl Normal file
View File

@ -0,0 +1,317 @@
[#ftl]
[#--
ChibiOS - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012,2013,2014,2015,2016,2017,2018,
2019,2020 Giovanni Di Sirio.
This file is part of ChibiOS.
ChibiOS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
ChibiOS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
--]
<#--
-- Coding style global settings.
-->
[#assign indentation = " " /]
[#assign fields_align = 24 /]
[#assign define_value_align = 36 /]
[#assign comments_align = 48 /]
[#assign boundary = 80 /]
[#--
-- This macro generates a brief description in DoxyGen format.
--]
[#macro EmitDoxygenBrief object=[]]
[#if object.brief[0]??]
[@utils.FormatStringAsText " * @brief "
" * "
utils.WithDot(object.brief[0]?cap_first)
boundary /]
[/#if]
[/#macro]
[#--
-- This macro generates a detailed description in DoxyGen format.
--]
[#macro EmitDoxygenDetails object=[]]
[#if object.details[0]??]
[@utils.FormatStringAsText " * @details "
" * "
utils.WithDot(object.details[0]?cap_first)
boundary /]
[/#if]
[/#macro]
[#--
-- This macro generates a notes list in DoxyGen format.
--]
[#macro EmitDoxygenNotes object=[]]
[#list object.* as note]
[#if note?node_name == "note"]
[@utils.FormatStringAsText " * @note "
" * "
utils.WithDot(note[0]?cap_first)
boundary /]
[/#if]
[/#list]
[/#macro]
[#--
-- This macro generates a pre-requisites list in DoxyGen format.
--]
[#macro EmitDoxygenPrerequisites object=[]]
[#list object.* as pre]
[#if pre?node_name == "pre"]
[@utils.FormatStringAsText " * @pre "
" * "
utils.WithDot(pre[0]?cap_first)
boundary /]
[/#if]
[/#list]
[/#macro]
[#--
-- This macro generates a post-requisites list in DoxyGen format.
--]
[#macro EmitDoxygenPostrequisites object=[]]
[#list object.* as post]
[#if post?node_name == "post"]
[@utils.FormatStringAsText " * @post "
" * "
utils.WithDot(post[0]?cap_first)
boundary /]
[/#if]
[/#list]
[/#macro]
[#--
-- This macro generates a complete Doxygen documentation comment.
--]
[#macro EmitDoxygenDocumentationComment object=[]]
/**
[@code.EmitDoxygenBrief object /]
[@code.EmitDoxygenDetails object /]
[@code.EmitDoxygenPrerequisites object /]
[@code.EmitDoxygenPostrequisites object /]
[@code.EmitDoxygenNotes object /]
*/
[/#macro]
[#--
-- This macro generates the parameters description in DoxyGen format.
--]
[#macro EmitDoxygenParams params=[]]
[#list params as param]
[#local name = (param.@name[0]!"no-name")?trim /]
[#local brief = (param.@brief[0]!"")?trim /]
[#local dir = (param.@dir[0]!"boh")?trim?lower_case /]
[#if dir == "in"]
[@utils.FormatStringAsText " * @param[in] "
" * "
utils.IntelligentDot(name + " " + brief?uncap_first)
boundary /]
[#elseif dir == "out"]
[@utils.FormatStringAsText " * @param[out] "
" * "
utils.IntelligentDot(name + " " + brief?uncap_first)
boundary /]
[#elseif dir == "both"]
[@utils.FormatStringAsText " * @param[in,out] "
" * "
utils.IntelligentDot(name + " " + brief?uncap_first)
boundary /]
[#elseif dir == "boh"]
[@utils.FormatStringAsText " * @param "
" * "
utils.IntelligentDot(name + " " + brief?uncap_first)
boundary /]
[/#if]
[/#list]
[/#macro]
[#--
-- This macro generates a return description followed by a retval list
-- in DoxyGen format.
--]
[#macro EmitDoxygenReturn return=[]]
[#if return[0]?? && ((return[0].@type[0]!"void")?trim != "void")]
[#local brief = (return[0].@brief[0]!"")?trim /]
[#if brief != ""]
[@utils.FormatStringAsText " * @return "
" * "
utils.WithDot(brief?cap_first)
boundary /]
[/#if]
[#list return[0].value as value]
[#local label = (value.@name[0]!"no-val")?trim /]
[#local brief = (value.@brief[0]!"")?trim /]
[@utils.FormatStringAsText " * @retval "
" * "
utils.WithDot(label + " " + brief?uncap_first)
boundary /]
[/#list]
[/#if]
[/#macro]
[#--
-- This macro generates the inner function code (if present).
--]
[#macro EmitCode code=[]]
[#if function.code[0]?? && (function.code[0]?trim != "")]
${indentation}${function.code[0]?trim}
[/#if]
[/#macro]
[#--
-- Returns true if the module exports some functions.
--]
[#function HasPublicFunctions module=[]]
[#local flag = false /]
[#list module.function as function]
[#if (function.@visibility[0]!"private") == "public"]
[#local flag = true /]
[/#if]
[/#list]
[#return flag /]
[/#function]
[#--
-- Returns true if the module has static functions.
--]
[#function HasPrivateFunctions module=[]]
[#local flag = false /]
[#list module.function as function]
[#if (function.@visibility[0]!"private") == "private"]
[#local flag = true /]
[/#if]
[/#list]
[#return flag /]
[/#function]
[#--
-- This macro generates a function prototype from an XML "function"
-- node passed as parameter.
-- @note Does not generate the final EOL.
--]
[#macro GeneratePrototype function={}]
[#if function.return?? && function.return[0]??]
[#local rettype = (function.return[0].@type[0]!"void")?trim /]
[#else]
[#local rettype = "void" /]
[/#if]
[#local name = (function.@name[0]!"no-name")?trim /]
[#local visibility = (function.@visibility[0]!"private")?trim /]
[#if function.param?? && function.param[0]??]
[#-- If the function has parameters then generates the parameters list --]
[#local l1 = rettype + " " + name + "(" /]
[#if visibility == "private"]
[#local l1 = "static " + l1 /]
[/#if]
[#local ln = ""?right_pad(l1?length) /]
[#list function.param as param]
[#local type = (param.@type[0]!"no-type")?trim /]
[#if type?contains("$")]
[#local pstring = type?replace("$", (param.@name[0]!"no-name")?trim) /]
[#else]
[#local pstring = type + " " + (param.@name[0]!"no-name")?trim /]
[/#if]
[#local dir = (param.@dir[0]!"boh")?trim?lower_case /]
[#if dir == "in"]
[#local pstring = "const " + pstring /]
[/#if]
[#if param_index == 0]
[#local line = l1 + pstring /]
[#else]
[#if (line + ", " + pstring + " ")?length > boundary]
${line + ","}
[#local line = ln + pstring /]
[#else]
[#local line = line + ", " + pstring /]
[/#if]
[/#if]
[/#list]
${line + ")"}[#rt]
[#else]
${rettype + " " + name}(void)[#rt]
[/#if]
[/#macro]
[#--
-- This macro generates a function (and its Doxygen documentation)
-- from an XML "function" node passed as parameter.
--]
[#macro GenerateFunction function={}]
/**
[@EmitDoxygenBrief function.@brief /]
[@EmitDoxygenDetails function.details /]
[@EmitDoxygenParams function.param /]
[@EmitDoxygenReturn function.return /]
*
* @note --Implementer notes here (or remove the tag)--
* @bug --Known problems please here (or remove the tag)--
* @todo --Implement this function (then remove the tag)--
*/
[@GeneratePrototype function /] {
[#if function.code[0]??]
[#-- Makes sure to undef the do_code macro --]
[#assign inline = "[#ftl][#macro do_code function][/#macro]"?interpret /]
[@inline /]
[#-- Interprets the code within the code element --]
[#assign inline = function.code[0]?interpret /]
[@inline /]
[@do_code function /]
[#else]
${indentation}/* ${function.@name[0]!"no-name"}() Implementation here! */
[/#if]
}
[/#macro]
[#--
-- Generates the implementations for the private functions in the specified
-- module.
--]
[#macro GeneratePrivateFunctionsImplementations module]
[#list module.function as function]
[#if (function.@visibility[0]!"private") == "private"]
[@code.GenerateFunction function /]
[/#if]
[/#list]
[/#macro]
[#--
-- Generates the prototypes of the public functions in the specified
-- module.
--]
[#macro GeneratePublicFunctionsPrototypes indentation module]
[#list module.function as function]
[#if (function.@visibility[0]!"private")?trim == "public"]
${indentation}[@code.GeneratePrototype function /];
[/#if]
[/#list]
[/#macro]
[#--
-- Generates the implementations for the public functions in the specified
-- module.
--]
[#macro GeneratePublicFunctionsImplementations module]
[#list module.function as function]
[#if (function.@visibility[0]!"private") == "public"]
[@code.GenerateFunction function /]
[/#if]
[/#list]
[/#macro]

View File

@ -1,18 +1,23 @@
[#ftl] [#ftl]
[#-- [#--
ChibiOS/RT - Copyright (C) 2006..2018 Giovanni Di Sirio ChibiOS - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012,2013,2014,2015,2016,2017,2018,
2019,2020 Giovanni Di Sirio.
Licensed under the Apache License, Version 2.0 (the "License"); This file is part of ChibiOS.
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 ChibiOS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
Unless required by applicable law or agreed to in writing, software ChibiOS is distributed in the hope that it will be useful,
distributed under the License is distributed on an "AS IS" BASIS, but WITHOUT ANY WARRANTY; without even the implied warranty of
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
See the License for the specific language governing permissions and GNU General Public License for more details.
limitations under the License.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
--] --]
[#-- [#--
@ -20,7 +25,7 @@
-- The license text is indented by 4 spaces. -- The license text is indented by 4 spaces.
--] --]
[#macro EmitLicenseAsText] [#macro EmitLicenseAsText]
ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.

View File

@ -0,0 +1,34 @@
[#ftl]
[#--
ChibiOS - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012,2013,2014,2015,2016,2017,2018,
2019,2020 Giovanni Di Sirio.
This file is part of ChibiOS.
ChibiOS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
ChibiOS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
--]
[#--
-- Find and return a code template from the templates archive.
--]
[#function GetThreadCode name]
[#list doc_snippets.code.snippets.snippet as snippet]
[#if (snippet.type[0] == "thread_body") &&
((snippet.name[0]!"")?trim?lower_case == name?trim?lower_case)]
[#return snippet.text[0]!"" /]
[/#if]
[/#list]
[#return "/* Thread style not found: " + name + " */" /]
[/#function]

View File

@ -0,0 +1,145 @@
[#ftl]
[#--
ChibiOS - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012,2013,2014,2015,2016,2017,2018,
2019,2020 Giovanni Di Sirio.
This file is part of ChibiOS.
ChibiOS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
ChibiOS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
--]
[#--
-- Emits the STM32F4xx ADC driver constant configuration structures.
--]
[#macro EmitADCConfig config]
[#local cfg_name = config.name[0]?string /]
[@code.EmitDoxygenDocumentationComment config /]
const ADCConfig ${cfg_name} = {0};
[#list config.groups.group as group]
[#local grpcfg_name = group.name[0]?string /]
[@code.EmitDoxygenDocumentationComment group /]
const ADCGroupConfig ${grpcfg_name} = {
/* Circular conversion flag.*/
${group.circular[0]?string?upper_case},
/* Number of channels sampled in the conversion group.*/
${group.channels_sequence.channel?size},
/* End of conversion callback or NULL.*/
[#if group.conv_callback[0]?string?trim == ""]
NULL,
[#else]
${group.conv_callback[0]?string?trim},
[/#if]
/* Error callback or NULL.*/
[#if group.error_callback[0]?string?trim == ""]
NULL,
[#else]
${group.error_callback[0]?string?trim},
[/#if]
/* CR1 register initialization value.*/
[#local resolution = group.resolution[0]?word_list[0]?number /]
[#local cr1 = "ADC_CR1_RESOLUTION_N(" + resolution?string + ")" /]
[#local disc = group.discontinuous[0]?word_list[0]?number /]
[#if disc > 0]
[#local cr1 = cr1 + " | ADC_CR1_DISCEN" /]
[#local cr1 = cr1 + " | ADC_CR1_DISCNUM_N(" + (disc - 1)?string + ")" /]
[/#if]
${cr1},
/* CR2 register initialization value.*/
[#local exten = group.trigger_mode[0]?word_list[0]?number /]
[#local cr2 = "ADC_CR1_EXTEN_N(" + exten?string + ")" /]
[#local extsel = group.trigger_source[0]?word_list[0]?number /]
[#local cr2 = cr2 + " | ADC_CR1_EXSEL_N(" + extsel?string + ")" /]
[#if group.alignment[0]?word_list[0]?number != 0]
[#local cr2 = cr2 + " | ADC_CR2_ALIGN" /]
[/#if]
${cr2},
/* Channels sample time settings.*/
[#local smpr1 = "" /]
[#local smpr2 = "" /]
[#list group.sample_time.* as input]
[#local sinput = input?node_name]
[#if input_index < 9]
[#local smpr2 = smpr2 + "ADC_SMPR2_SMP_" + input?node_name +
"(" + input?string + ") | " /]
[#elseif input_index == 9]
[#local smpr2 = smpr2 + "ADC_SMPR2_SMP_" + input?node_name +
"(" + input?string + ")," /]
[#elseif input_index < 18]
[#local smpr1 = smpr1 + "ADC_SMPR1_SMP_" + input?node_name +
"(" + input?string + ") | " /]
[#else]
[#local smpr1 = smpr1 + "ADC_SMPR1_SMP_" + input?node_name +
"(" + input?string + ")," /]
[/#if]
[/#list]
[@utils.FormatStringAsText " " " " smpr1 80 /]
[@utils.FormatStringAsText " " " " smpr2 80 /]
/* Channels sequence.*/
[#local sqr1 = "ADC_SQR1_NUM_CH(" + group.channels_sequence?size + ")" /]
[#local sqr2 = "" /]
[#local sqr3 = "" /]
[#list group.channels_sequence.channel as channel]
[#if channel_index <= 5]
[#local sqr3 = sqr3 + "ADC_SQR3_SQ" + (channel_index + 1) +
"_N(" + channel + ")" /]
[#if channel_has_next && channel_index < 5]
[#local sqr3 = sqr3 + " | " /]
[/#if]
[#elseif channel_index <= 11]
[#local sqr2 = sqr2 + "ADC_SQR2_SQ" + (channel_index + 1) +
"_N(" + channel + ")" /]
[#if channel_has_next && channel_index < 11]
[#local sqr2 = sqr2 + " | " /]
[/#if]
[#else]
[#local sqr1 = sqr1 + " | ADC_SQR2_SQ" + (channel_index + 1) +
"_N(" + channel + ")" /]
[/#if]
[/#list]
[#-- SQR2 could be empty.--]
[#if sqr2 == ""]
[#local sqr2 = "0" /]
[/#if]
[#local sqr1 = sqr1 + "," /]
[#local sqr2 = sqr2 + "," /]
[@utils.FormatStringAsText " " " " sqr1 80 /]
[@utils.FormatStringAsText " " " " sqr2 80 /]
[@utils.FormatStringAsText " " " " sqr3 80 /]
};
[/#list]
[/#macro]
[#--
-- Emits the STM32F4xx ADC driver configuration external declarations.
--]
[#macro EmitADCConfigExtern config]
[#local cfg_name = config.name[0]?string /]
[#list config.groups.group as group]
[#local grpcfg_name = group.name[0]?string /]
[#-- Only emits the comment if there is at least a callback defined.--]
/* ADC configuration "${cfg_name}".*/
extern const ADCConfig ${cfg_name};
/* ADC conversion group "${grpcfg_name}".*/
extern const ADCGroupConfig ${grpcfg_name};
[#if group.conv_callback[0]?string?trim != ""]
void ${group.conv_callback[0]?string?trim}(ADCDriver *, adcsample_t *, size_t);
[/#if]
[#if group.error_callback[0]?string?trim != ""]
void ${group.error_callback[0]?string?trim}(ADCDriver *, adcerror_t);
[/#if]
[/#list]
[/#macro]

View File

@ -1,18 +1,23 @@
[#ftl] [#ftl]
[#-- [#--
ChibiOS/RT - Copyright (C) 2006..2018 Giovanni Di Sirio ChibiOS - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012,2013,2014,2015,2016,2017,2018,
2019,2020 Giovanni Di Sirio.
Licensed under the Apache License, Version 2.0 (the "License"); This file is part of ChibiOS.
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 ChibiOS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
Unless required by applicable law or agreed to in writing, software ChibiOS is distributed in the hope that it will be useful,
distributed under the License is distributed on an "AS IS" BASIS, but WITHOUT ANY WARRANTY; without even the implied warranty of
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
See the License for the specific language governing permissions and GNU General Public License for more details.
limitations under the License.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
--] --]
[#-- [#--

View File

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/config_settings.xsd" />
<xs:complexType name="AbstractBoardType" abstract="true">
<xs:sequence>
<xs:element name="configuration_settings"
type="ConfigurationSettingsType" maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="board_name" maxOccurs="1" minOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="board_id" maxOccurs="1" minOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="\w[\w\d_]*"></xs:pattern>
<xs:whiteSpace value="collapse"></xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="board_functions" maxOccurs="1"
minOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="__early_init" type="xs:string"
maxOccurs="1" minOccurs="0">
</xs:element>
<xs:element name="boardInit" type="xs:string"
maxOccurs="1" minOccurs="0">
</xs:element>
<xs:element name="sdc_lld_is_card_inserted"
type="xs:string" maxOccurs="1" minOccurs="0">
</xs:element>
<xs:element name="sdc_lld_is_write_protected"
type="xs:string" maxOccurs="1" minOccurs="0">
</xs:element>
<xs:element name="mmc_lld_is_card_inserted"
type="xs:string" maxOccurs="1" minOccurs="0">
</xs:element>
<xs:element name="mmc_lld_is_write_protected"
type="xs:string" maxOccurs="1" minOccurs="0">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="headers" type="headersType" maxOccurs="1"
minOccurs="0">
</xs:element>
<xs:element name="ethernet_phy" type="EthernetPHYType"
maxOccurs="1" minOccurs="0">
</xs:element>
<xs:element name="usb_phy" type="USBPHYType" maxOccurs="1"
minOccurs="0">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EthernetPHYType">
<xs:sequence>
<xs:element name="identifier" maxOccurs="1" minOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:pattern value="MII_[\w\d_]+"></xs:pattern>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="bus_type" maxOccurs="1" minOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="RMII"></xs:enumeration>
<xs:enumeration value="MII"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="headersType">
<xs:sequence>
<xs:element name="header" maxOccurs="unbounded" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minLength value="3"></xs:minLength>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="USBPHYType">
<xs:annotation>
<xs:documentation>
Kind of PHY for USB interfaces.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="bus_type" maxOccurs="1" minOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Integrated"></xs:enumeration>
<xs:enumeration value="ULPI"></xs:enumeration>
<xs:whiteSpace value="collapse"></xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32F0xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="STM32F030x4"></xs:enumeration>
<xs:enumeration value="STM32F030x6"></xs:enumeration>
<xs:enumeration value="STM32F030x8"></xs:enumeration>
<xs:enumeration value="STM32F030xC"></xs:enumeration>
<xs:enumeration value="STM32F031x6"></xs:enumeration>
<xs:enumeration value="STM32F038xx"></xs:enumeration>
<xs:enumeration value="STM32F042x6"></xs:enumeration>
<xs:enumeration value="STM32F048xx"></xs:enumeration>
<xs:enumeration value="STM32F051x8"></xs:enumeration>
<xs:enumeration value="STM32F058xx"></xs:enumeration>
<xs:enumeration value="STM32F070x6"></xs:enumeration>
<xs:enumeration value="STM32F070xB"></xs:enumeration>
<xs:enumeration value="STM32F071xB"></xs:enumeration>
<xs:enumeration value="STM32F072xB"></xs:enumeration>
<xs:enumeration value="STM32F078xx"></xs:enumeration>
<xs:enumeration value="STM32F091xC"></xs:enumeration>
<xs:enumeration value="STM32F098xx"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element
name="clocks"
maxOccurs="1"
minOccurs="1"
>
<xs:complexType>
<xs:attribute
name="HSEBypass"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="HSEFrequency"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="LSEBypass"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="LSEDrive"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:enumeration
value="3 High Drive (default)"
>
</xs:enumeration>
<xs:enumeration value="2 Medium-High Drive"></xs:enumeration>
<xs:enumeration value="1 Medium-Low Drive"></xs:enumeration>
<xs:enumeration
value="0 Low Drive (lowest consumption)"
>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="LSEFrequency"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element
name="ports"
type="portsType"
maxOccurs="1"
minOccurs="1"
>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="portsType">
<xs:sequence>
<xs:element name="GPIOA" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOB" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOC" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOD" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOE" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOF" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="board" type="STM32F0xxBoardType"></xs:element>
</xs:schema>

View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32F3xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype" minOccurs="1"
maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="STM32F301x8"></xs:enumeration>
<xs:enumeration value="STM32F302x8"></xs:enumeration>
<xs:enumeration value="STM32F302xC"></xs:enumeration>
<xs:enumeration value="STM32F302xE"></xs:enumeration>
<xs:enumeration value="STM32F303x8"></xs:enumeration>
<xs:enumeration value="STM32F303xC"></xs:enumeration>
<xs:enumeration value="STM32F303xE"></xs:enumeration>
<xs:enumeration value="STM32F318x8"></xs:enumeration>
<xs:enumeration value="STM32F328x8"></xs:enumeration>
<xs:enumeration value="STM32F334x8"></xs:enumeration>
<xs:enumeration value="STM32F358xC"></xs:enumeration>
<xs:enumeration value="STM32F373xC"></xs:enumeration>
<xs:enumeration value="STM32F378xx"></xs:enumeration>
<xs:enumeration value="STM32F398xx"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="clocks" maxOccurs="1"
minOccurs="1">
<xs:complexType>
<xs:attribute name="HSEBypass"
use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="HSEFrequency"
use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEBypass"
use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEDrive"
use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:enumeration
value="3 High Drive (default)">
</xs:enumeration>
<xs:enumeration
value="2 Medium-High Drive">
</xs:enumeration>
<xs:enumeration
value="1 Medium-Low Drive">
</xs:enumeration>
<xs:enumeration
value="0 Low Drive (lowest consumption)">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEFrequency"
use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ports" type="portsType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="portsType">
<xs:sequence>
<xs:element name="GPIOA" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1"></xs:element>
<xs:element name="GPIOB" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1"></xs:element>
<xs:element name="GPIOC" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1"></xs:element>
<xs:element name="GPIOD" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="GPIOE" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="GPIOF" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="GPIOG" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="GPIOH" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="board" type="STM32F3xxBoardType"></xs:element>
</xs:schema>

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32F4xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="STM32F401xC"></xs:enumeration>
<xs:enumeration value="STM32F401xE"></xs:enumeration>
<xs:enumeration value="STM32F405xx"></xs:enumeration>
<xs:enumeration value="STM32F407xx"></xs:enumeration>
<xs:enumeration value="STM32F410Cx"></xs:enumeration>
<xs:enumeration value="STM32F410Rx"></xs:enumeration>
<xs:enumeration value="STM32F410Tx"></xs:enumeration>
<xs:enumeration value="STM32F411xE"></xs:enumeration>
<xs:enumeration value="STM32F412Cx"></xs:enumeration>
<xs:enumeration value="STM32F412Rx"></xs:enumeration>
<xs:enumeration value="STM32F412Vx"></xs:enumeration>
<xs:enumeration value="STM32F412Zx"></xs:enumeration>
<xs:enumeration value="STM32F415xx"></xs:enumeration>
<xs:enumeration value="STM32F417xx"></xs:enumeration>
<xs:enumeration value="STM32F427xx"></xs:enumeration>
<xs:enumeration value="STM32F429xx"></xs:enumeration>
<xs:enumeration value="STM32F437xx"></xs:enumeration>
<xs:enumeration value="STM32F439xx"></xs:enumeration>
<xs:enumeration value="STM32F446xx"></xs:enumeration>
<xs:enumeration value="STM32F469xx"></xs:enumeration>
<xs:enumeration value="STM32F479xx"></xs:enumeration>
<xs:enumeration value="STM32F205xx"></xs:enumeration>
<xs:enumeration value="STM32F215xx"></xs:enumeration>
<xs:enumeration value="STM32F207xx"></xs:enumeration>
<xs:enumeration value="STM32F217xx"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="clocks" maxOccurs="1" minOccurs="1">
<xs:complexType>
<xs:attribute name="HSEBypass" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="HSEFrequency" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEBypass" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEFrequency" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="VDD" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="180"></xs:minInclusive>
<xs:maxInclusive value="360"></xs:maxInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ports" type="portsType" maxOccurs="1"
minOccurs="1">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="portsType">
<xs:sequence>
<xs:element name="GPIOA" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1"></xs:element>
<xs:element name="GPIOB" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1"></xs:element>
<xs:element name="GPIOC" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1"></xs:element>
<xs:element name="GPIOD" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="GPIOE" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="GPIOF" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="GPIOG" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="GPIOH" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="GPIOI" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="GPIOJ" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="GPIOK" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="board" type="STM32F4xxBoardType"></xs:element>
</xs:schema>

View File

@ -0,0 +1,173 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32F7xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="STM32F722xx"></xs:enumeration>
<xs:enumeration value="STM32F723xx"></xs:enumeration>
<xs:enumeration value="STM32F732xx"></xs:enumeration>
<xs:enumeration value="STM32F733xx"></xs:enumeration>
<xs:enumeration value="STM32F745xx"></xs:enumeration>
<xs:enumeration value="STM32F746xx"></xs:enumeration>
<xs:enumeration value="STM32F756xx"></xs:enumeration>
<xs:enumeration value="STM32F767xx"></xs:enumeration>
<xs:enumeration value="STM32F769xx"></xs:enumeration>
<xs:enumeration value="STM32F777xx"></xs:enumeration>
<xs:enumeration value="STM32F779xx"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="clocks" maxOccurs="1"
minOccurs="1">
<xs:complexType>
<xs:attribute name="HSEBypass"
use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="HSEFrequency"
use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEBypass"
use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEDrive"
use="required">
<xs:simpleType>
<xs:restriction
base="LSEDriveType">
<xs:enumeration
value="3 High Drive (default)">
</xs:enumeration>
<xs:enumeration
value="2 Medium-High Drive">
</xs:enumeration>
<xs:enumeration
value="1 Medium-Low Drive">
</xs:enumeration>
<xs:enumeration
value="0 Low Drive (lowest consumption)">
</xs:enumeration>
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEFrequency"
use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="VDD" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="180"></xs:minInclusive>
<xs:maxInclusive value="360"></xs:maxInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ports" type="portsType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="portsType">
<xs:sequence>
<xs:element name="GPIOA" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOB" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOC" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOD" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOE" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOF" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOG" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOH" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOI" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOJ" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOK" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="board" type="STM32F7xxBoardType"></xs:element>
<xs:simpleType name="LSEDriveType">
<xs:restriction base="xs:string"></xs:restriction>
</xs:simpleType>
</xs:schema>

View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32G0xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="STM32G070xB"></xs:enumeration>
<xs:enumeration value="STM32G071x8"></xs:enumeration>
<xs:enumeration value="STM32G071xB"></xs:enumeration>
<xs:enumeration value="STM32G081xB"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element
name="clocks"
maxOccurs="1"
minOccurs="1"
>
<xs:complexType>
<xs:attribute
name="HSEBypass"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="HSEFrequency"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="LSEBypass"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="LSEDrive"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="3 High Drive (default)"></xs:enumeration>
<xs:enumeration value="2 Medium-High Drive"></xs:enumeration>
<xs:enumeration value="1 Medium-Low Drive"></xs:enumeration>
<xs:enumeration value="0 Low Drive (lowest consumption)"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="LSEFrequency"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element
name="ports"
type="portsType"
maxOccurs="1"
minOccurs="1"
>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="portsType">
<xs:sequence>
<xs:element name="GPIOA" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOB" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOC" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOD" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOF" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="board" type="STM32G0xxBoardType"></xs:element>
</xs:schema>

View File

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32G4xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="STM32G431xx"></xs:enumeration>
<xs:enumeration value="STM32G441xx"></xs:enumeration>
<xs:enumeration value="STM32G471xx"></xs:enumeration>
<xs:enumeration value="STM32G473xx"></xs:enumeration>
<xs:enumeration value="STM32G483xx"></xs:enumeration>
<xs:enumeration value="STM32G474xx"></xs:enumeration>
<xs:enumeration value="STM32G484xx"></xs:enumeration>
<xs:enumeration value="STM32GBK1CB"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="clocks" maxOccurs="1" minOccurs="1">
<xs:complexType>
<xs:attribute name="HSEBypass" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="HSEFrequency" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEBypass" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEDrive" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="3 High Drive (default)">
</xs:enumeration>
<xs:enumeration value="2 Medium-High Drive">
</xs:enumeration>
<xs:enumeration value="1 Medium-Low Drive">
</xs:enumeration>
<xs:enumeration value="0 Low Drive (lowest consumption)">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEFrequency" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="VDD" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="180"></xs:minInclusive>
<xs:maxInclusive value="360"></xs:maxInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ports" type="portsType" maxOccurs="1"
minOccurs="1">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="portsType">
<xs:sequence>
<xs:element name="GPIOA" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOB" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOC" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOD" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOE" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOF" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOG" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="board" type="STM32G4xxBoardType"></xs:element>
</xs:schema>

View File

@ -0,0 +1,170 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32H7xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="STM32H742xx"></xs:enumeration>
<xs:enumeration value="STM32H743xx"></xs:enumeration>
<xs:enumeration value="STM32H753xx"></xs:enumeration>
<xs:enumeration value="STM32H745xx"></xs:enumeration>
<xs:enumeration value="STM32H755xx"></xs:enumeration>
<xs:enumeration value="STM32H747xx"></xs:enumeration>
<xs:enumeration value="STM32H757xx"></xs:enumeration>
<xs:enumeration value="STM32H750xx"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="clocks" maxOccurs="1"
minOccurs="1">
<xs:complexType>
<xs:attribute name="HSEBypass"
use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="HSEFrequency"
use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEBypass"
use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEDrive"
use="required">
<xs:simpleType>
<xs:restriction
base="LSEDriveType">
<xs:enumeration
value="3 High Drive (default)">
</xs:enumeration>
<xs:enumeration
value="2 Medium-High Drive">
</xs:enumeration>
<xs:enumeration
value="1 Medium-Low Drive">
</xs:enumeration>
<xs:enumeration
value="0 Low Drive (lowest consumption)">
</xs:enumeration>
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEFrequency"
use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="VDD" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace
value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="180"></xs:minInclusive>
<xs:maxInclusive value="360"></xs:maxInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ports" type="portsType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="portsType">
<xs:sequence>
<xs:element name="GPIOA" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOB" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOC" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOD" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOE" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOF" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOG" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOH" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOI" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOJ" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOK" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="board" type="STM32H7xxBoardType"></xs:element>
<xs:simpleType name="LSEDriveType">
<xs:restriction base="xs:string"></xs:restriction>
</xs:simpleType>
</xs:schema>

View File

@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32L0xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="STM32L011xx"></xs:enumeration>
<xs:enumeration value="STM32L031xx"></xs:enumeration>
<xs:enumeration value="STM32L051xx"></xs:enumeration>
<xs:enumeration value="STM32L052xx"></xs:enumeration>
<xs:enumeration value="STM32L053xx"></xs:enumeration>
<xs:enumeration value="STM32L061xx"></xs:enumeration>
<xs:enumeration value="STM32L062xx"></xs:enumeration>
<xs:enumeration value="STM32L063xx"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element
name="clocks"
maxOccurs="1"
minOccurs="1"
>
<xs:complexType>
<xs:attribute
name="HSEBypass"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="HSEFrequency"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="LSEBypass"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="LSEDrive"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="3 High Drive (default)"></xs:enumeration>
<xs:enumeration value="2 Medium-High Drive"></xs:enumeration>
<xs:enumeration value="1 Medium-Low Drive"></xs:enumeration>
<xs:enumeration value="0 Low Drive (lowest consumption)"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="LSEFrequency"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element
name="ports"
type="portsType"
maxOccurs="1"
minOccurs="1"
>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="portsType">
<xs:sequence>
<xs:element name="GPIOA" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOB" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOC" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOD" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOH" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="board" type="STM32L0xxBoardType"></xs:element>
</xs:schema>

View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32L1xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="STM32L100xB"></xs:enumeration>
<xs:enumeration value="STM32L100xBA"></xs:enumeration>
<xs:enumeration value="STM32L100xC"></xs:enumeration>
<xs:enumeration value="STM32L151xB"></xs:enumeration>
<xs:enumeration value="STM32L151xBA"></xs:enumeration>
<xs:enumeration value="STM32L151xC"></xs:enumeration>
<xs:enumeration value="STM32L151xCA"></xs:enumeration>
<xs:enumeration value="STM32L151xD"></xs:enumeration>
<xs:enumeration value="STM32L151xDX"></xs:enumeration>
<xs:enumeration value="STM32L151xE"></xs:enumeration>
<xs:enumeration value="STM32L152xB"></xs:enumeration>
<xs:enumeration value="STM32L152xBA"></xs:enumeration>
<xs:enumeration value="STM32L152xC"></xs:enumeration>
<xs:enumeration value="STM32L152xCA"></xs:enumeration>
<xs:enumeration value="STM32L152xD"></xs:enumeration>
<xs:enumeration value="STM32L152xDX"></xs:enumeration>
<xs:enumeration value="STM32L152xE"></xs:enumeration>
<xs:enumeration value="STM32L162xC"></xs:enumeration>
<xs:enumeration value="STM32L162xCA"></xs:enumeration>
<xs:enumeration value="STM32L162xD"></xs:enumeration>
<xs:enumeration value="STM32L162xDX"></xs:enumeration>
<xs:enumeration value="STM32L162xE"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element
name="clocks"
maxOccurs="1"
minOccurs="1"
>
<xs:complexType>
<xs:attribute
name="HSEBypass"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="HSEFrequency"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="LSEBypass"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="LSEFrequency"
use="required"
>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element
name="ports"
type="portsType"
maxOccurs="1"
minOccurs="1"
>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="portsType">
<xs:sequence>
<xs:element name="GPIOA" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOB" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOC" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOD" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOE" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOF" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOG" type="STM32GPIOv2PortType" maxOccurs="1" minOccurs="1"></xs:element>
<xs:element name="GPIOH" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="board" type="STM32L1xxBoardType"></xs:element>
</xs:schema>

View File

@ -0,0 +1,142 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/stm32/stm32_gpiov3_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32L4xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="STM32L432xx"></xs:enumeration>
<xs:enumeration value="STM32L443xx"></xs:enumeration>
<xs:enumeration value="STM32L452xx"></xs:enumeration>
<xs:enumeration value="STM32L471xx"></xs:enumeration>
<xs:enumeration value="STM32L475xx"></xs:enumeration>
<xs:enumeration value="STM32L476xx"></xs:enumeration>
<xs:enumeration value="STM32L485xx"></xs:enumeration>
<xs:enumeration value="STM32L486xx"></xs:enumeration>
<xs:enumeration value="STM32L496xx"></xs:enumeration>
<xs:enumeration value="STM32L4A6xx"></xs:enumeration>
<xs:enumeration value="STM32L4R5xx"></xs:enumeration>
<xs:enumeration value="STM32L4R7xx"></xs:enumeration>
<xs:enumeration value="STM32L4R9xx"></xs:enumeration>
<xs:enumeration value="STM32L4S5xx"></xs:enumeration>
<xs:enumeration value="STM32L4S7xx"></xs:enumeration>
<xs:enumeration value="STM32L4S9xx"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="clocks" maxOccurs="1" minOccurs="1">
<xs:complexType>
<xs:attribute name="HSEBypass" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="HSEFrequency" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEBypass" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEDrive" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="3 High Drive (default)">
</xs:enumeration>
<xs:enumeration value="2 Medium-High Drive">
</xs:enumeration>
<xs:enumeration value="1 Medium-Low Drive">
</xs:enumeration>
<xs:enumeration value="0 Low Drive (lowest consumption)">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEFrequency" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="VDD" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="180"></xs:minInclusive>
<xs:maxInclusive value="360"></xs:maxInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ports" type="portsType" maxOccurs="1"
minOccurs="1">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="portsType">
<xs:sequence>
<xs:element name="GPIOA" type="STM32GPIOv3PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOB" type="STM32GPIOv3PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOC" type="STM32GPIOv3PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOD" type="STM32GPIOv3PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOE" type="STM32GPIOv3PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOF" type="STM32GPIOv3PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOG" type="STM32GPIOv3PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOH" type="STM32GPIOv3PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOI" type="STM32GPIOv3PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="board" type="STM32L4xxBoardType"></xs:element>
</xs:schema>

View File

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="../common/doc.xsd" />
<xs:include schemaLocation="../common/stm32/stm32_gpiov2_port.xsd" />
<xs:include schemaLocation="abstract_board.xsd" />
<xs:complexType name="STM32L5xxBoardType">
<xs:complexContent>
<xs:extension base="AbstractBoardType">
<xs:sequence>
<xs:element name="subtype">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="STM32L552xx"></xs:enumeration>
<xs:enumeration value="STM32L562xx"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="clocks" maxOccurs="1" minOccurs="1">
<xs:complexType>
<xs:attribute name="HSEBypass" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="HSEFrequency" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEBypass" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:enumeration value="false"></xs:enumeration>
<xs:enumeration value="true"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEDrive" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:enumeration value="3 High Drive (default)">
</xs:enumeration>
<xs:enumeration value="2 Medium-High Drive">
</xs:enumeration>
<xs:enumeration value="1 Medium-Low Drive">
</xs:enumeration>
<xs:enumeration value="0 Low Drive (lowest consumption)">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="LSEFrequency" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minInclusive value="0"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="VDD" use="required">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:whiteSpace value="collapse">
</xs:whiteSpace>
<xs:minInclusive value="180"></xs:minInclusive>
<xs:maxInclusive value="360"></xs:maxInclusive>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ports" type="portsType" maxOccurs="1"
minOccurs="1">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="portsType">
<xs:sequence>
<xs:element name="GPIOA" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOB" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOC" type="STM32GPIOv2PortType"
minOccurs="1" maxOccurs="1">
</xs:element>
<xs:element name="GPIOD" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOE" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOF" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOG" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
<xs:element name="GPIOH" type="STM32GPIOv2PortType"
maxOccurs="1" minOccurs="1">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="board" type="STM32L5xxBoardType"></xs:element>
</xs:schema>

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="code">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="snippets" maxOccurs="1"
minOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="snippet"
maxOccurs="unbounded" minOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="type"
maxOccurs="1" minOccurs="1">
<xsd:simpleType>
<xsd:restriction
base="xsd:string">
<xsd:enumeration
value="thread_body">
</xsd:enumeration>
<xsd:enumeration
value="function_body">
</xsd:enumeration>
<xsd:whiteSpace
value="collapse">
</xsd:whiteSpace>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="name"
maxOccurs="1" minOccurs="1">
<xsd:simpleType>
<xsd:restriction
base="xsd:string">
<xsd:pattern
value="[\w\d\s_]+">
</xsd:pattern>
<xsd:whiteSpace
value="collapse">
</xsd:whiteSpace>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="text"
type="xsd:string" maxOccurs="1" minOccurs="1">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="ConfigurationSettingsType">
<xs:sequence>
<xs:element name="templates_path" minOccurs="1"
maxOccurs="1">
<xs:annotation>
<xs:documentation>
Templates resources associated to the
configuration.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>Path of template files inside the plugin.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1"></xs:minLength>
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:pattern value="[\w\d_/.]+"></xs:pattern>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="output_path" maxOccurs="1"
minOccurs="1">
<xs:annotation>
<xs:documentation>
Output directory relative to the configuration
file.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>Output files path relative to the .chcfg file.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1"></xs:minLength>
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:pattern value="[\w\d_/.]+"></xs:pattern>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="board_files_path" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>Final path for board files, it is used for paths inside board.mk, if not present then the default path is used by templates.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[\w\d_/.]+"></xs:pattern>
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:minLength value="1"></xs:minLength>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="hal_version" minOccurs="1"
maxOccurs="1">
<xs:simpleType>
<xs:annotation>
<xs:documentation>
HAL version, generated files may change
depending on version.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="5.0.x"></xs:enumeration>
<xs:enumeration value="4.0.x"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="NamedItem">
<xs:annotation>
<xs:documentation>
>Generic item with optional name and brief
description
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="name" maxOccurs="1" minOccurs="1">
<xs:annotation>
<xs:documentation>Name of the object.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
<xs:pattern value="\w[\w\d_]*"></xs:pattern>
<xs:minLength value="1"></xs:minLength>
<xs:maxLength value="24"></xs:maxLength>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DocumentedItem">
<xs:annotation>
<xs:documentation>>Something that can have a detailed description
attached
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="NamedItem">
<xs:sequence>
<xs:element name="brief" maxOccurs="1" minOccurs="1">
<xs:annotation>
<xs:documentation>
Brief description of the object.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"></xs:minLength>
<xs:maxLength value="72"></xs:maxLength>
<xs:whiteSpace value="collapse"></xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="details" maxOccurs="1" minOccurs="0">
<xs:annotation>
<xs:documentation>
Object documentation as text, does not preserve
formatting.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="pre" maxOccurs="unbounded" minOccurs="0">
<xs:annotation>
<xs:documentation>
Object pre-requisites as text, does not preserve
formatting.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="post" maxOccurs="unbounded" minOccurs="0">
<xs:annotation>
<xs:documentation>
Object post-requisites as text, does not preserve
formatting.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="note" maxOccurs="unbounded" minOccurs="0">
<xs:annotation>
<xs:documentation>
Object note as text, does not preserve formatting.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"></xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,214 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="STM32GPIOv2PortType">
<xs:sequence>
<xs:element
name="pin0"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin1"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin2"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin3"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin4"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin5"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin6"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin7"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin8"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin9"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin10"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin11"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin12"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin13"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin14"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin15"
type="STM32GPIOv2PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="STM32GPIOv2PinType">
<xs:annotation>
<xs:documentation>
Object representing an STM32 pin for the GPIOv2
peripheral.
</xs:documentation>
</xs:annotation>
<xs:attribute
name="ID"
use="required">
<xs:annotation>
<xs:documentation>Pin identifier, used to generate a #define with the
pin name.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="([a-zA-Z_][\w_]*\s*)*"></xs:pattern>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="Mode"
use="required">
<xs:annotation>
<xs:documentation>
Pin mode, as defined for MODER register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Input"></xs:enumeration>
<xs:enumeration value="Output"></xs:enumeration>
<xs:enumeration value="Alternate"></xs:enumeration>
<xs:enumeration value="Analog"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="Level"
use="required">
<xs:annotation>
<xs:documentation>Logic level for the ODR register.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="High"></xs:enumeration>
<xs:enumeration value="Low"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="Speed"
use="required">
<xs:annotation>
<xs:documentation>
Pin speed as defined in SPEEDR register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Minimum"></xs:enumeration>
<xs:enumeration value="Low"></xs:enumeration>
<xs:enumeration value="High"></xs:enumeration>
<xs:enumeration value="Maximum"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="Type"
use="required">
<xs:annotation>
<xs:documentation>
Pin type as defined in TYPER register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="PushPull"></xs:enumeration>
<xs:enumeration value="OpenDrain"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="Resistor"
use="required">
<xs:annotation>
<xs:documentation>
Pin pull-up/down resistor as defined in PUDR register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="PullUp"></xs:enumeration>
<xs:enumeration value="PullDown"></xs:enumeration>
<xs:enumeration value="Floating"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute
name="Alternate"
use="required">
<xs:annotation>
<xs:documentation>
Pin alternate function number, only valid if
"Alternate" is selected
in the Mode attribute.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0"></xs:minInclusive>
<xs:maxInclusive value="15"></xs:maxInclusive>
<xs:whiteSpace value="collapse"></xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,217 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="STM32GPIOv3PortType">
<xs:sequence>
<xs:element
name="pin0"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin1"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin2"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin3"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin4"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin5"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin6"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin7"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin8"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin9"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin10"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin11"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin12"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin13"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin14"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
<xs:element
name="pin15"
type="STM32GPIOv3PinType"
maxOccurs="1"
minOccurs="1"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="STM32GPIOv3PinType">
<xs:annotation>
<xs:documentation>
Object representing an STM32 pin for the GPIOv3
peripheral.
</xs:documentation>
</xs:annotation>
<xs:attribute name="ID" use="required">
<xs:annotation>
<xs:documentation>
Pin identifier, used to generate a #define with the
pin name.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation></xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="([a-zA-Z_][\w_]*\s*)*"></xs:pattern>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Mode" use="required">
<xs:annotation>
<xs:documentation>
Pin mode, as defined for MODER register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Analog"></xs:enumeration>
<xs:enumeration value="Input"></xs:enumeration>
<xs:enumeration value="Output"></xs:enumeration>
<xs:enumeration value="Alternate"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Level" use="required">
<xs:annotation>
<xs:documentation>
Logic level for the ODR register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="High"></xs:enumeration>
<xs:enumeration value="Low"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Speed" use="required">
<xs:annotation>
<xs:documentation>
Pin speed as defined in SPEEDR register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Minimum"></xs:enumeration>
<xs:enumeration value="Low"></xs:enumeration>
<xs:enumeration value="High"></xs:enumeration>
<xs:enumeration value="Maximum"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Type" use="required">
<xs:annotation>
<xs:documentation>
Pin type as defined in TYPER register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="PushPull"></xs:enumeration>
<xs:enumeration value="OpenDrain"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Resistor" use="required">
<xs:annotation>
<xs:documentation>
Pin pull-up/down resistor as defined in PUDR register.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Floating"></xs:enumeration>
<xs:enumeration value="PullUp"></xs:enumeration>
<xs:enumeration value="PullDown"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Alternate" use="required">
<xs:annotation>
<xs:documentation>
Pin alternate function number, only valid if
"Alternate" is selected in the Mode attribute.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0"></xs:minInclusive>
<xs:maxInclusive value="15"></xs:maxInclusive>
<xs:whiteSpace value="collapse"></xs:whiteSpace>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="AnalogSwitch" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Disabled"></xs:enumeration>
<xs:enumeration value="Enabled"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="PinLock" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Disabled"></xs:enumeration>
<xs:enumeration value="Enabled"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,803 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- STM32F0xx board Template -->
<board
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32f0xx_board.xsd">
<configuration_settings>
<templates_path>resources/gencfg/processors/boards/stm32f0xx/templates</templates_path>
<output_path>.</output_path>
<hal_version>5.0.x</hal_version>
</configuration_settings>
<board_name>-----human readable board name-----</board_name>
<board_id>BOARD_IDENTIFIER</board_id>
<board_functions></board_functions>
<subtype>STM32F051x8</subtype>
<clocks
HSEFrequency="8000000"
HSEBypass="false"
LSEFrequency="32768"
LSEBypass="false"
LSEDrive="3 High Drive (default)" />
<ports>
<GPIOA>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID="SWDAT"
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Alternate"
Alternate="0" />
<pin14
ID="SWCLK"
Type="PushPull"
Speed="Maximum"
Resistor="PullDown"
Level="High"
Mode="Alternate"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOA>
<GPIOB>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOB>
<GPIOC>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID="OSC32_IN"
Type="PushPull"
Speed="Maximum"
Resistor="Floating"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID="OSC32_OUT"
Type="PushPull"
Speed="Maximum"
Resistor="Floating"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOC>
<GPIOD>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOD>
<GPIOE>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOE>
<GPIOF>
<pin0
ID="OSC_IN"
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID="OSC_OUT"
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOF>
</ports>
</board>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,673 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- STM32G0xx board Template -->
<board
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32g0xx_board.xsd">
<configuration_settings>
<templates_path>resources/gencfg/processors/boards/stm32g0xx/templates</templates_path>
<output_path>.</output_path>
<hal_version>5.0.x</hal_version>
</configuration_settings>
<board_name>-----human readable board name-----</board_name>
<board_id>BOARD_IDENTIFIER</board_id>
<board_functions></board_functions>
<subtype>STM32G071xB</subtype>
<clocks
HSEFrequency="8000000"
HSEBypass="false"
LSEFrequency="32768"
LSEBypass="false"
LSEDrive="3 High Drive (default)" />
<ports>
<GPIOA>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID="SWDAT"
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Alternate"
Alternate="0" />
<pin14
ID="SWCLK"
Type="PushPull"
Speed="Maximum"
Resistor="PullDown"
Level="High"
Mode="Alternate"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOA>
<GPIOB>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOB>
<GPIOC>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID="OSC32_IN"
Type="PushPull"
Speed="Maximum"
Resistor="Floating"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID="OSC32_OUT"
Type="PushPull"
Speed="Maximum"
Resistor="Floating"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOC>
<GPIOD>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOD>
<GPIOF>
<pin0
ID="OSC_IN"
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID="OSC_OUT"
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOF>
</ports>
</board>

View File

@ -0,0 +1,929 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- STM32G4xx board Template -->
<board
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32g4xx_board.xsd">
<configuration_settings>
<templates_path>resources/gencfg/processors/boards/stm32g4xx/templates</templates_path>
<output_path>.</output_path>
<hal_version>5.0.x</hal_version>
</configuration_settings>
<board_name>-----human readable board name-----</board_name>
<board_id>BOARD_IDENTIFIER</board_id>
<board_functions></board_functions>
<subtype>STM32G474xx</subtype>
<clocks HSEFrequency="8000000" HSEBypass="false" LSEFrequency="32768"
LSEBypass="false" VDD="300" LSEDrive="3 High Drive (default)" />
<ports>
<GPIOA>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin13
ID="JTAG_TMS SWDIO"
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="Low"
Mode="Alternate"
Alternate="0" />
<pin14
ID="JTAG_TCK SWCLK"
Type="PushPull"
Speed="Maximum"
Resistor="PullDown"
Level="Low"
Mode="Alternate"
Alternate="0" />
<pin15
ID="JTAG_TDI"
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="Low"
Mode="Alternate"
Alternate="0" />
</GPIOA>
<GPIOB>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin2
ID="BOOT1"
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin3
ID="JTAG_TDO TRACESWO"
Type="PushPull"
Speed="Maximum"
Resistor="Floating"
Level="Low"
Mode="Alternate"
Alternate="0" />
<pin4
ID="JTAG_TRST"
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="Low"
Mode="Alternate"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
</GPIOB>
<GPIOC>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin14
ID="OSC32_IN"
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin15
ID="OSC32_OUT"
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
</GPIOC>
<GPIOD>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
</GPIOD>
<GPIOE>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
</GPIOE>
<GPIOF>
<pin0
ID="OSC_IN"
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin1
ID="OSC_OUT"
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
</GPIOF>
<GPIOG>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="Low"
Mode="Analog"
Alternate="0" />
</GPIOG>
</ports>
</board>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,673 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- STM32L0xx board Template -->
<board
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32l0xx_board.xsd">
<configuration_settings>
<templates_path>resources/gencfg/processors/boards/stm32l0xx/templates</templates_path>
<output_path>.</output_path>
<hal_version>5.0.x</hal_version>
</configuration_settings>
<board_name>-----human readable board name-----</board_name>
<board_id>BOARD_IDENTIFIER</board_id>
<board_functions></board_functions>
<subtype>STM32L053xx</subtype>
<clocks
HSEFrequency="8000000"
HSEBypass="false"
LSEFrequency="32768"
LSEBypass="false"
LSEDrive="3 High Drive (default)" />
<ports>
<GPIOA>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID="SWDIO"
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Alternate"
Alternate="0" />
<pin14
ID="SWCLK"
Type="PushPull"
Speed="Maximum"
Resistor="PullDown"
Level="High"
Mode="Alternate"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOA>
<GPIOB>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Maximum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOB>
<GPIOC>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID="OSC32_IN"
Type="PushPull"
Speed="Maximum"
Resistor="Floating"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID="OSC32_OUT"
Type="PushPull"
Speed="Maximum"
Resistor="Floating"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOC>
<GPIOD>
<pin0
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOD>
<GPIOH>
<pin0
ID="OSC_IN"
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="High"
Mode="Input"
Alternate="0" />
<pin1
ID="OSC_OUT"
Type="PushPull"
Speed="Minimum"
Resistor="Floating"
Level="High"
Mode="Input"
Alternate="0" />
<pin2
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin3
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin4
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin5
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin6
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin7
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin8
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin9
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin10
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin11
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin12
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin13
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin14
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
<pin15
ID=""
Type="PushPull"
Speed="Minimum"
Resistor="PullUp"
Level="High"
Mode="Input"
Alternate="0" />
</GPIOH>
</ports>
</board>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff