STM32: Prüfen, ob korrekte MCU

OP #5966285
Lesenswert?

Guten Morgen,

gibt es eine einfache Möglichkeit, festzustellen, auf welche MCU eine 
Firmware geflasht wurde? Konkret will ich einen 64-pinnigen STM32F446RE 
von einem 100-pinnigen STM32F407VET unterscheiden können.

Momentan ist die einzige Variante, die mir einfällt, die folgende: Bei 
nicht-existierenden Pins wird das Eingangsregister immer als Null 
gelesen, egal wie das Ausgangsregister und die Pinkonfiguration 
eingestellt sind. Das habe ich durch ausprobieren festgestellt. Was das 
Reference Manual dazu sagt, muß ich noch prüfen. So ließe sich zumindest 
die Pinzahl prüfen. (Für meine Zwecke reicht das.)

Gibt es noch eine andere -eventuell sinnvollere - Möglichkeit?
OP #5966315
Lesenswert?

Aus der Doku der HAL-Library:

"This is supported in STM32F446 and newer and STM32F7xx. On others, 
HardFault may occur"

https://stm32f4-discovery.net/hal_api/group___t_m___i_d___macros.html#ga09814398e25cac76cf4fb9f6499425b7

Ich glaube, da ist meine Methode noch geringfügig weniger intrusiv. Aber 
es ist gut, zu lesen, daß die Frage nicht weit hergeholt ist, sondern 
sich schon Library-Hersteller damit beschäftigt haben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren