Hier sammel ich kleine Codeschnipsel und Kommandozeilen, die bei der Arbeit mit STM32 BluePill Boards unter Linux aufkamen.
Ich benutze meist einen ST-Link V2 Clone.
Intel HEX mit ST-Link programmieren
st-flash --reset --format ihex write program.hex
CMake Toolchain in Visual Studio Code angeben
Leider funktioniert die Compiler Kit Auswahl nicht immer.
Bei Problemen die Autodetektion auswählen und in den settings.json des Projektes das Toolchainfile angeben:
"cmake.configureArgs": [ "-DCMAKE_TOOLCHAIN_FILE=/home/marndt/Projects/STM32_BluePill/arm-cmake-toolchains/arm-gcc-toolchain.cmake" ],
launch.json für Visual Studio Code mit OpenOCD
Der .elf Name muss angepasst werden.
"configurations": [
{
"cwd": "${workspaceRoot}",
"executable": "${workspaceRoot}/build/mein-programm.elf",
"name": "Debug with OpenOCD",
"request": "launch",
"type": "cortex-debug",
"servertype": "openocd",
"configFiles": [ "interface/stlink-v2.cfg","target/stm32f1x.cfg"],
"searchDir": [],
"runToEntryPoint": "main",
"preLaunchCommands": [],
"showDevDebugOutput": "none",
"svdFile": "STM32F103xx.svd",
}
.elf file mit OpenOCD hochladen und starten
Den .elf Namen entsprechend anpassen, das Binary startet und OpenOCD läuft nicht weiter:
openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c "program cortexm3-blinky.elf verify reset exit"
Aktuellen arm-none-eabi-gdb aus Sourcen compilieren
- gdb-x.y.z.tar.zx runterladen
- auspacken
- mit Buildverzeichnis erstellen
- mkdir build-gdb
- cd build-gdb
- ../$GDB/configure –target=$TARGET –prefix=$PREFIX –enable-interwork –enable-multilib —–with-python
- make
- make install
Beim Bau ohne Buildverzeichnis passiert alles mögliche, also im jungfräulich ausgepackten Verzeichnis arbeiten.
Und das Bauen dauert seine Zeit. Ich musste noch die Pakete texinfo und libgmp-dev nachinstallieren.