Update STM32WB board naming, board configurator files and demo files

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13968 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
cinsights 2020-12-20 03:32:06 +00:00
parent ce263870a7
commit 7522cfeab5
53 changed files with 2387 additions and 1960 deletions

View File

@ -101,7 +101,7 @@ include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32wbxx.m
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/ports/STM32/STM32WBxx/platform.mk
include $(CHIBIOS)/os/hal/boards/ST_NUCLEO_WB55CG_USBDongle/board.mk
include $(CHIBIOS)/os/hal/boards/ST_NUCLEO48_WB55CG_USB/board.mk
include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk

View File

@ -101,7 +101,7 @@ include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32wbxx.m
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/ports/STM32/STM32WBxx/platform.mk
include $(CHIBIOS)/os/hal/boards/ST_NUCLEO_WB55RG/board.mk
include $(CHIBIOS)/os/hal/boards/ST_NUCLEO68_WB55RG/board.mk
include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk

View File

@ -1,55 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- STM32L4xx board Template -->
<!-- STM32WBxx board Template -->
<board
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32l4xx_board.xsd">
xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32wbxx_board.xsd">
<configuration_settings>
<templates_path>resources/gencfg/processors/boards/stm32l4xx/templates</templates_path>
<templates_path>resources/gencfg/processors/boards/stm32wbxx/templates</templates_path>
<output_path>..</output_path>
<hal_version>5.0.x</hal_version>
</configuration_settings>
<board_name>STMicroelectronics STM32 Nucleo144-L496ZG</board_name>
<board_id>ST_NUCLEO144_L496ZG</board_id>
<board_name>STMicroelectronics STM32 Nucleo48-WB55RG USB Dongle</board_name>
<board_id>ST_NUCLEO48_WB55CG_USB</board_id>
<board_functions></board_functions>
<headers></headers>
<subtype>STM32L496xx</subtype>
<clocks HSEFrequency="0" HSEBypass="false" LSEFrequency="0"
LSEBypass="false" LSEDrive="3 High Drive (default)" VDD="300" />
<subtype>STM32WB55xx</subtype>
<clocks HSEFrequency="32000000" HSEBypass="false" LSEFrequency="32768"
LSEBypass="false" LSEDrive="3 High Drive (default)" VDD="300" ></clocks>
<ports>
<GPIOA>
<pin0 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
PinLock="Disabled" Alternate="0" ID="WKUP1" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin1 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin2 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin3 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin4 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin5 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin6 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin7 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
PinLock="Disabled" Alternate="0" ID="ADC" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin2 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="LPUART1_TX" Resistor="PullUp"
Mode="Input" Level="High" />
<pin3 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="LPUART1_RX" Resistor="PullUp"
Mode="Input" Level="High" />
<pin4 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="LED_BLUE" Resistor="Floating"
Mode="Output" Level="Low" />
<pin5 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="5" ID="SPI1_SCK" Resistor="Floating"
Mode="Alternate" Level="High" />
<pin6 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="5" ID="SPI1_MISO" Resistor="Floating"
Mode="Alternate" Level="High" />
<pin7 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="5" ID="SPI1_MOSI" Resistor="Floating"
Mode="Alternate" Level="High" />
<pin8 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="10" ID="USB_SOF" Resistor="Floating"
Mode="Alternate" Level="Low" />
<pin9 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="USB_VBUS" Resistor="Floating"
PinLock="Disabled" Alternate="0" ID="" Resistor="PullUp"
Mode="Input" Level="High" />
<pin9 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin10 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="10" ID="USB_ID" Resistor="Floating"
Mode="Alternate" Level="Low" />
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin11 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="10" ID="USB_DM" Resistor="Floating"
Mode="Alternate" Level="Low" />
@ -62,44 +62,44 @@
<pin14 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="SWCLK" Resistor="PullUp"
Mode="Alternate" Level="Low" ></pin14>
<pin15 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
<pin15 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
</GPIOA>
<GPIOB>
<pin0 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin1 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin0 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="LED_GREEN" Resistor="Floating"
Mode="Output" Level="Low" />
<pin1 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="LED_RED" Resistor="Floating"
Mode="Output" Level="Low" />
<pin2 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
PinLock="Disabled" Alternate="5" ID="SPI1_NSS" Resistor="Floating"
Mode="Alternate" Level="Low" />
<pin3 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="SWO" Resistor="Floating"
Mode="Alternate" Level="Low" />
<pin4 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin5 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
<pin5 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin6 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
<pin6 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
Mode="Input" Level="Low" />
<pin7 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="LED2 LED_BLUE" Resistor="Floating"
Mode="Output" Level="Low" />
<pin8 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin9 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin10 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
Mode="Input" Level="Low" />
<pin8 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="I2C1_SCL" Resistor="PullUp"
Mode="Input" Level="High" />
<pin9 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="I2C1_SDA" Resistor="PullUp"
Mode="Input" Level="High" />
<pin10 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="BUTTON" Resistor="PullUp"
Mode="Input" Level="High" />
<pin11 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
@ -110,17 +110,17 @@
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin14 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="LED3 LED_RED" Resistor="Floating"
Mode="Output" Level="Low" />
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin15 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
</GPIOB>
<GPIOC>
<pin0 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
<pin0 Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin1 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
Mode="Analog" Level="Low" Type="PushPull"/>
<pin1 Type="Input" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin2 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
@ -131,51 +131,51 @@
Mode="Analog" Level="Low" />
<pin4 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
Mode="Analog" Level="High" />
<pin5 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin6 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
Mode="Analog" Level="High" ></pin5>
<pin6 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
Mode="Analog" Level="High" />
<pin7 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="LED1 LED_GREEN" Resistor="Floating"
Mode="Output" Level="Low" />
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="High" />
<pin8 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
Mode="Analog" Level="High" />
<pin9 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin10 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
Mode="Analog" Level="High" />
<pin10 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
Mode="Analog" Level="High" />
<pin11 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin12 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
Mode="Analog" Level="High" ></pin11>
<pin12 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin13 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="BUTTON" Resistor="Floating"
Mode="Input" Level="Low" />
Mode="Analog" Level="High" />
<pin13 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="High" />
<pin14 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
PinLock="Disabled" Alternate="0" ID="OSC32_IN" Resistor="Floating"
Mode="Input" Level="High" />
<pin15 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
PinLock="Disabled" Alternate="0" ID="OSC32_OUT" Resistor="Floating"
Mode="Input" Level="High" />
</GPIOC>
<GPIOD>
<pin0 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
Mode="Analog" Level="High" />
<pin1 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
Mode="Analog" Level="High" />
<pin2 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
Mode="Analog" Level="High" />
<pin3 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
@ -333,17 +333,17 @@
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin5 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="USB_OVER_CURRENT" Resistor="Floating"
Mode="Input" Level="Low" />
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin6 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="USB_POWER_SWITCH_ON" Resistor="Floating"
Mode="Output" Level="Low" />
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin7 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="8" ID="LPUART1_TX" Resistor="Floating"
Mode="Alternate" Level="Low" />
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin8 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="8" ID="LPUART1_RX" Resistor="Floating"
Mode="Alternate" Level="Low" />
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin9 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
@ -367,12 +367,12 @@
Mode="Analog" Level="Low" />
</GPIOG>
<GPIOH>
<pin0 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin1 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin0 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="OSC_IN" Resistor="Floating"
Mode="Input" Level="High" />
<pin1 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="OSC_OUT" Resistor="Floating"
Mode="Input" Level="High" />
<pin2 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />

