What are the use cases of the STM32CubeMX cross selector tool?
1. Introduction
One of the many features that STM32CubeMX embeds is the cross-tool selector which we’ll be focusing on in this article and discussing one of its use cases.
The cross-selector tool is a tool embedded in the STM32CubeMX that allows users to review, compare and find products within the STM32 portfolio that best replaces your current MCU or MPU, whether that be from ST or other silicon vendors.
To access the cross-selector tool, start on the home screen of the STM32CubeMX application. Under the New Project section, select from any one of the following icons: access to MCU selector, access to board selector or access to example selector.
Once you’ve selected one of the new project icons, navigate to the last tab (cross selector) on the pop-up window:
There are several valuable use cases for this cross-selector tool, namely the following:
- Use this tool to help you find similar STM32 parts
- If planning to migrate over to a new part, you can do a side-by-side comparison over a wide range and variety of features available per each STM32
- ST offers prototyping development boards but unfortunately, we don’t have development boards available for every STM32 MCU. Therefore, you can use this cross-selector tool to find similar MCUs to the one you plan to do your build with and locate a matching prototyping board.
For those interested in items 1 and 2 in the above list, please review the published article we have on those topics here: How to compare different STM32 part numbers using the cross-selection tool of STM32CubeMXIn this article, we’ll be focusing on the last item on the list – how to use the cross-selector tool and board selector tool in STM32CubeMX to review the list of available ST development boards.There are three flavors of prototyping boards that ST offers: the Nucleo board, the discovery kit, and the evaluation board. ST’s tools for evaluation of the STM32 MCUs range from highly affordable community enabled tools to fully equipped boards, ready for evaluation of every single feature of the selected STM32 family.
2. The Nucleo Board
The Nucleo Boards follow a lean approach and are ideal for prototyping and community usage. All of the MCU’s I/Os are easily accessible, and come in three pin count variations: 32-pins, 64-pins and 144 pins.
3. The Discovery Kit
The Discovery Kits are cost effective evaluation boards bringing the needed infrastructure for specific device characteristics demonstration.
4. The Evaluation Board
The Evaluation Board allows customers to build a complete platform suitable for demonstration or application development. This high-end evaluation platform brings all the required STM32 interfaces in one: hardware and software. With this type of flexibility, it makes application design easy.
5. The Cross Selector Tool
In this article, we will use the STM32 part number STM32F765IGK6 as an example. We will first try to find a readily available ST board with this MCU mounted on. However, if that is not available then we will look for a ST hardware development board with a comparable MCU to our selected STM32, the STM32F765IGK6.
Step 1. Navigate to the board selector tool, under the New Project section in STM32CubeMX.
Step 2. Start typing the part number in the Commercial Part Number field, and you should see a list of available boards with the STM32F7 populate. Scan the populated list to see if the STM32 part number you’ve entered matches any of ST’s existing hardware boards.
Step 3. If a board on the populated list matches the STM32 part number you’ve entered, congratulations! Your journey ends here.
However, if any of the boards on the populated list don’t match the STM32 part number entered, then we will continue on to find a comparable board to begin application development and prototyping.
Step 4. Fortunately, although STM32 part numbers may vary and have slightly different features (e.g. memory capacity, one less communication peripheral such as 3 SPIs vs 2 SPIs, package type, etc.) – for the most part it is quite easy to migrate from one STM32 to another.
To find another comparable STM32 to the one you are using, start by navigating to the cross selector tab from the same window opened in step 3.
Step 5. Click on the – All Vendors – drop down menu, and select STMicroelectronics.
Step 6. Enter in your STM32 part number in the second search box below and select the part number from the populated list.
Step 7. Below the Part Number Search section, you will see a list of other comparable STM32 part numbers and their similarities in terms of a match percentage.
On the left-hand side of the Part Number Search and Matching ST Candidates sections, you will see a chart comparing the STM32 part number you’ve selected with it’s similar STM32 part number candidates. In this chart, you will find details and comparisons between the various features pertaining to each unique STM32.
This chart is dynamic, so you can include or exclude certain features that are important to you and your use case. To do so, simply toggle the button under the “Used?” category.
By default, the top three similar part numbers are selected for comparison. However, you also have the ability to do a comparison to other STM32 part numbers with less of a percentage match. To do so, select and highlight one or more part numbers you’d like to see comparisons for.
Step 8. Make note of the top 3 matching ST candidates. In this case, the part numbers closest to our selected STM32F765IGK6 are:
- STM32F767IGKx
- STM32F765IIKx
- STM32F767IIKx
Step 9. With these comparable STM32 part numbers handy, repeat step 2. Once again, we will select the board selector tab and enter in the STM32 part number “F767” which is the first match on Matching ST candidates list from the previous step.
Congratulations! Although there are no ST hardware boards that match our STM32 part number exactly, we’ve found a similar enough board to kick start the application development process and prototyping.
6. Relevant Documentation and Links
STM32CubeMX is a graphical tool that allows users to configure STM32 MCUs (microcontrollers) and MPUs (microprocessors) quickly and simply. In addition, the tool also assists in generating the corresponding initialization C code for the Arm Cortex-M core(s) or partial Linux device tree for Arm Cortex-A cores.