STM32L152C Discovery Board

Aus PUCONwiki
Version vom 6. September 2016, 09:13 Uhr von Wolfgang (Diskussion | Beiträge) (→‎Proprietäre IDE: KEIL uVision)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Demo- und Prototyping-Board mit
  • ARM Cortex-M3 STM32L152RCT6 embedded Processor von ST microsystems
    • extremely low power modes
    • built-in LCD controller
  • 6-digit LCD
  • Umschalte-Möglichkeit zwischen USB-Versorgung und Batteriebetrieb (CR2032, SMD-Batteriehalter muss noch hinzugefügt werden, Löt-Pads sind bereits vorhanden)
  • ST-LINK/V2 Flash programmer
    • Dieser kann versorgungsmäßig und logisch vom Rest des Boards getrennt werden, um Batterie-Versorgung sinnvoll zu nutzen
    • Durch die Möglichkeit der Trennung kann er auch für andere Target-Hardware wie ein eigenständiger ST-LINK/V2 Programmer genutzt werden
  • Hardware zur Messung der Stromaufnahme in 2 Bereichen

Ablage

  • ["file://puconnas01.fritz.box\public\Hardware\STM32L1_Discovery"]
    WICHTIG: Der Pfad zur Ablage von Software-Komponenten muss kurz gehalten werden. Zumindest mit der KEIL-MDK-ARM Entwicklungsumgebung ist aufgefallen, dass manche Pfade länger als 256 Zeichen werden und dann die Compiler die Dateien nicht finden können!

Projekte

In diesen Projekten wird STM32L152C Discovery Board eingesetzt:

Einrichten der Entwicklungsumgebung

Entwicklungs-Software-Pakete

Das Ziel war, mit frei verfügbarer Entwicklungs-Software zu arbeiten, idealerweise GNU GCC.

Das Problem mit dem STL32L1-DISCO ist allerdings, dass ST keine Konfigurationen für freie Umgebungen bereitstellt. In der Dokumentation werden nur oberflächliche Informationen für 4 nicht-freie Werkzeuge gegeben:


  • IAR Embedded Workbench® for ARM (EWARM) by IAR Systems
  • Microcontroller Development Kit for ARM (MDK-ARM) by Keil™
  • TrueSTUDIO® by Atollic
  • TASKING VX-toolset for ARM® Cortex™-M by Altium™

Versuche wurden gemachtmit:

  • STM32 System Workbench
    Website unter http://www.openstm32.org/
    gespeichert unter ["file://puconnas01\public\Software\Windows\OpenSTM32_STM32_System_Workbench"]

dieses Toolset beihnaltet keine Konfiguration für das STM32L151-DISCO

Zusätzlich gibt es noch:

Auch dieses Toolset hat allerdings keine vorbereitete Konfiguration für das STM32L1-DISCO, somit ist es keine Methode, um die Entwicklung damit zu beginnen.

Proprietäre IDE: KEIL uVision

Entwicklungs-Versuche wurden daher mit dem KEIL-Toolset begonnen:

  • KEIL uVision MDK-ARM Development IDE
    • Verschiedene Versionen im Vergleich: http://www2.keil.com/mdk5/selector
    • Zum Test die Lite-Version ausgewählt: https://www.keil.com/demo/eval/arm.htm
    • Die Installation installiert auch einen ST-LINKv2 Treiber, der über USB das Board direkt anspricht
      Dazu muss man sich registrieren, ist erfolgt mit E-mail-Adresse mailto:w.scherer@aon.at und dem übliehcn Passwort
    • Die IDE wurde auf URSOKONTOR unter C:\Keil_v5 installiert
    • Mit "Projekt > Open" kann dann im "MDK-ARM" Zweig des Verzeichnisses der #Discovery Firmware
      \\puconnas01\public\Hardware\STM32L1_Discovery\STM32L1_Discovery_Firmware\en.stsw-stm32072\STM32L-Discovery_FW_Pack\Projects\AN3413-Current_consumption_touch_sensing\MDK-ARM
      das Projekt für die Demo-Firmware geöffnet werden.
      Mit "Project > Build Target" kann die Firmware gebaut werden und mit "Flash > Download" in das Board übertragen werden. Ein RESET des Boards zeigt die Funktion
    • Um die Wirksamkeit auch zu zeigen wurde in main.c die Begrüßungs-Nachricht in der Variable "message"
      von ** 32L152CDISCOVERY ** auf ** PUCON__DISCOVERY ** bzw
      von ** STM32L1-DISCOVERY ** auf ** PUCONL1-DISCOVERY ** ausgetauscht. Das hat funktioniert.

Open-Source: GCC und STLINK-Util

"Going Open Source" bedeutet in diesem Fall eine ganze Menge an zusätzlicher Arbeit, obwohl hier schon viel Arbeit von anderen getan worden ist:

  • Die verwendeten Tools sind aus #GeofB2012, allerdings mit folgenden Unterschieden:
    • Wir wollen Windows als Entwicklungsplattform, #GeofB2012 gibt die Anleitung für Linux
    • Die Beispiele in #GeofB2012 sind für ein STM32F4-Discovery Board, wir haben ein STM32L152-Discovery Board
    • Wir wollen die mit dem Boad gelieferte Demo-Software wieder herstellen können, wie wir das mit der KEIL-IDE machen konnten

Einige Schritte und verwendete Software-Produkte müssen daher verändert werden.

Die Vorgehensweise für eine Windows-basierende GCC-Entwicklungsumgebung für das SRM32L152-Discovery Board sind daher:

<<< to be continued >>>

Hersteller-Informationen

Software-Komponenten

Discovery Firmware

Kompoenenten-Library

Siehe auch

  • Iteadmaple - ein STM32F103-basierendes Arduino-Form-Factor Microcontroller Board. Der STM32F1xx ist ein Verwandter des STM32L1xx, der nicht auf Low-Power sondern auf High-Performance ausgelegt ist