Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:blackpill:start

Black Pill

Das ist der Name einer kleinen schwarz lackierten Platine die derzeit1) in China für kaum mehr als einen US$ zu haben ist, also spottbillig für europäische Verhältnisse. Sie ist als Starter-Kit für den STM32F103C8T6 32-bit ARM M3 Microcontroller gedacht und für Steckbretter ausgelegt. Die BlackPill ist etwas breiter als die Blue Pill, und hat Befestigungs-Löcher, damit man sie besser irgendwo einbauen kann.

So, und wie kriege ich da nun ein Forth rein? Nimm Mecrsip-Stellaris und gut!
Mecrisp Stellaris Unofficial UserDoc

Es gibt schon etliche Seiten, auf denen das Board beschreiben wird. U.a. diese kompakt gehaltene: Explore the Black Pill.

Warum dann noch eine Seite darüber? Damit das lästige Suchen entfält. „…Wie ging das noch mal, das Mecrisp-Stellaris in die Black Pill zu bekommen und dann via USB anzusprechen?“

JC2) hatte das gleich Problem: Enabling USB on a Blue Pill. Dort hab ich einiges abgeguckt und gelernt wie es für die Black Pill gehen könnte. Anders sind eigentlich nur die Möglichkeiten der Spannungsversorgung. Und ich brauchte kein ST-Link für die Programmierung, ein USB-Serieller-Wandler mit RX/TX an den Pins A9/A10 tuts nämlich auch. Hier ist erklärt warum: Video : Programming STM32 Für die Blue Pill geht das ja auch so, wie wir schon herausgefunden hatten: Blue Pill flashen. In der Docu zum mecrisp-stellaris ist auch beschreiben wie das geht, allerdings für Linux-Benutzer.

USB-Mecrsip-Stellaris laden; Windows 7

Man nehme die Black Pill.

Nur die Stiftleisten muss man noch einlöten, dann kann man die Platine auf dem Steckbrett betreiben.

Black Pill im Antistatik-Versandbeutel, bestückt; die Stiftleisten sind dabei, aber noch nicht eingelötet.

Stecke die Jumper richtig fürs Brennen.

Stift B0 muss H-Pegel erhalten:

B0 mit B0+ verbinden.

Stift B1 muss L-Pegel erhalten:

B1 mit B1- verbinden.

Jumper settings to program the chip; Black Pill top view.

USB-Seriellen-Wandler an die Black Pill stöpseln.

USB-Serieller-Wandler mit 3.3V

Wenn man einen USB-Seriellen-Wandler hat, der schon 3.3V abgibt, ist es einfach.

Pin V3 -- 3,3V
Pin G  -- Gnd
Pin A9 und A10 auf der neu angelöteten Stiftleiste -- TX/RX (ausprobieren wie herum die gehören) 

USB-Ser 3.3V zum brennen des Chips

USB-Serieller-Wandler mit 5V

Wenn man nur 5V USB-Serielle-Wandler hat (PL2303 TA USB TTL RS232 Convert Serial Cable), kann man die 3.3V auch von der Black Pill selbst gewinnen. Einfach ein zweites USB-Kabel an den USB-Ministecker anstecken. Die 5V vom USB-Seriellen-Wandler werden dann nicht verbunden . Dann TX/RX richtig anschließen, s.o. Die beiden Massen der Kabel verbinden zum Potentioalausgleich.
Schwarz: USB für 5V --> 3.3V am Chip. Blau: USB-ser für RX/TX.

Reihenfolge beachten: Erst den USB-Seriellen-Wandler in den USB-Port stecken. Windows bestätigt, dass es den erkannt hat. Diese COM-Port-Nummer wird im Programmer benötigt. Dann das USB-Kabel an die Black Pill stecken. Diese Verbindung wird von Windows jetzt mit einer Fehlermeldung quittiert, denn der Chip bootet ja nicht regulär, weil die Programmier-Jumper gesteckt sind. Ist ok so, dieses zweite Kabel soll ja nur die 3,3V liefern.

Noch eine andere Lösung an die 3.3V zu kommen

Oder man benutzt nur einen USB-Port am PC als Stromquelle mit einen USB-seriellen-Wandler 5V daran. Dann muss eine externe Spannungswandlung dazwischen, denn die 5V vom USB-Anschluß der Black Pill sind nicht auf eine Stift herausgeführt, und man kann den bordeigenen Spannungswandler nicht so ohne weiteres Strom von außen zuführen, das ist eng verbaut. Daher habe ich einen Gleichspannungsregler dazwischen geben, einen LM2596 DC-DC.

USB-Ser 5V mit Spanungsregler dazwischen zum brennen des Chips Regler

Die Demonstrator GUI sollte die MCU nun erkennen.

ST Flash Demonstrator GUI 0 ST Flash Demonstrator GUI 1 ST Flash Demonstrator GUI 2

USB-common.bin in den Chip brennen.

Jeelab hat der MCU bereits einen USB-Treiber spendiert und ins Mecrisp-Stellaris integriert. Und das Image davon als USB-common.bin hinterlegt. Du brauchst also nur noch deren Datei flashen. Die aktuelle Version der usb-common.bin lässt sich hoffentlich direkt aus der Quelle beziehen. Sonst ist die Datei auch hier hinterlegt, aber natürlich eingefroren auf den heutigen Stand3): usb-common.zip

USB-Seriellen-Wandler abbauen und die Jumper umstecken!

Er wird nun nicht mehr benötigt. Black Pill stromlos machen, alle USB-Kabel abziehen. Dann alle Wandler-Leitungen von der Black Pill abnehmen. Die Jumper müssen nun auch wieder zurückgesteckt werden, damit die MCU nun ihr System botet, das ja nun Forth ist.

Jumper Position für den Systemstart. Jumper Position für den Systemstart.

USB-Kabel an die Black Pill anstecken.

Damit ist Mecrisp in der Black Pill betriebsbereit.

Black Pill am USB-Port

Reset Blue Pill

Mit TeraTerm die Verbindung zum Forth aufnehmen.

Deinen USB-Port auswählen an dem die Black Pill steckt. Mecrisp-Stellaris4) läuft mit 115200 Baud.

Fertig.

USB-Mecrsip-Stellaris laden; Windows 10

Sollte genauso funktionieren. Bitte um Rückmeldung.

USB-Mecrsip-Stellaris laden; Windows XP

„Natuerlich funktioniert das alles mit Windows XP! Man kann die Pill auch mit XP flashen, mit all den gleichen Tools, kein Unterschied!“ Dirk :-) (Stand Nov. 2017)

Viel Vergnügen, Michael

1)
11/2017
2)
„Jee“ stands for JC's Environmental Electronics, a blog maintained by Jean-Claude Wippler.
3)
3. Nov. 2017
4)
Mecrisp-Stellaris by Matthias Koch, runs on various ARM Cortex M chips.
projects/blackpill/start.txt · Zuletzt geändert: 2017-11-05 01:56 von mka