View File

@ -1,281 +1,281 @@
/*
ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
* This file has been automatically generated using ChibiStudio board
* generator plugin. Do not edit manually.
*/
#include "hal.h"
#include "stm32_gpio.h"
/*===========================================================================*/
/* Driver local definitions. */
/*===========================================================================*/
/*===========================================================================*/
/* Driver exported variables. */
/*===========================================================================*/
/*===========================================================================*/
/* Driver local variables and types. */
/*===========================================================================*/
/**
* @brief Type of STM32 GPIO port setup.
*/
typedef struct {
uint32_t moder;
uint32_t otyper;
uint32_t ospeedr;
uint32_t pupdr;
uint32_t odr;
uint32_t afrl;
uint32_t afrh;
uint32_t ascr;
uint32_t lockr;
} gpio_setup_t;
/**
* @brief Type of STM32 GPIO initialization data.
*/
typedef struct {
#if STM32_HAS_GPIOA || defined(__DOXYGEN__)
gpio_setup_t PAData;
#endif
#if STM32_HAS_GPIOB || defined(__DOXYGEN__)
gpio_setup_t PBData;
#endif
#if STM32_HAS_GPIOC || defined(__DOXYGEN__)
gpio_setup_t PCData;
#endif
#if STM32_HAS_GPIOD || defined(__DOXYGEN__)
gpio_setup_t PDData;
#endif
#if STM32_HAS_GPIOE || defined(__DOXYGEN__)
gpio_setup_t PEData;
#endif
#if STM32_HAS_GPIOF || defined(__DOXYGEN__)
gpio_setup_t PFData;
#endif
#if STM32_HAS_GPIOG || defined(__DOXYGEN__)
gpio_setup_t PGData;
#endif
#if STM32_HAS_GPIOH || defined(__DOXYGEN__)
gpio_setup_t PHData;
#endif
#if STM32_HAS_GPIOI || defined(__DOXYGEN__)
gpio_setup_t PIData;
#endif
#if STM32_HAS_GPIOJ || defined(__DOXYGEN__)
gpio_setup_t PJData;
#endif
#if STM32_HAS_GPIOK || defined(__DOXYGEN__)
gpio_setup_t PKData;
#endif
} gpio_config_t;
/**
* @brief STM32 GPIO static initialization data.
*/
static const gpio_config_t gpio_default_config = {
#if STM32_HAS_GPIOA
{VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH, VAL_GPIOA_ASCR,
VAL_GPIOA_LOCKR},
#endif
#if STM32_HAS_GPIOB
{VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH, VAL_GPIOB_ASCR,
VAL_GPIOB_LOCKR},
#endif
#if STM32_HAS_GPIOC
{VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH, VAL_GPIOC_ASCR,
VAL_GPIOC_LOCKR},
#endif
#if STM32_HAS_GPIOD
{VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH, VAL_GPIOD_ASCR,
VAL_GPIOD_LOCKR},
#endif
#if STM32_HAS_GPIOE
{VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH, VAL_GPIOE_ASCR,
VAL_GPIOE_LOCKR},
#endif
#if STM32_HAS_GPIOF
{VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH, VAL_GPIOF_ASCR,
VAL_GPIOF_LOCKR},
#endif
#if STM32_HAS_GPIOG
{VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR,
VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH, VAL_GPIOG_ASCR,
VAL_GPIOG_LOCKR},
#endif
#if STM32_HAS_GPIOH
{VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH, VAL_GPIOH_ASCR,
VAL_GPIOH_LOCKR},
#endif
#if STM32_HAS_GPIOI
{VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR,
VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH, VAL_GPIOI_ASCR,
VAL_GPIOI_LOCKR},
#endif
#if STM32_HAS_GPIOJ
{VAL_GPIOJ_MODER, VAL_GPIOJ_OTYPER, VAL_GPIOJ_OSPEEDR, VAL_GPIOJ_PUPDR,
VAL_GPIOJ_ODR, VAL_GPIOJ_AFRL, VAL_GPIOJ_AFRH, VAL_GPIOJ_ASCR,
VAL_GPIOJ_LOCKR},
#endif
#if STM32_HAS_GPIOK
{VAL_GPIOK_MODER, VAL_GPIOK_OTYPER, VAL_GPIOK_OSPEEDR, VAL_GPIOK_PUPDR,
VAL_GPIOK_ODR, VAL_GPIOK_AFRL, VAL_GPIOK_AFRH, VAL_GPIOK_ASCR,
VAL_GPIOK_LOCKR}
#endif
};
/*===========================================================================*/
/* Driver local functions. */
/*===========================================================================*/
static void gpio_init(stm32_gpio_t *gpiop, const gpio_setup_t *config) {
gpiop->OTYPER = config->otyper;
gpiop->ASCR = config->ascr;
gpiop->OSPEEDR = config->ospeedr;
gpiop->PUPDR = config->pupdr;
gpiop->ODR = config->odr;
gpiop->AFRL = config->afrl;
gpiop->AFRH = config->afrh;
gpiop->MODER = config->moder;
gpiop->LOCKR = config->lockr;
}
static void stm32_gpio_init(void) {
/* Enabling GPIO-related clocks, the mask comes from the
registry header file.*/
rccResetAHB2(STM32_GPIO_EN_MASK);
rccEnableAHB2(STM32_GPIO_EN_MASK, true);
/* Initializing all the defined GPIO ports.*/
#if STM32_HAS_GPIOA
gpio_init(GPIOA, &gpio_default_config.PAData);
#endif
#if STM32_HAS_GPIOB
gpio_init(GPIOB, &gpio_default_config.PBData);
#endif
#if STM32_HAS_GPIOC
gpio_init(GPIOC, &gpio_default_config.PCData);
#endif
#if STM32_HAS_GPIOD
gpio_init(GPIOD, &gpio_default_config.PDData);
#endif
#if STM32_HAS_GPIOE
gpio_init(GPIOE, &gpio_default_config.PEData);
#endif
#if STM32_HAS_GPIOF
gpio_init(GPIOF, &gpio_default_config.PFData);
#endif
#if STM32_HAS_GPIOG
gpio_init(GPIOG, &gpio_default_config.PGData);
#endif
#if STM32_HAS_GPIOH
gpio_init(GPIOH, &gpio_default_config.PHData);
#endif
#if STM32_HAS_GPIOI
gpio_init(GPIOI, &gpio_default_config.PIData);
#endif
#if STM32_HAS_GPIOJ
gpio_init(GPIOJ, &gpio_default_config.PJData);
#endif
#if STM32_HAS_GPIOK
gpio_init(GPIOK, &gpio_default_config.PKData);
#endif
}
/*===========================================================================*/
/* Driver interrupt handlers. */
/*===========================================================================*/
/*===========================================================================*/
/* Driver exported functions. */
/*===========================================================================*/
/**
* @brief Early initialization code.
* @details GPIO ports and system clocks are initialized before everything
* else.
*/
void __early_init(void) {
stm32_gpio_init();
stm32_clock_init();
}
#if HAL_USE_SDC || defined(__DOXYGEN__)
/**
* @brief SDC card detection.
*/
bool sdc_lld_is_card_inserted(SDCDriver *sdcp) {
(void)sdcp;
/* CHTODO: Fill the implementation.*/
return true;
}
/**
* @brief SDC card write protection detection.
*/
bool sdc_lld_is_write_protected(SDCDriver *sdcp) {
(void)sdcp;
/* CHTODO: Fill the implementation.*/
return false;
}
#endif /* HAL_USE_SDC */
#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
/**
* @brief MMC_SPI card detection.
*/
bool mmc_lld_is_card_inserted(MMCDriver *mmcp) {
(void)mmcp;
/* CHTODO: Fill the implementation.*/
return true;
}
/**
* @brief MMC_SPI card write protection detection.
*/
bool mmc_lld_is_write_protected(MMCDriver *mmcp) {
(void)mmcp;
/* CHTODO: Fill the implementation.*/
return false;
}
#endif
/**
* @brief Board-specific initialization code.
* @note You can add your board-specific code here.
*/
void boardInit(void) {
}
/*
ChibiOS - Copyright (C) 2006..2020 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
* This file has been automatically generated using ChibiStudio board
* generator plugin. Do not edit manually.
*/
#include "hal.h"
#include "stm32_gpio.h"
/*===========================================================================*/
/* Driver local definitions. */
/*===========================================================================*/
/*===========================================================================*/
/* Driver exported variables. */
/*===========================================================================*/
/*===========================================================================*/
/* Driver local variables and types. */
/*===========================================================================*/
/**
* @brief Type of STM32 GPIO port setup.
*/
typedef struct {
uint32_t moder;
uint32_t otyper;
uint32_t ospeedr;
uint32_t pupdr;
uint32_t odr;
uint32_t afrl;
uint32_t afrh;
uint32_t ascr;
uint32_t lockr;
} gpio_setup_t;
/**
* @brief Type of STM32 GPIO initialization data.
*/
typedef struct {
#if STM32_HAS_GPIOA || defined(__DOXYGEN__)
gpio_setup_t PAData;
#endif
#if STM32_HAS_GPIOB || defined(__DOXYGEN__)
gpio_setup_t PBData;
#endif
#if STM32_HAS_GPIOC || defined(__DOXYGEN__)
gpio_setup_t PCData;
#endif
#if STM32_HAS_GPIOD || defined(__DOXYGEN__)
gpio_setup_t PDData;
#endif
#if STM32_HAS_GPIOE || defined(__DOXYGEN__)
gpio_setup_t PEData;
#endif
#if STM32_HAS_GPIOF || defined(__DOXYGEN__)
gpio_setup_t PFData;
#endif
#if STM32_HAS_GPIOG || defined(__DOXYGEN__)
gpio_setup_t PGData;
#endif
#if STM32_HAS_GPIOH || defined(__DOXYGEN__)
gpio_setup_t PHData;
#endif
#if STM32_HAS_GPIOI || defined(__DOXYGEN__)
gpio_setup_t PIData;
#endif
#if STM32_HAS_GPIOJ || defined(__DOXYGEN__)
gpio_setup_t PJData;
#endif
#if STM32_HAS_GPIOK || defined(__DOXYGEN__)
gpio_setup_t PKData;
#endif
} gpio_config_t;
/**
* @brief STM32 GPIO static initialization data.
*/
static const gpio_config_t gpio_default_config = {
#if STM32_HAS_GPIOA
{VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH, VAL_GPIOA_ASCR,
VAL_GPIOA_LOCKR},
#endif
#if STM32_HAS_GPIOB
{VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH, VAL_GPIOB_ASCR,
VAL_GPIOB_LOCKR},
#endif
#if STM32_HAS_GPIOC
{VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH, VAL_GPIOC_ASCR,
VAL_GPIOC_LOCKR},
#endif
#if STM32_HAS_GPIOD
{VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH, VAL_GPIOD_ASCR,
VAL_GPIOD_LOCKR},
#endif
#if STM32_HAS_GPIOE
{VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH, VAL_GPIOE_ASCR,
VAL_GPIOE_LOCKR},
#endif
#if STM32_HAS_GPIOF
{VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH, VAL_GPIOF_ASCR,
VAL_GPIOF_LOCKR},
#endif
#if STM32_HAS_GPIOG
{VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR,
VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH, VAL_GPIOG_ASCR,
VAL_GPIOG_LOCKR},
#endif
#if STM32_HAS_GPIOH
{VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH, VAL_GPIOH_ASCR,
VAL_GPIOH_LOCKR},
#endif
#if STM32_HAS_GPIOI
{VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR,
VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH, VAL_GPIOI_ASCR,
VAL_GPIOI_LOCKR},
#endif
#if STM32_HAS_GPIOJ
{VAL_GPIOJ_MODER, VAL_GPIOJ_OTYPER, VAL_GPIOJ_OSPEEDR, VAL_GPIOJ_PUPDR,
VAL_GPIOJ_ODR, VAL_GPIOJ_AFRL, VAL_GPIOJ_AFRH, VAL_GPIOJ_ASCR,
VAL_GPIOJ_LOCKR},
#endif
#if STM32_HAS_GPIOK
{VAL_GPIOK_MODER, VAL_GPIOK_OTYPER, VAL_GPIOK_OSPEEDR, VAL_GPIOK_PUPDR,
VAL_GPIOK_ODR, VAL_GPIOK_AFRL, VAL_GPIOK_AFRH, VAL_GPIOK_ASCR,
VAL_GPIOK_LOCKR}
#endif
};
/*===========================================================================*/
/* Driver local functions. */
/*===========================================================================*/
static void gpio_init(stm32_gpio_t *gpiop, const gpio_setup_t *config) {
gpiop->OTYPER = config->otyper;
gpiop->ASCR = config->ascr;
gpiop->OSPEEDR = config->ospeedr;
gpiop->PUPDR = config->pupdr;
gpiop->ODR = config->odr;
gpiop->AFRL = config->afrl;
gpiop->AFRH = config->afrh;
gpiop->MODER = config->moder;
gpiop->LOCKR = config->lockr;
}
static void stm32_gpio_init(void) {
/* Enabling GPIO-related clocks, the mask comes from the
registry header file.*/
rccResetAHB2(STM32_GPIO_EN_MASK);
rccEnableAHB2(STM32_GPIO_EN_MASK, true);
/* Initializing all the defined GPIO ports.*/
#if STM32_HAS_GPIOA
gpio_init(GPIOA, &gpio_default_config.PAData);
#endif
#if STM32_HAS_GPIOB
gpio_init(GPIOB, &gpio_default_config.PBData);
#endif
#if STM32_HAS_GPIOC
gpio_init(GPIOC, &gpio_default_config.PCData);
#endif
#if STM32_HAS_GPIOD
gpio_init(GPIOD, &gpio_default_config.PDData);
#endif
#if STM32_HAS_GPIOE
gpio_init(GPIOE, &gpio_default_config.PEData);
#endif
#if STM32_HAS_GPIOF
gpio_init(GPIOF, &gpio_default_config.PFData);
#endif
#if STM32_HAS_GPIOG
gpio_init(GPIOG, &gpio_default_config.PGData);
#endif
#if STM32_HAS_GPIOH
gpio_init(GPIOH, &gpio_default_config.PHData);
#endif
#if STM32_HAS_GPIOI
gpio_init(GPIOI, &gpio_default_config.PIData);
#endif
#if STM32_HAS_GPIOJ
gpio_init(GPIOJ, &gpio_default_config.PJData);
#endif
#if STM32_HAS_GPIOK
gpio_init(GPIOK, &gpio_default_config.PKData);
#endif
}
/*===========================================================================*/
/* Driver interrupt handlers. */
/*===========================================================================*/
/*===========================================================================*/
/* Driver exported functions. */
/*===========================================================================*/
/**
* @brief Early initialization code.
* @details GPIO ports and system clocks are initialized before everything
* else.
*/
void __early_init(void) {
stm32_gpio_init();
stm32_clock_init();
}
#if HAL_USE_SDC || defined(__DOXYGEN__)
/**
* @brief SDC card detection.
*/
bool sdc_lld_is_card_inserted(SDCDriver *sdcp) {
(void)sdcp;
/* CHTODO: Fill the implementation.*/
return true;
}
/**
* @brief SDC card write protection detection.
*/
bool sdc_lld_is_write_protected(SDCDriver *sdcp) {
(void)sdcp;
/* CHTODO: Fill the implementation.*/
return false;
}
#endif /* HAL_USE_SDC */
#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
/**
* @brief MMC_SPI card detection.
*/
bool mmc_lld_is_card_inserted(MMCDriver *mmcp) {
(void)mmcp;
/* CHTODO: Fill the implementation.*/
return true;
}
/**
* @brief MMC_SPI card write protection detection.
*/
bool mmc_lld_is_write_protected(MMCDriver *mmcp) {
(void)mmcp;
/* CHTODO: Fill the implementation.*/
return false;
}
#endif
/**
* @brief Board-specific initialization code.
* @note You can add your board-specific code here.
*/
void boardInit(void) {
}

