blob: b528f22adc92712d0089851ef7bc8a7980bed9a7 [file] [log] [blame]
.. _stm32f0_disco_board:
ST STM32F0 Discovery
####################
Overview
********
The STM32F0 Discovery development board uses an STM32F051R8T6 MCU and
integrates the ST-LINK/V2-1 debugger and programmer. It also comes with a
comprehensive STM32 software HAL library and various packaged software
examples.
.. image:: img/stm32f0_disco.jpg
:align: center
:alt: STM32F0DISCOVERY
More information about the board can be found at the `STM32F0DISCOVERY website`_.
Hardware
********
The STM32 Discovery board features:
- STM32F051R8T6 microcontroller featuring 64 KB Flash memory, 8 KB RAM in an
LQFP64 package
- On-board ST-LINK/V2 with selection mode switch to use the kit as a standalone
ST-LINK/V2 (with SWD connector for programming and debugging)
- Board power supply: through USB bus or from an external 5 V supply voltage
- External application power supply: 3 V and 5 V
- Four LEDs:
- LD1 (red) for 3.3 V power on
- LD2 (red/green) for USB communication
- LD3 (green) for PC9 output
- LD4 (blue) for PC8 output
- Two push buttons (user and reset)
- Extension header for all LQFP64 I/Os for quick connection to prototyping board
and easy probing
- An additional board is provided which can be connected to the extension
connector for even easier prototyping and probing.
- Comprehensive free software including a variety of examples, part of
STM32CubeF0 package or STSW-STM32049 for legacy Standard Libraries usage
More information about STM32F051R8 can be found in the `STM32F0x8 reference manual`_.
Supported Features
==================
The Zephyr stm32f0_disco board configuration supports the following hardware features:
+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial port-polling; |
| | | serial port-interrupt |
+-----------+------------+-------------------------------------+
| PINMUX | on-chip | pinmux |
+-----------+------------+-------------------------------------+
| GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+
| CLOCK | on-chip | reset and clock control |
+-----------+------------+-------------------------------------+
| FLASH | on-chip | flash memory |
+-----------+------------+-------------------------------------+
| WATCHDOG | on-chip | independent watchdog |
+-----------+------------+-------------------------------------+
Other hardware features are not yet supported in this Zephyr port.
The default configuration can be found in the defconfig file:
``boards/arm/stm32f0_disco/stm32f0_disco_defconfig``
Connections and IOs
===================
Each of the GPIO pins can be configured by software as output (push-pull or open-drain), as
input (with or without pull-up or pull-down), or as peripheral alternate function. Most of the
GPIO pins are shared with digital or analog alternate functions. All GPIOs are high current
capable except for analog inputs.
Default Zephyr Peripheral Mapping:
----------------------------------
- UART_1_TX : PA9
- UART_1_RX : PA10
- UART_2_TX : PA2
- UART_2_RX : PA3
For mode details please refer to `STM32F0DISCOVERY board User Manual`_.
Programming and Debugging
*************************
Applications for the ``stm32f0_disco`` board configuration can be built and
flashed in the usual way (see :ref:`build_an_application` and
:ref:`application_run` for more details).
Flashing
========
STM32F0DISCOVERY board includes an ST-LINK/V2-1 embedded debug tool interface.
This interface is supported by the openocd version included in the Zephyr SDK.
Flashing an application to Nucleo F030R8
----------------------------------------
Here is an example for the :ref:`blinky-sample` application.
.. zephyr-app-commands::
:zephyr-app: samples/basic/blinky
:board: stm32f0_disco
:goals: build flash
You will see the LED blinking every second.
Debugging
=========
You can debug an application in the usual way. Here is an example for the
:ref:`blinky-sample` application.
.. zephyr-app-commands::
:zephyr-app: samples/basic/blinky
:board: stm32f0_disco
:maybe-skip-config:
:goals: debug
References
**********
.. target-notes::
.. _STM32F0DISCOVERY website:
http://www.st.com/en/evaluation-tools/stm32f0discovery.html
.. _STM32F0x8 reference manual:
http://www.st.com/resource/en/reference_manual/dm00031936.pdf
.. _STM32F0DISCOVERY board User Manual:
http://www.st.com/resource/en/user_manual/dm00050135.pdf