Forum: Mikrocontroller und Digitale Elektronik STM32F7-Discovery -> eclipse Projekt -> instabil :-(


von hp-freund (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

bei der Auslieferung hat das Board ja dieses wunderbare Demo drauf.
Das möchte ich gern als Grundlage für Eigenes verwenden.

Ich habe jetzt schon mehrfach das Projekt für luna zusammengestellt.
Es lässt sich auch problemlos bauen und flashen.

Leider läuft es aber nicht stabil :-(

Manchmal ist für lange Zeit alles iO, aber manchmal ist nach ein paar 
"touches" Schluß. Leider nicht wirklich reproduzierbar.
Es friert einfach ein.
Vielleicht hat jemand eine Idee woran es liegt.

Um ein eclipse Projekt zu erstellen habe ich zur Vereinfachung ein 
script für linux angehängt. Das kopiert (hoffentlich) alles Nötige in 
den aktuellen Ordner und korrigiert ein paar Kleinigkeiten.

Die Verwendung ist einfach:

1. im eclipse workspace einen neuen Ordner anlegen
2. die .tar.gz dort hin kopieren und entpacken
3. im script den Projektnamen(=Ordnername) und evtl. den Pfad zur F7_FW 
anpassen
4. script starten
5. eclipse öffnen und den Ordnerinhalt als vorhandenes Projekt 
importieren

Wenn jemand Lust hat das zu probieren und vielleicht sogar das Problem 
findet wäre ich entzückt :-)

von hp-freund (Gast)


Lesenswert?

Hat wirklich niemand vor die Möglichkeiten die das Demo bietet für seine 
eigenen Werke zu nutzen?
Das Ganze dann noch als eclipse/makefile Projekt würde ich schon gern 
nutzen.

Was nehmt ihr denn als grafische Projektgrundlage für das STM32F7-Disco?
Am Besten mit voller Hardwareunterstützung und ohne Lizensprobleme...

chibios?
freertos?
nuttx?
oryx?
selbst gemachtes?

von macload1 (Gast)


Lesenswert?

Hallo hp-freund,

Herzlichen Dank für diese Vorlage. Kompiliert perfekt!
Ich habe allerdings noch eine Frage: wie lädst du die generierte hex- 
oder elf-Datei auf das Discovery-Board hoch?
Ich habe vom Github von texane eine St-Link Variante für Linux gefunden, 
aber ich weiß nicht genau mit welcher Kommandozeile ich da weiter machen 
muss. Außer dem Reset des Boards passiert da nämlich gar nichts und wenn 
ich die Adresse 0x8000000 eingebe, dann schimpft das Programm, weil 
nicht genug Platz auf dem Board ist.

Unter Windows klappt alles, aber ich wöllte gerne weiter mit Ubuntu 
machen...

von hp-freund (Gast)


Lesenswert?

Also ich habe jetzt schon eine Weile bei texane nicht nachgesehen,
aber das letzte Mal war es noch nicht möglich das QSPI-Flash zu 
bedienen.

Solange Du nur den internen Flash fütterst, ist das mit texane möglich.

Vielleicht ist openocd jetzt soweit?

von hp-freund (Gast)


Lesenswert?

Was mich natürlich noch interessiert:
läuft das bei dir auf dem Board stabil oder hängt es auch öfter?
Würde schon gern wissen ob es evtl. an meinem Board liegt.

von macload1 (Gast)


Lesenswert?

Da ich das Board bisher noch nicht richtig programmiert bekommen habe, 
habe ich das Programm nicht weiter getestet.

Ich werde mir am Wochenende ein wenig Zeit nehmen, um es über Windows zu 
programmieren und es ein wenig laufen lassen. Hast du denn schon 
versucht den Debugger laufen zu lassen während das Programm sich 
aufhängt?

von macload1 (Gast)


Lesenswert?

Hallo hp-freund,

Ist schon eine Weile her...
Ich habe das Projekt gerade mal laufen lassen, und auch bei mir hängt es 
sich leider auf.

Der Code scheint aber weiterhin "normal" zu funktionnieren (der Code 
switcht zwischen den verschiedenen Funktionen von FreeRTOS herum).

Man meint, dass die Applikation geschlossen ist (nicht mehr im Taskarray 
von FreeRTOS) aber trotzdem noch angezeigt wird...

Ich werde auf jeden Fall weitersuchen.

von macload1 (Gast)


Lesenswert?

Hallo hp-freund,

Ich glaube, ich habe das Problem gefunden. Genau erklären, was falsch 
läuft kann ich aber noch nicht.

Das Projekt von dir, hängt sich bei mir nach 1 oder 2 Minuten jedes Mal 
auf. Jetzt habe ich aber die Compiler Settings für die Optimisation auf 
-Os gesetzt (Optimisation for size). Seitdem, hängt sich das Programm 
nicht mehr auf! Ich habe es zwei Mal über eine halbe Stunde laufen 
lassen, und es gab keine Probleme.

Im Original-Code von STMCube sind die Compiler Eigenschaften auch auf 
-Os gesetzt, nur in deinem Projekt hattest du -O0 gewählt (no 
optimisation).

Weshalb das Projekt ohne Optimisationen sich aufhängt weiss ich leider 
noch nicht, hat jemand eine Erklärung dazu?

Viele Grüsse,
macload1

von hp-freund (Gast)


Lesenswert?

macload1 schrieb:
> Ich glaube, ich habe das Problem gefunden.

Gratuliere!
Auch wenn ich es aus technischen Gründen leider nicht mehr 
nachvollziehen kann :(

Es könnte sogar sein das ich im Verlauf der Projektumstellung die 
Optimierung mehrmals geändert habe.

Es gibt hier auch schon Beiträge die sich mit dem -Os Problem 
beschäftigt haben.

Wenn es nun läuft ist das Projekt eine prima Vorlage für eigene 
Kreationen...

von Tobias B. (roxxity)


Lesenswert?

Hallo zusammen,

habe ggf. ein ähnliches Problem bzw. ähnliche Aufgabenstellung:

Aktuell strippe ich die Demo-Software (benutze STM Workbench/Eclipse) 
herunter, um letzten Endes ein paar Daten mit StemWin hübsch 
darzustellen.

Sowohl der unangetastete Code als auch mit der erleichterten Version 
(USB, Audio, Ethernet etc fehlen) scheint sich der Controller 
aufzuhängen. Auch wenn ich Touch-Funktionalitäten heraus nehme, was auch 
eine Vermutung von mir war.

Debugging mit der Umgebung ist generell schwierig, jedoch bekomme ich im 
Fehlerfall schon gar keine Kommunikation mehr zustande (Can't halt the 
core). Ich kann also nicht sehen, ob und wenn ja wo der Code sich ggf. 
im Kreis dreht.

Da ich Neuling beim Thema STM/ARM bin, helfen mir sicher schon ein paar 
Tips oder Infos zur Funktionsweise des STLinks... Wie bsp. der 
Controller derart crashen kann, so dass ich keine Verbindung mehr 
herstellen kann, erschließt sich mir nicht.

Viele Grüße

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.