STM32

Aus IoT Usergroup
Zur Navigation springen Zur Suche springen

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 */
  }
}

Anleitungen

Software