View File

@ -1,9 +1,9 @@
# List of all the board related files.
BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO_WB55RG/board.c
# Required include directories
BOARDINC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO_WB55RG
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLINC += $(BOARDINC)
# List of all the board related files.
BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO68_WB55RG/board.c
# Required include directories
BOARDINC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO68_WB55RG
# Shared variables
ALLCSRC += $(BOARDSRC)
ALLINC += $(BOARDINC)

View File

@ -0,0 +1,420 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- STM32WBxx board Template -->
<board
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32wbxx_board.xsd">
<configuration_settings>
<templates_path>resources/gencfg/processors/boards/stm32wbxx/templates</templates_path>
<output_path>..</output_path>
<hal_version>5.0.x</hal_version>
</configuration_settings>
<board_name>STMicroelectronics STM32 Nucleo68-WB55RG</board_name>
<board_id>ST_NUCLEO68_WB55RG</board_id>
<board_functions></board_functions>
<headers></headers>
<subtype>STM32WB55xx</subtype>
<clocks HSEFrequency="32000000" HSEBypass="false" LSEFrequency="32768"
LSEBypass="false" LSEDrive="3 High Drive (default)" VDD="300" />
<ports>
<GPIOA>
<pin0 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_A3 ADC1_IN6" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin1 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_A0 ADC1_IN5" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin2 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D1 LPUART1_TX" Resistor="PullUp"
Mode="Input" Level="High" />
<pin3 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D0 LPUART1_RX" Resistor="PullUp"
Mode="Input" Level="High" />
<pin4 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D10 SPI1_NSS" Resistor="PullUp"
Mode="Input" Level="High" />
<pin5 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D13 SPI1_SCK" Resistor="PullUp"
Mode="Input" Level="High" />
<pin6 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D12 SPI1_MISO" Resistor="PullUp"
Mode="Input" Level="High" />
<pin7 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D11 SPI1_MOSI TIM1_CH1N" Resistor="PullUp"
Mode="Input" Level="High" />
<pin8 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D6 TIM1_CH1" Resistor="PullUp"
Mode="Input" Level="High" />
<pin9 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D9 TIM17_CH1" Resistor="PullUp"
Mode="Input" Level="High" />
<pin10 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D3 TIM1_CH3" Resistor="PullUp"
Mode="Input" Level="High" />
<pin11 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="10" ID="USB_DM" Resistor="Floating"
Mode="Alternate" Level="Low" />
<pin12 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="10" ID="USB_DP" Resistor="Floating"
Mode="Alternate" Level="Low" />
<pin13 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="SWDIO" Resistor="PullDown"
Mode="Alternate" Level="Low" />
<pin14 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="SWCLK" Resistor="PullUp"
Mode="Alternate" Level="Low" ></pin14>
<pin15 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D5 TIM2_CH1" Resistor="PullUp"
Mode="Input" Level="High" />
</GPIOA>
<GPIOB>
<pin0 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="LED_GREEN" Resistor="Floating"
Mode="Output" Level="Low" />
<pin1 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="LED_RED" Resistor="Floating"
Mode="Output" Level="Low" />
<pin2 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin3 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="SWO" Resistor="Floating"
Mode="Alternate" Level="Low" />
<pin4 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin5 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="LED_BLUE" Resistor="Floating"
Mode="Output" Level="Low" />
<pin6 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="7" ID="STLK_RX USART1_TX" Resistor="Floating"
Mode="Alternate" Level="High" />
<pin7 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="7" ID="STLK_TX USART1_RX" Resistor="Floating"
Mode="Alternate" Level="High" />
<pin8 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D15 I2C1_SCL" Resistor="PullUp"
Mode="Input" Level="High" />
<pin9 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D14 I2C1_SDA" Resistor="PullUp"
Mode="Input" Level="High" />
<pin10 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="TIM2_CH3" Resistor="PullUp"
Mode="Input" Level="High" />
<pin11 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin12 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin13 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin14 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="LED3 LED_RED" Resistor="Floating"
Mode="Output" Level="Low" />
<pin15 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
</GPIOB>
<GPIOC>
<pin0 Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_A0 ADC1_IN1" Resistor="Floating"
Mode="Analog" Level="Low" Type="PushPull"/>
<pin1 Type="Input" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_A1 ADC1_IN2" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin2 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_A5 ADC1_IN3" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin3 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_A4 ADC1_IN4" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin4 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="BUTTON_1" Resistor="PullUp"
Mode="Input" Level="High" />
<pin5 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" ></pin5>
<pin6 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D2" Resistor="PullUp"
Mode="Input" Level="High" />
<pin7 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin8 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin9 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin10 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D4" Resistor="PullUp"
Mode="Input" Level="High" />
<pin11 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" ></pin11>
<pin12 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D8" Resistor="PullUp"
Mode="Input" Level="High" />
<pin13 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="ARD_D7" Resistor="PullUp"
Mode="Input" Level="High" />
<pin14 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="OSC32_IN" Resistor="Floating"
Mode="Input" Level="High" />
<pin15 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="OSC32_OUT" Resistor="Floating"
Mode="Input" Level="High" />
</GPIOC>
<GPIOD>
<pin0 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="BUTTON_2" Resistor="PullUp"
Mode="Input" Level="High" />
<pin1 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="BUTTON_3" Resistor="PullUp"
Mode="Input" Level="High" />
<pin2 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin3 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin4 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin5 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin6 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin7 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin8 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin9 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin10 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin11 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin12 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin13 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin14 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin15 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
</GPIOD>
<GPIOE>
<pin0 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin1 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin2 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin3 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin4 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin5 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin6 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin7 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin8 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin9 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin10 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin11 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin12 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin13 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin14 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin15 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
</GPIOE>
<GPIOF>
<pin0 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin1 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin2 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin3 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin4 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin5 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin6 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin7 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin8 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin9 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin10 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin11 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin12 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin13 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin14 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin15 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
</GPIOF>
<GPIOG>
<pin0 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin1 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin2 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin3 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin4 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin5 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin6 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin7 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin8 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin9 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin10 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin11 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin12 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin13 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin14 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
<pin15 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Analog" Level="Low" />
</GPIOG>
<GPIOH>
<pin0 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="OSC_IN" Resistor="Floating"
Mode="Input" Level="High" />
<pin1 Type="PushPull" Speed="Maximum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="OSC_OUT" Resistor="Floating"
Mode="Input" Level="High" />
<pin2 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin3 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin4 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin5 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin6 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin7 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin8 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin9 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin10 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin11 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin12 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin13 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin14 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
<pin15 Type="PushPull" Speed="Minimum" AnalogSwitch="Disabled"
PinLock="Disabled" Alternate="0" ID="" Resistor="Floating"
Mode="Input" Level="Low" />
</GPIOH>
</ports>
</board>

