STM32
Inhaltsverzeichnis
STM32 Familie
Die STM32 von STMicroelectronics sind eine recht große und Leistungsstarke Familie interessanter MCUs
Sie sind anders als die Arduinos im Pro Bereich angesiedelt, kosten aber kaum mehr.
Ein Account bei my.st.com ist notwendig um an alle notwendigen Tool und Dokumentationen zu kommen.
Die STM32 Mikrocontroller ist eine sehr beliebte Mikrocontroller Familie basierend auf dem Cortex-M Kern der Firma ARM. Es gibt diese in verschiedenen Ausführungen in unterschiedlichen Gehäusen, Peripherie, Rechenleistung, Speicher und Ratings. Diese Flexibilität erlaubt es, für jedes Projekt den passenden Mikrocontroller/prozessor zu suchen, leider bedeutet es auch viel Arbeit diese zu Programmieren, da man die speziellen Eigenschaften des gerade gewählten Controllers berücksichtigen muss.
Ausgewählte Mitglieder der STM32 Famile
Werkzeuge
Tipps wenn es mal klemmt
Manchmal lässt sich der STM32 nicht flashen und verweigert den Dienst mit
Mass erase failed. Try specifying the number of pages to be erased.
Failed to erase memory
Folgende Workaround hilft
stm32flash /dev/ttyUSB0 -j
stm32flash /dev/ttyUSB0 -k
stm32flash /dev/ttyUSB0 -e 0 -w test.bin
Fehler in der CubeMX Version 4.25.0
Der von der CubeMX bereitgestellte Code für RTC ist fehlerhaft:
Die Datei rtc.c muss angepasst werden.
void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle) { if(rtcHandle->Instance==RTC) { /* USER CODE BEGIN RTC_MspInit 0 */ /* USER CODE END RTC_MspInit 0 */ // Fehlerhaft in der CobeMX 4.25.0 LL_PWR_EnableBkUpAccess(); HAL_PWR_EnableBkUpAccess(); /* Enable BKP CLK enable for backup registers */ // Fehlerhaft in der CobeMX 4.25.0 LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_BKP); __HAL_RCC_BKP_CLK_ENABLE(); /* RTC clock enable */ __HAL_RCC_RTC_ENABLE(); /* USER CODE BEGIN RTC_MspInit 1 */ /* USER CODE END RTC_MspInit 1 */ } }