This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

ST STM32G0316 Discovery

Overview

The STM32G0316-DISCO Discovery kit helps to discover features of STM32G0 in SO8 package. This discovery kit offers an SO8 to DIL8 module designed with the STM32G031J6 microcontroller and allows the user to develop applications. It includes an on-board ST-LINK/V2-1 to debug and program the embedded STM32 microcontroller.

STM32G0316-DISCO

Hardware

  • STM32G031J6 Arm® Cortex®-M0+ core-based microcontroller, featuring 32 Kbytes of Flash memory and 8 Kbytes of SRAM, in an SO8 package

  • 1 user LED

  • 1 reset/user push-button

  • Individual and breakable STM32 SO8 to DIL8 module

  • ST-LINK Micro-B USB connector

  • DIL8 socket to ease programming of the STM32 MCU

  • On-board ST-LINK/V2-1 debugger/programmer

For more information about the STM32G03x SoC and the STM32G0316-DISCO board, see these ST reference documents:

Supported Features

The Zephyr stm32g0316_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

WATCHDOG

on-chip

independent watchdog

Other hardware features are not currently supported by the port.

The default configuration can be found in the defconfig file: boards/arm/stm32g0316_disco/stm32g0316_disco_defconfig

Connections and IOs

Due to the small number of I/O pins on the SO8 package, multiple die I/Os are bonded to the same package pins to maximize the number of peripherals which can be used. Care must be taken not to set two I/Os which are connected together to conflicting states (e.g. both as outputs, one low, the other high).

Default Zephyr Peripheral Mapping:

  • UART_1 TX/RX : PA9/PB7 (pins 5/1)

  • USER_PB : PA0 (pin 4)

  • LD2 : PA12 (pin 6)

Programming and Debugging

Applications for the stm32g0316_disco board configuration can be built the usual way (see Building an Application and Run an Application for more details).

Flashing

The STM32G0316-DISCO board includes an ST-LINK/V2-1 embedded debug tool interface. This interface is not yet supported by the openocd version included in the Zephyr SDK. Instead, support can be enabled on pyocd by adding “pack” support with the following pyocd command:

$ pyocd pack --update
$ pyocd pack --install stm32g031j6

Flashing an application to the STM32G0316-DISCO

Here is an example for the Blinky application.

# From the root of the zephyr repository
west build -b stm32g0316_disco samples/basic/blinky
west flash

You should see the LED blinking every second.

Debugging

You can debug an application in the usual way. Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b stm32g0316_disco samples/hello_world
west debug