Ich habe einige Erfahrung mit Arduino, aber für eines der Geräte möchte ich etwas mit mehr Leistung (RAM/CPU-Leistung) verwenden.
Ich habe schon herausgefunden, dass einige STM32F4 oder STM32F7 Modelle wirklich mit was ich brauche, da ich jedoch keine Erfahrung habe, habe ich ein (sehr billiges) STM32F103C8TT6 Evaluation Board gekauft.
Ich habe es noch nicht, aber ich lese Informationen darüber. Ich bin auf mbed gestoßen, was eine sehr einfache Möglichkeit zu sein scheint, es zu programmieren.
In der Liste der Boards sehe ich jedoch keine Evaluierungsboards, hauptsächlich NUCLEOs oder Discovery-Versionen.
Kann man es noch verwenden? (z. B. durch Auswahl des 'ähnlichen' NUCLEO F103RB' oder unterstützt mbed nur NUCLEOs (und viele andere ARM-Core-Geräte)?
Der Grund dafür ist, dass, wenn das Evaluierungsboard mbed nicht unterstützt, es keine wirklich gute Alternative ist, um zu versuchen, ob ich mbed später trotzdem auf der eigentlichen STM32-Version verwenden kann, die ich möchte.
Ja, du kannst. Sie können ein neues Projekt basierend auf NUCLEO F103RB erstellen und dann die vorkompilierte Bibliothek durch Quellen ersetzen. Dann können Sie in den Quellen Pin-Mappings neu definieren, um sie an Ihr spezifisches Board anzupassen. Bitte beachten Sie, dass ich dies nicht für STM-MCUs getan habe, aber vor ~ 2 Jahren habe ich es für mein benutzerdefiniertes nRF51-Board zum Laufen gebracht.
Die Idee ist, dass die MCU mit allen internen Peripheriegeräten gleich bleibt, Sie haben nur Pins, die etwas anders verdrahtet sind. Zusätzliche Änderungen können erforderlich sein, wenn Ihr Board eine andere Taktquelle hat.
Ja, jemand hat eine Bibliothek für mbed erstellt, die die notwendige Taktinitialisierung und Pin-Definitionen für den STM32F103C8 enthält. Informationen und ein "Hello World"-Beispiel finden Sie hier:
https://developer.mbed.org/users/hudakz/code/STM32F103C8T6_Hello/
Um die vom mbed-Online-Compiler erstellte Firmware-Binärdatei auf das Board zu flashen, benötigen Sie einen USB-zu-Seriell-Adapter und verwenden dann das Programm stm32flash , um den Upload durchzuführen. Der USB-zu-Seriell-Adapter wird mit den Pins PA_9 und PA_10 (seriell 1) 3V3 und GND verbunden. Setzen Sie dann Pin BOOT0 auf HIGH und drücken Sie Reset, um den integrierten seriellen Bootloader zu aktivieren und den Upload zu starten:
stm32flash -w my_firmware.bin -v -g 0x /dev/ttyUSB0
Sie können auch ein anderes STM-Board mit einer ST-Link-Schnittstelle verwenden, um die Firmware zu flashen, aber das habe ich noch nicht ausprobiert.
Es gibt auch einen Bootloader , mit dem Sie DFU verwenden können, aber ich konnte ihn noch nicht zum Laufen bringen.
Chris Stratton
Michel Keijzers