STM32CubeWBA Real Time Debug

Revision as of 12:30, 3 March 2023 by Registered User
Under construction.png Coming soon
Info white.png Information
This page is not yet finished but will be soon.

1. Introduction

Debug on GPIO allows user to get real time debugging traces of the application. Debug on GPIO is present at any relevant places. It concerns:

  • Start/end of interrupt.
  • Start/end of each background process.
  • To identify specific procedure and state machine.
  • Etc.

2. Concepts

The Real Time SW Debug has a two stages pipeline architecture:

  • The Local layer:
First stage, it determines which “local signal” is linked to which “global signal”. The “Local signal association table” is responsible for the match between “local” and “global” signals.
  • The Global layer:
Second stage, it determines which “global signal” is linked to which GPIO pin. The “Global signal association table” is responsible for the match between “global” signals and GPIO Pin.
File:RTSW Debug.png
Real Time SW Debug concept

2.1. Signal selection

Debug signals are divided in different categories regarding the concerned layer:

  • System SoC signals (interrupts, system services, …).
  • Link Layer signals.
  • MAC signals.
  • Host stack signals (BLE, Open Thread, Zigbee, Matter).
  • Application signals.

As some of these layers are delivered in library format, the debug signal selection cannot be done in the SW component itself.

  • Desired signal will be selected in a general configuration file.
  • In every SW component that supports RT SW debug, all the local debugging signals are used. Regarding the global signal selection, the global signal is used or not.
Info white.png Information
Local signals in different modules can have the same ID/number

Need to associate the local signals (possibly all used) to the global ones (effectively used).

2.2. GPIO Configuration

GPIO associated to debug signal should be entirely configurable.
For optimization purposes, there is no dedicated callback for getting the associated GPIO at run time (and no registering). The goal is to reduce code size and processing time (not modify real time on tricky use cases).

Info white.png Information
Need to associate SW signal to the desired GPIO at compilation time

3. Interfaces

TBD.

4. How to

TBD.