EasyManua.ls Logo

STMicroelectronics STM32 User Manual

STMicroelectronics STM32
118 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #51 background imageLoading...
Page #51 background image
AN4989 Rev 3 51/118
AN4989 Breaking and stepping into code
117
5 Breaking and stepping into code
This chapter provides users with highlights about a few points affecting system behavior at
code break.
5.1 Debug support for timers, RTC, watchdog, BxCAN and I
2
C
During a breakpoint, it is necessary to choose how the counter of timers, RTC and
watchdog should behave:
They can continue to count inside a breakpoint. This is usually required when a PWM is
controlling a motor, for example.
They can stop counting inside a breakpoint. This is required for watchdog purposes.
For the BxCAN, the user can choose to block the update of the receive register during a
breakpoint.
For the I
2
C, the user can choose to block the SMBUS timeout during a breakpoint.
Those options are accessible in DBGMCU freeze registers (DBGMCU_APB1FZR1,
DBGMCU_APB1FZR2) which can be written by the debugger under system reset.
If the debugger host does not support these features, it is still possible to write these
registers by software.
Refer to Appendix A: Managing DBGMCU registers on page 95 to find suitable ways to
handle debug options depending on IDEs and needs.
5.2 Debug performance
To save flashing time and improve debugger reactivity when stepping, make sure that the
higher SWD frequency possible is used with the probe.
When using IAR™ EWARM, or Keil
®
MDK-Arm µVISION speed is set at speed is set at
1.8
MHz by default. On system with a core clock greater than 1 MHz, it is safe to use the
highest 4
MHz SWD speed.

Table of Contents

Questions and Answers:

STMicroelectronics STM32 Specifications

General IconGeneral
SeriesSTM32
Clock FrequencyUp to 480 MHz
ArchitectureARM
CoreARM Cortex-M0, ARM Cortex-M0+, ARM Cortex-M3, ARM Cortex-M4, ARM Cortex-M7, ARM Cortex-M33
Program Memory TypeFlash
Operating Voltage1.62V ~ 3.6V
Operating Temperature-40°C ~ 125°C
PeripheralsGPIO, Timers, ADC, DAC, UART, SPI, I2C, USB, Ethernet, CAN, DMA, RTC, CRC, RNG, Cryptography, LCD, SDIO, Quad-SPI, FMC

Summary

Foreword

General Information

Document applicability to STM32 Arm Cortex MCUs and branding notes.

Software Versions

Lists specific tool versions used for examples in the note.

Acronyms

Glossary of technical terms and abbreviations used in the document.

STM32 Ecosystem Outlines

Hardware Development Tools

Overview of ST-LINK probes and debugger interfaces.

Software Development Tools

Introduction to IDEs, compilers, and ST tools for STM32.

Embedded Software

Describes HAL, LL APIs, middleware, and code examples.

Information and Sharing

Guides to STM32 resources like documentation, wiki, GitHub, and community.

Compiling for Debug

Optimization

Discusses code optimization impact on debugging and suggests settings.

Debugging Information

Explains the role of debugging information and its options in IDEs.

Connecting to the Board

SWD/JTAG Pinout

Details SWD pin mapping and usage on STMicroelectronics hardware.

Reset and Connection Mode

Reviews reset and connection modes for ST-LINK debuggers.

Low-Power Case

Addresses debug connection loss in low-power modes and DBGMCU register use.

Breaking and Stepping into Code

Debug Support for Timers, RTC, Watchdog, BxCAN and I2C

Explains how timers and peripherals behave during breakpoints.

Debug Performance

Advises on optimizing SWD frequency for better debugger reactivity.

Secure Platform Limitation

Covers RDP and PCROP protection features and their debug implications.

Exception Handling

Default Weak Handlers

Explains default handler behavior and debugging strategies for exceptions.

Custom Handlers

Shows how to generate custom exception handler templates using STM32CubeMX.

Trapping div/0 Exception

Provides methods to trap division-by-zero errors on Cortex-M.

Printf Debugging

STM32 Virtual COM Port Driver

Describes using STM32 Virtual COM port via ST-LINK for printf.

Printf via UART

Explains how to redirect printf output through UART.

Printf via SWO/SWV

Details using Serial Wire Output (SWO) for printf debugging.

Semihosting

Explains the semihosting mechanism for I/O via debugger.

Debug Through Hardware Exploration

Easy Pinout Probing with STMicroelectronics Hardware Kits

Discusses pin access on ST hardware kits.

Microcontroller Clock Output (MCO)

Guides on configuring MCO for clock signal output and measurement.

Dual-Core Microcontroller Debugging

From Debug to Release

Troubleshooting

Appendix A: Managing DBGMCU Registers

By Software

Explains setting DBGMCU registers using HAL and LL functions.

By Debugger

Covers accessing DBGMCU registers through debugger interfaces or scripts.

Appendix B: Use Nucleo “Cuttable” ST-LINK as Stand-Alone VCP

Appendix C: Managing Various Targets on the Same PC

Appendix D: Cortex®-M Debug Capabilities Reminder

Application Notes Index

Lists related application notes for further reading.

Related product manuals