Ich verwende derzeit Keil, um für ein STM32-Discovery-Board zu entwickeln. Mein Projekt ist fast fertig und ich möchte zu einer Linux-basierten Entwicklungsumgebung wechseln. Ich habe das vorkonfigurierte Flash-Tool und die STLink-Treiber für Windows verwendet, um das Board zu flashen, und ich habe keil bekommen, um eine bin-Datei zu exportieren, die ich mit qSTLink2 auf meinem Linux-Computer flashen konnte . So weit, ist es gut.
Jetzt stecke ich fest, um den Prozess des Aufbaus des gesamten Projekts zu verschieben. Speziell:
Wie portiere ich meine .uvproj-Datei in ein Makefile und berücksichtige dabei Dinge wie die Startdatei „startup_stm32l1xx_md.s“?
Habe es geschafft. Ich dachte, ich würde meine Ergebnisse teilen, damit andere sie verwenden können. Danke für eure Zeit, alle.
Ich habe diese ARM-Toolchain verwendet , um mein Projekt zu erstellen, und die texane/stlink- Bibliothek, die mit dem ./st-flash
Tool geliefert wird, um die Binärdatei auf meinen STM32L1 zu flashen. Obwohl texane/stlink mit GDB geliefert wird, habe ich festgestellt, dass ich den Bau- und Flashprozess ohne GDB erledigen kann.
Mein Makefile sah am Ende so aus. Es ist nicht sehr hübsch oder abstrakt, aber es erledigt die Arbeit.
all:
arm-none-eabi-gcc -T stm32l1xx.ld -mthumb -mcpu=cortex-m3 -D STM32L1XX_MD -D USE_STDPERIPH_DRIVER startup_stm32l1xx_md.s system_stm32l1xx.c main.c [ sources ] -lm --specs=nosys.specs -o Project.elf
In welchem:
arm-none-eabi-gcc
-T stm32l1xx.ld
-mthumb -mcpu=cortex-m3
-D STM32L1XX_MD -D USE_STDPERIPH_DRIVER
startup_stm32l1xx_md.s
system_stm32l1xx.c main.c [ sources ]
-lm
Math.h
( L ib Math )--specs=nosys.specs
_exit
.-o Project.elf
stm32l1xx.ld
Datei?Es gibt eine Gnu ARM-Toolchain (arm-none-eabi) und angeblich funktioniert openOCD mit gdb (obwohl ich das unter Win7 nicht realisieren konnte - openOCD verbindet sich mit einem STM32F4disco-Board OK, aber gdb hat Probleme mit der Verbindung zu openOCD ).
Wenn Sie hier ein wenig stöbern, finden Sie Links zur Toolchain, zu openOCD und zu Beispielprojekten, die die Startquelle enthalten.
PeterJ
Ignacio Vazquez-Abrams
Lg102
Harfner
Lg102