2022-05-12 10:51 AM
If I develop an application for the STM32G431VB for instance, could I drop in a different part in the series with the same footprint and equal or better feature set without retargeting/rebuilding the program? If not, would this work if I stay in the same part type (4x1, 4x3, or 4x4) with larger flash/ram memory? The idea is that given the current disaster of the supply chain, how easy is it to substitute parts in manufacturing?
2022-05-12 11:21 AM
Usually a couple of parts using the same die, check the startup.s examples in the \CMSIS\Device trees as this will show differences in the Interrupt Table, and supported peripheral set.
The CubeMX/IDE tools have a compatible part tool/lister
2022-05-13 12:04 AM
Generally, the only guaranteed perfect compatibility with only differences in memory is within models which have the same DS (well, except if they are in different packages or the same package with different pinouts, and that includes the suffixed models - e.g. which have or have not SMPS). The compatibility within a model *number* (or subfamily) is relatively good and remains still quite fair within a family. However, ST likes to throw in surprises here are there (guess how do I know)... so at the end of the day, if you want to avoid nasty surprises, you have to paintstakingly check each planned model for the features you are using.
For some families there are migration notes available.
JW