In one of our projects, we use an STM32L071 MCU in an LQFP48 package. It exposes GPIO port pins PA0 to PA15, PB0 to PB15 and PC13 to PC15 on the pins of the package.
The LQFP48 package doesn't expose GPIO port pins PC0 to PC12. But I can still program these pins; they are available in the GPIO registers. These pins are exposed when, for instance, using an LQFP64 package.
How are these non-exposed GPIO pins connected internally in the package? Is their 'hardware' present in the die of the MCU or are the GPIO registers not connected to anything?
I would expect that they use the same die for several packages to limit the amount of different dies they have to make or is each die made for a specific package?
If non-exposed GPIO pins are not initialised, they default to 'analog mode', so the input Schmitt-trigger is disabled. This prevents additional sleep current for these 'floating' pins.