View File

@ -0,0 +1,15 @@
sourceRoot: ../../../../../tools/ftl/processors/boards/stm32wbxx/templates
outputRoot: ..
dataRoot: .
freemarkerLinks: {
lib: ../../../../../tools/ftl/libs
}
data : {
doc1:xml (
board.chcfg
{
}
)
}

View File

@ -120,11 +120,11 @@
#define STM32_MSIRANGE_48M (11 << 4) /**< 48MHz nominal. */
/**
* @brief HSE SYSCLK and PLL M devider prescaler.
* @brief HSE SYSCLK and PLL M divider prescaler.
*/
#define STM32_HSEPRE_MASK (1 << 20) /**< HSEPRE mask. */
#define STM32_HSEPRE_DIV1 (0 << 20) /**< HSE devided by 1. */
#define STM32_HSEPRE_DIV2 (1 << 20) /**< HSE devided by 2. */
#define STM32_HSEPRE_DIV1 (0 << 20) /**< HSE divided by 1. */
#define STM32_HSEPRE_DIV2 (1 << 20) /**< HSE divided by 2. */
/** @} */
/**
@ -189,7 +189,45 @@
* @name RCC_EXTCFGR register bits definitions
* @{
*/
/* TODO(ilya): RFCSS, C2HPREF, SHDHPREF, C2HPRE and SHDHPRE. */
#define STM32_SHDHPRE_MASK (15 << 0) /**< SHDHPRE field mask. */
#define STM32_SHDHPRE_DIV2 (8 << 0) /**< SYSCLK divided by 2. */
#define STM32_SHDHPRE_DIV3 (1 << 0) /**< SYSCLK divided by 3. */
#define STM32_SHDHPRE_DIV4 (9 << 0) /**< SYSCLK divided by 4. */
#define STM32_SHDHPRE_DIV5 (2 << 0) /**< SYSCLK divided by 5. */
#define STM32_SHDHPRE_DIV6 (5 << 0) /**< SYSCLK divided by 6. */
#define STM32_SHDHPRE_DIV8 (10 << 0) /**< SYSCLK divided by 8. */
#define STM32_SHDHPRE_DIV10 (6 << 0) /**< SYSCLK divided by 10. */
#define STM32_SHDHPRE_DIV16 (11 << 0) /**< SYSCLK divided by 16. */
#define STM32_SHDHPRE_DIV32 (7 << 0) /**< SYSCLK divided by 32. */
#define STM32_SHDHPRE_DIV64 (12 << 0) /**< SYSCLK divided by 64. */
#define STM32_SHDHPRE_DIV128 (13 << 0) /**< SYSCLK divided by 128. */
#define STM32_SHDHPRE_DIV256 (14 << 0) /**< SYSCLK divided by 256. */
#define STM32_SHDHPRE_DIV512 (15 << 0) /**< SYSCLK divided by 512. */
#define STM32_C2HPRE_MASK (15 << 4) /**< C2HPRE field mask. */
#define STM32_C2HPRE_DIV2 (8 << 4) /**< SYSCLK divided by 2. */
#define STM32_C2HPRE_DIV3 (1 << 4) /**< SYSCLK divided by 3. */
#define STM32_C2HPRE_DIV4 (9 << 4) /**< SYSCLK divided by 4. */
#define STM32_C2HPRE_DIV5 (2 << 4) /**< SYSCLK divided by 5. */
#define STM32_C2HPRE_DIV6 (5 << 4) /**< SYSCLK divided by 6. */
#define STM32_C2HPRE_DIV8 (10 << 4) /**< SYSCLK divided by 8. */
#define STM32_C2HPRE_DIV10 (6 << 4) /**< SYSCLK divided by 10. */
#define STM32_C2HPRE_DIV16 (11 << 4) /**< SYSCLK divided by 16. */
#define STM32_C2HPRE_DIV32 (7 << 4) /**< SYSCLK divided by 32. */
#define STM32_C2HPRE_DIV64 (12 << 4) /**< SYSCLK divided by 64. */
#define STM32_C2HPRE_DIV128 (13 << 4) /**< SYSCLK divided by 128. */
#define STM32_C2HPRE_DIV256 (14 << 4) /**< SYSCLK divided by 256. */
#define STM32_C2HPRE_DIV512 (15 << 4) /**< SYSCLK divided by 512. */
#define STM32_SHDHPREF_MASK (1 << 16) /**< SHDHPREF field mask. */
#define STM32_SHDHPREF_HCLK4RDY (1 << 16) /**< SHDHPREF HCLK4 ready. */
#define STM32_C2HPREF_MASK (1 << 17) /**< C2HPREF field mask. */
#define STM32_C2HPREF_HCLK2RDY (1 << 16) /**< C2HPREF HCLK2 ready. */
#define STM32_RFCSS_MASK (1 << 20) /**< RFCSS field mask. */
#define STM32_RFCSS_HSI16 (0 << 20) /**< HSI16 on HCLK5 and APB3. */
#define STM32_RFCSS_HSEDIV2 (1 << 20) /**< HSE/2 on HCLK5 and APB3. */
/** @} */
/**
@ -197,6 +235,7 @@
* @{
*/
/* TODO(ilya): TSCEN, CRCEN, SRAM1EN, DMAMUX1, DMA2EN and DMA1EN */
#define STM32_DMA1EN_MASK (1 << 0) /**< DMA1EN field mask. */
/** @} */
/**
@ -686,7 +725,7 @@
#define STM32_LSECLK_MAX 32768
/**
* @brief Maximum LSE clock frequency.
* @brief Maximum LSE clock frequency using an external source.
*/
#define STM32_LSECLK_BYP_MAX 1000000
@ -696,7 +735,7 @@
#define STM32_LSECLK_MIN 32768
/**
* @brief Minimum LSE clock frequency.
* @brief Minimum LSE clock frequency using an external source.
*/
#define STM32_LSECLK_BYP_MIN 32768
@ -708,7 +747,7 @@
/**
* @brief Minimum PLLs input clock frequency.
*/
#define STM32_PLLIN_MIN 4000000
#define STM32_PLLIN_MIN 2660000
/**
* @brief Maximum VCO clock frequency at current voltage setting.
@ -718,7 +757,17 @@
/**
* @brief Minimum VCO clock frequency at current voltage setting.
*/
#define STM32_PLLVCO_MIN 64000000
#define STM32_PLLVCO_MIN 96000000
/**
* @brief Maximum VCO clock frequency at current voltage setting.
*/
#define STM32_PLLSAI1VCO_MAX 344000000
/**
* @brief Minimum VCO clock frequency at current voltage setting.
*/
#define STM32_PLLSAI1VCO_MIN 64000000
/**
* @brief Maximum PLL-P output clock frequency.
@ -728,7 +777,7 @@
/**
* @brief Minimum PLL-P output clock frequency.
*/
#define STM32_PLLP_MIN 2064500
#define STM32_PLLP_MIN 3000000
/**
* @brief Maximum PLL-Q output clock frequency.
@ -738,7 +787,7 @@
/**
* @brief Minimum PLL-Q output clock frequency.
*/
#define STM32_PLLQ_MIN 8000000
#define STM32_PLLQ_MIN 12000000
/**
* @brief Maximum PLL-R output clock frequency.
@ -748,7 +797,7 @@
/**
* @brief Minimum PLL-R output clock frequency.
*/
#define STM32_PLLR_MIN 8000000
#define STM32_PLLR_MIN 12000000
/**
* @brief Maximum APB1 clock frequency.
@ -789,7 +838,9 @@
#define STM32_PLLIN_MAX 16000000
#define STM32_PLLIN_MIN 4000000
#define STM32_PLLVCO_MAX 128000000
#define STM32_PLLVCO_MIN 64000000
#define STM32_PLLVCO_MIN 96000000
#define STM32_PLLSAI1VCO_MAX 128000000
#define STM32_PLLSAI1VCO_MIN 64000000
#define STM32_PLLP_MAX 26000000
#define STM32_PLLP_MIN 2064500
#define STM32_PLLQ_MAX 26000000
@ -841,7 +892,7 @@
#endif
/**
* @brief HSE prescale devider.
* @brief HSE prescale divider.
*/
#if STM32_HSEPRE_VALUE == 1
#define STM32_HSEPRE STM32_HSEPRE_DIV1
@ -1432,7 +1483,8 @@
* PLLSAI1 VCO frequency range check.
*/
#if STM32_ACTIVATE_PLLSAI1 && \
((STM32_PLLSAI1VCO < STM32_PLLVCO_MIN) || (STM32_PLLSAI1VCO > STM32_PLLVCO_MAX))
((STM32_PLLSAI1VCO < STM32_PLLSAI1VCO_MIN) || \
(STM32_PLLSAI1VCO > STM32_PLLSAI1VCO_MAX))
#error "STM32_PLLSAI1VCO outside acceptable range (STM32_PLLVCO_MIN...STM32_PLLVCO_MAX)"
#endif

