Wären ARM Mikrocontroller schon vor Jahren so populär und billig wie heute gewesen,
dann wäre ich wohl direkt vom 68HC11 auf ARM umgestiegen
und hätte den AVR übersprungen.
Obwohl ich - vom 68000er her kommend - auch den 68HC11 schon einen ziemlichen Krampf fand...
Unter Arch Linux installiert man sich einfach die vier Pakete
und hat dann eine Toolchain, die stets auf dem neuesten Stand ist. Zum flashen und debuggen braucht man noch entweder stlink oder openocdUnd zu guter Letzt braucht man noch die CMSIS Header für den jeweiligen Controller. Diese findet man auf der Webseite von ST, zum Beispiel für die STM32F0 Familie heisst die Datei STM32CubeF0 (da ist auch die HAL library enthalten, wer die benutzen möchte...)
Inzwischen hat STM die Dateien auch auf GitHub, z.B. für die STM32G0 Familie unter https://github.com/STMicroelectronics/STM32CubeG0/. Dort dann das Unterverzeichnis Drivers/CMSIS wählen.
Für Arch Linux habe ich mir hier PKGBUILDs für Pakete der CMSIS Header gebaut.
Damit auch nicht-root user Zugriff auf den stlink erhalten, legt man eine udev Regel an:
Pin | Signal | Bemerkung |
---|---|---|
1 | Vdd Target | Target Board könnte damit ST-Link speisen - nicht benötigt |
2 | SW_CLK | SWD CLK, muss bei F030 an PA14 |
3 | GND | |
4 | SW_DATA | SDW DATA, muss bei F030 an PA13 |
5 | nRST | RESET für Target MCU |
6 | SWO | Serial Wire Output vom Target, unterstützen aber nicht alle |