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 #70 background imageLoading...
Page #70 background image
Printf debugging AN4989
70/118 AN4989 Rev 3
Figure 49. USART2 setting with STM32CubeMX
Retargeting printf to UART depends on the toolchain.
For IAR™ EWARM and Keil
®
MDK-Arm µVISION this is done by overriding the stdio fputc
function
#include "stdio.h"
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&UartHandle, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
For GCC based toolset like STM32CubeIDE, two cases can be met.
With syscall.c integrated to the project:
#include "stdio.h"
int __io_putchar(int ch)
{

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