View File

@ -90,9 +90,9 @@ MCU = cortex-m4
# Imported source files and paths.
CHIBIOS := ../../../..
CONFDIR := ./cfg/stm32wb55rg_nucleo64
BUILDDIR := ./build/stm32wb55rg_nucleo64
DEPDIR := ./.dep/stm32wb55rg_nucleo64
CONFDIR := ./cfg/stm32wb55rg_nucleo68
BUILDDIR := ./build/st32wb55rg_nucleo68
DEPDIR := ./.dep/st32wb55rg_nucleo68
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
@ -101,7 +101,7 @@ include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32wbxx.m
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/ports/STM32/STM32WBxx/platform.mk
include $(CHIBIOS)/os/hal/boards/ST_NUCLEO_WB55RG/board.mk
include $(CHIBIOS)/os/hal/boards/ST_NUCLEO68_WB55RG/board.mk
include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk

View File

@ -90,9 +90,9 @@ MCU = cortex-m4
# Imported source files and paths.
CHIBIOS := ../../../..
CONFDIR := ./cfg/stm32wb55rg_nucleo64
BUILDDIR := ./build/stm32wb55rg_nucleo64
DEPDIR := ./.dep/stm32wb55rg_nucleo64
CONFDIR := ./cfg/stm32wb55rg_nucleo68
BUILDDIR := ./build/st32wb55rg_nucleo68
DEPDIR := ./.dep/st32wb55rg_nucleo68
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
@ -101,7 +101,7 @@ include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32wbxx.m
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/ports/STM32/STM32WBxx/platform.mk
include $(CHIBIOS)/os/hal/boards/ST_NUCLEO_WB55RG/board.mk
include $(CHIBIOS)/os/hal/boards/ST_NUCLEO68_WB55RG/board.mk
include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk

