Inhaltsverzeichnis
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.
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.
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-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.
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.
Die Demonstrator GUI sollte die MCU nun erkennen.
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.
USB-Kabel an die Black Pill anstecken.
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