on
2021-12-20
3:04 AM
- edited on
2025-03-17
7:21 AM
by
Laurids_PETERSE
In this two-part article we will cover several main areas of focus when conducting a self-review of a custom STM32 schematic and share some hardware debugging tips.
If you haven’t yet reviewed the first part of this article, we highly encourage you to begin there. You can find part one here.
In total, there are seven key areas to consider when conducting your STM32 schematic review:
In part two we’ll wrap up this STM32 self-review series by covering sections V through VII and conclude with sharing some debugging tips and tricks.
During your review, it’s important to check that the proper boot configuration is selected. We will take the STM32F746 as an example, the boot modes table for this specific device can be found in the reference manual. Using this table, we see that the configuration of the BOOT0 pin and the boot base address programmed in BOOT_ADD0 or BOOT_ADD1 will determine whether the device boots from internal flash or the system bootloader. If choosing to boot from the system bootloader, we would then need to reference AN2606 to review the list of supported peripherals that can be used to update the internal flash when booting from the system bootloader.
Each STM32 series is unique and may have different mappings for system memory, therefore it's always a good idea to double check that you are using the proper IOs for system memory. another point to consider, is that some STM32 devices may have a BOOT1 pin and fixed boot addresses. For example, the STM32F103 has both a BOOT0 and BOOT1 pin. These two pins' states combination will determine whether the STM32 boots from main flash memory, system memory or embedded SRAM. As a rule of thumb, always refer to your respective STM32 device's reference manual and corresponding AN2606 section for further details.
This is a simplified diagram of the reset circuit inside the STM32, however newer parts may have revised this internal circuit so always make sure to double check your STM32’s datasheet.
The NRST pin is a bidirectional pin; this means that you have the option of resetting the STM32 from an external source or this pin can also generate a result pulse output whenever there is an internal reset. With that in mind, here are some points to consider:
The STM32s have the capability to support pins that are 5V-tolerant. As each device is unique, we always recommend to double check 5V-tolerant capability on the pin(s) you plan to interface with any external 5V logic.
Start by locating the abbreviation used to indicate a pin’s 5V tolerance. This information may be present in the datasheet in the pin definition table as a footnote or separately in the legend and abbreviation table. Here, we see that FT stands for 5V tolerance. Looking at the pin definition table, there is an I/O level column that helps us in identifying if the pin is 5V tolerant.
Please remember to consider the following points when interfacing your STM32 with external components and 5V logic.
Since this article was posted in 2021, ST has released the STLINK-V3PWR which specializes in power consumption measurement, with sufficient accuracy even in low-power modes.