View File

@ -90,9 +90,9 @@ MCU = cortex-m4
# Imported source files and paths.
CHIBIOS := ../../../..
CONFDIR := ./cfg/stm32wb55rg_nucleo64
BUILDDIR := ./build/st32wb55rg_nucleo64
DEPDIR := ./.dep/st32wb55rg_nucleo64
CONFDIR := ./cfg/stm32wb55rg_nucleo68
BUILDDIR := ./build/st32wb55rg_nucleo68
DEPDIR := ./.dep/st32wb55rg_nucleo68
# Licensing files.
include $(CHIBIOS)/os/license/license.mk

View File

@ -90,9 +90,9 @@ MCU = cortex-m4
# Imported source files and paths.
CHIBIOS := ../../../..
CONFDIR := ./cfg/stm32wb55rg_nucleo64
BUILDDIR := ./build/st32wb55rg_nucleo64
DEPDIR := ./.dep/st32wb55rg_nucleo64
CONFDIR := ./cfg/stm32wb55rg_nucleo68
BUILDDIR := ./build/stm32wb55rg_nucleo68
DEPDIR := ./.dep/stm32wb55rg_nucleo68
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
@ -101,7 +101,7 @@ include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32wbxx.m
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/ports/STM32/STM32WBxx/platform.mk
include $(CHIBIOS)/os/hal/boards/ST_NUCLEO_WB55RG/board.mk
include $(CHIBIOS)/os/hal/boards/ST_NUCLEO68_WB55RG/board.mk
include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk

View File

@ -90,9 +90,9 @@ MCU = cortex-m4
# Imported source files and paths.
CHIBIOS := ../../../..
CONFDIR := ./cfg/stm32wb55rg_nucleo64
BUILDDIR := ./build/st32wb55rg_nucleo64
DEPDIR := ./.dep/st32wb55rg_nucleo64
CONFDIR := ./cfg/stm32wb55rg_nucleo68
BUILDDIR := ./build/stm32wb55rg_nucleo68
DEPDIR := ./.dep/stm32wb55rg_nucleo68
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
@ -101,7 +101,7 @@ include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32wbxx.m
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/ports/STM32/STM32WBxx/platform.mk
include $(CHIBIOS)/os/hal/boards/ST_NUCLEO_WB55RG/board.mk
include $(CHIBIOS)/os/hal/boards/ST_NUCLEO68_WB55RG/board.mk
include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk

View File

@ -4,7 +4,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32wbxx_board.xsd">
<configuration_settings>
<templates_path>resources/gencfg/processors/boards/stm32l4xx/templates</templates_path>
<templates_path>resources/gencfg/processors/boards/stm32wbxx/templates</templates_path>
<output_path>.</output_path>
<hal_version>5.0.x</hal_version>
</configuration_settings>