2017-05-24 12:04 PM
I have two different boards that both use an STM32F303, same memory size, but one of our boards uses a VCT7 (100pin) and the other uses an RCT7 (64pin).
I am looking for a way to tell if it is the 64pin opr the 100pin type. Unfortunately, the boards are already designed and have different firmware but I want to make sure that the firmware for one board doesn't run on the other. Unfortunately the IDs returned by HAL_GetDEVID and HAL_GetREVID match on both boards.
I thought of using the Unique ID (reading the 96bits in UID_BASE) but it's not very clear in the documentation if any part of the number identifies the type of chip. In the few different boards I used, there are some bits (the second 32bit part) that are equal in the 100pin and different for the 64pin boards, but we can't be sure.
Is there any further information on these values that I could expect to be always the same given a specific package?
Or, is the package encoded anywhere else? Or am I out of luck and have to find some PIN/PAD that would identify one of my boards vs the others?
2017-05-24 01:04 PM
I guess the reason for bigger package is for a need of more GPIOs. If some of these extra IOs have pull-ups or pull-down or are grounded, they could be tested vs not connected in a package?
2017-05-24 04:20 PM
The f303 doesn't seem to have one, but some other stm32 chips (L4, F4, F7 at least) have a Package Data Register that describes the package size
2017-05-24 06:59 PM
some other stm32 chips (L4, F4, F7 at least) have a Package Data Register
Any pointers?
JW
2017-05-24 07:04 PM
Listed in the reference manuals right after flash size register under the section with Unique Identifier
2017-05-24 07:07 PM
Thanks.
When read your post I immediately went to RM0090 (the mid-range 'F4, the oldest ones of all that bunch) and found nothing.
So guess this is a relatively new feature.
JW
2017-05-24 07:08 PM
Oh, and those bits are marked as rw...