Forum: Projekte & Code STM32 Makefile Projekt Linux


von Franz (Gast)


Lesenswert?

Hallo Leute!

Ich wollte euch hier nur kurz mein STM32 Makefile Projekt vorstellen. Es 
handelt sich dabei um Template Projekte für das STM32F1 Discovery Board 
und für das STM32F4 Discovery Bord. Das jeweilige Projekt kann ganz 
einfach unter Linux in der Shell, komplett ohne IDE, kompiliert werden.

Alles was ihr dazu benötigt ist eine ARM Bare Metal Crosstoolchain (z.B: 
https://launchpad.net/gcc-arm-embedded) und eine Programmer Software um 
den µC zu flashen (https://github.com/texane/stlink)

Das Projekt kann dann ganz einfach mittels

'make'

gebaut werden.

Mit

'make flash_stlink'

wird das Projekt gebaut und anschließend gleich in den Mikrocontroller 
geflasht.

Ich habe darauf geachtet, dass die Makefiles nach Kategorie aufgeteilt 
werden. Es gibt beispielsweise die Datei "makefile_std_lib.mk" wo 
definiert ist, wie die STM32 STD Standard Peripheral Library gebaut 
werden soll. Wenn beispielsweise eine weitere Lib hinzugefügt werden 
soll, kann ganz einfach nach dem gleichen Prinzip eine weitere *.mk 
datei hinzugefügt werden.

Wenn ihr Lust habt könnt ihr euch das Projekt mal anschauen, und 
Feedback geben. Ihr könnt natürlich gerne auch Fragen dazu stellen. Bei 
Bedarf kann ich außerdem eine Version mit FreeRTOS anbieten.

Danke, lg,
Franz

STM32F1:
https://github.com/franzflasch/stm32f1_makefile_project_template

STM32F4:
https://github.com/franzflasch/stm32f4_makefile_project_template

von temp (Gast)


Lesenswert?

Du hast dir ja viel Mühe gemacht, aber bei deinen Start/Linker-Scripts 
fehlt der Aufruf von __libc_init_array() damit das auch c++ fähig ist. 
Die Mühe würde ich mir jedenfalls noch machen, damit das universell 
wird.

von Fabian G. (kjion) Benutzerseite


Lesenswert?

Du solltest dir noch mal die Lizenzen der Dateien anschauen die du dort 
verwendest. Zum Beispiel im Linkerscript stehen so Sachen wie: 
"Distribution of this file (unmodified or modified) is not permitted."

von Franz (Gast)


Lesenswert?

temp schrieb:
> Du hast dir ja viel Mühe gemacht, aber bei deinen
> Start/Linker-Scripts
> fehlt der Aufruf von __libc_init_array() damit das auch c++ fähig ist.
> Die Mühe würde ich mir jedenfalls noch machen, damit das universell
> wird.

Wegen lizenzrechtlicher Probleme muss ich wohl sowieso auf ein anderes 
Linkerscript umsteigen.

Fabian G. schrieb:
> Du solltest dir noch mal die Lizenzen der Dateien anschauen die du
> dort
> verwendest. Zum Beispiel im Linkerscript stehen so Sachen wie:
> "Distribution of this file (unmodified or modified) is not permitted."

Danke für den Hinweis! Wegen den diversen Lizenzen hatte ich sowieso 
meine Bedenken beim Hochladen. Ich werde versuchen Ersatz zu finden.

Lg,
Franz

von Franz (Gast)


Lesenswert?

Habe das linkerscript beim STM32F1 mit diesem hier ersetzt:
https://github.com/bjornfor/stm32-test

Das funktioniert und sollte keine lizenzrechtliche Probleme mehr machen. 
Für den STM32F4 muss ich es noch anpassen und testen.

Lg,
Franz

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.