Forum: Analoge Elektronik und Schaltungstechnik STM32F7 (Nucleo) Makefile Projekt mit Programmer's Notepad


von Daniel B. (dbuergin)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Um mal etwas zurück zu geben, stelle ich hier meine STM32F7 Umgebung 
rein.

Basiert auf dem Programmer's Notepad und einem Makefile.
Auf dem PC installiert sein muss:
- Eine Toolchain (bei mir die von Launchpad)
- Der Programmer's Notepad
- Das ST-Link V2 Tool

Details im "readme.txt".

ZIP File entpacken, Makefile anpassen und go.

Das main.c enthält ein kleines Bespiel aus der Nucleo Sammlung. Die
blaue LED blinkt und der Port B Pin 8 wackelt (fürs Oszi)

Enthält natürlich keinen Debugger oder so, aber ich debugge sowieso
meistens via SWD im ST-Link Tool, oder normal via printf über UART oder
via Pin-wackeln auf dem Oszi.

Die Compiler Einstellungen stimmen sicher noch nicht alle für den F7,
aber bis jetzt läuft es bei mir :-)

Sollte ich irgendwelche Credits im readme.txt File vergessen haben, 
bitte
melden.

Gruss
Daniel

von Dr. Sommer (Gast)


Lesenswert?

Daniel B. schrieb:
> Die Compiler Einstellungen stimmen sicher noch nicht alle für den F7,

Richtig, ersetze doch mal -mfloat-abi=softfp durch -mfloat-abi=hard, 
dann wird die FPU "besser" genutzt.

Außerdem ist es extrem hässlich, im Makefile absolute Pfade deines 
lokalen Rechners anzugeben:
1
TCHAIN_ROOT = C:\Users\xxxx\Privat\Mikrokontroller\Toolchains\5.3_2016q1/bin/
2
FLASH_TOOL = "C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility\ST-LINK_CLI.exe"

Ist doch bescheuert, das jedes Mal anpassen zu müssen, wenn man das 
Projekt auf einen anderen Rechner kopiert. Konfiguriere die "Path" 
Variable von Windows korrekt, dann ist der komplette Pfad nicht nötig im 
Makefile.

Daniel B. schrieb:
> Enthält natürlich keinen Debugger oder so, aber ich debugge sowieso
> meistens via SWD im ST-Link Tool

Du meinst, du liest die printf-Meldungen aus? Das würde ich nicht als 
"debuggen" zählen. Schau dir mal an wie "richtige" IDE's (Keil, eclipse, 
...) richtiges Step-By-Step Debugging mit Breakpoints usw. ermöglichen, 
das kann einem sehr viel Arbeit ersparen.

von Daniel B. (dbuergin)


Lesenswert?

Oh Kacke, im falschen Forum erstellt...
Kann ein Moderator das bitte nach "uC und Elektronik" verschieben ?

Danke

von Daniel B. (dbuergin)


Lesenswert?

Dr. Sommer schrieb:
> Daniel B. schrieb:
>> Die Compiler Einstellungen stimmen sicher noch nicht alle für den F7,
>
> Richtig, ersetze doch mal -mfloat-abi=softfp durch -mfloat-abi=hard,
> dann wird die FPU "besser" genutzt.

Ok, danke, habe noch nichts mit der FPU gemacht bis jetzt.

> Außerdem ist es extrem hässlich, im Makefile absolute Pfade deines
> lokalen Rechners anzugeben:
>
1
TCHAIN_ROOT = 
2
> C:\Users\xxxx\Privat\Mikrokontroller\Toolchains\5.3_2016q1/bin/
3
> FLASH_TOOL = "C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK 
4
> Utility\ST-LINK Utility\ST-LINK_CLI.exe"
>
> Ist doch bescheuert, das jedes Mal anpassen zu müssen, wenn man das
> Projekt auf einen anderen Rechner kopiert. Konfiguriere die "Path"
> Variable von Windows korrekt, dann ist der komplette Pfad nicht nötig im
> Makefile.
>

Nö, finde ich nicht. Wenn ich mehr als eine Toolchain im Einsatz habe,
kann ich das im Makefile steuern. Aendern tu ich das eh nicht mehr,
auf allen meinen Rechnern habe ich die gleiche UserID und der Pfad ist
auch der Gleiche.

> Daniel B. schrieb:
>> Enthält natürlich keinen Debugger oder so, aber ich debugge sowieso
>> meistens via SWD im ST-Link Tool
>
> Du meinst, du liest die printf-Meldungen aus? Das würde ich nicht als
> "debuggen" zählen. Schau dir mal an wie "richtige" IDE's (Keil, eclipse,
> ...) richtiges Step-By-Step Debugging mit Breakpoints usw. ermöglichen,
> das kann einem sehr viel Arbeit ersparen.

Habe ich alle ausprobiert. Sind mir zu umständlich einzurichten.
Mir reicht mein Gehirn und ein paar Printfs..

Danke trotzdem.

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.