Dienstag, 9. September 2014

Ein STM32F103 Board für 4€

Liebe Entwickler,

neben meinem STM32F4 Discovery habe ich mir bei Aliexpress.com einige STM32F103C8T6-Boards bestellt und in Betrieb genommen. 5 davon bleiben beim günstigsten Händlerincl. Versandkosten unter der magischen 22€-Zollgrenze. Eine Suche mit "STM32F103C8T6 board" + "Show Price per Piece" + Sortieren nach Preis sollte Euch schnell zum Ziel führen. Ich habe hier bestellt.

Es ist schon genial, was sich mit diesen Boards zum Stückpreis von etwa 4€ anstellen lässt. 32bit, 72MHz, 64kb Flash, 20kB Ram, viele IOs, ADC, RTC, USB und diverse Timer lassen jeden Arduino echt alt aussehen:-) Leider ist der Community-Support noch ungleich schlechter - doch daran möchte ich zusammen mit vielen anderen ja arbeiten.

Traditionell schwierig ist es natürlich, von den Chinesen vernünftige Datenblätter zu bekommen. Einer der unzähligen Händler für dieses Board bietet glücklicherweise einen Link zu einem Datenblatt an. Zur Sicherheit habe ich das Datenblatt hier auf meinen SVN hochgeladen.

Für die STM32F1-Reihe bietet ST noch keine CubeMX-Firmware an. Zu kritisch ist das allerdings nicht - auch die als "Standard Peripherial Library" (SPL) hat genug zu bieten. Die von mir beschriebene Toolchain nutzt das Gnuarmeclipse-Plugin und dieses hat die SPL für den STM32F1 direkt integriert. Die Erstellung eines neuen Projektes ist also komplett menügeführt und ohne händisches Einbindung von Header-Dateien oder das Setzen von DEFINES möglich.

Zum Programmieren und Debuggen dieser Boards bieten die Chinesen Nachbauten des STLinkV2 an. Ich habe diese nicht ausprobiert. Statt dessen verwende ich mein STM32F4-Discovery hierfür. Das klappt in der Regel sehr gut. Manchmal jedoch scheint sich das Konstrukt irgendwie aufzuhängen. In diesen Fällen nutze ich das STM32 ST-Link Utility (siehe meine Toolchain), verbinde mich mit dem Target und führe ein "Erase All" durch. Danach konnte ich immer wieder weiter arbeiten. Die Verkabelung gestaltet sich nicht weiter schwer.

  1. Die beiden Jumper CN3 entfernen ("ST-LINK DISCOVERY")
  2. 4 Leitungen verbinden, nämlich:

STM32F4-Discovery Signal STM32F103-Board
P2.5 oder 6 3V 3V3
CN2.2 SWCLK CLK
CN2.3 GND GND
CN2.4 SWDIO DIO

In Eclipse ist für OpenOCD die folgende Einstellung bei "Config Options" erforderlich:
-f interface/stlink-v2.cfg -f target/stm32f1x_stlink.cfg



Keine Kommentare:

Kommentar veröffentlichen