Forum: Mikrocontroller und Digitale Elektronik STM32F4 - programmierbar, aber läuft nicht


von Vincent H. (vinci)


Angehängte Dateien:

Lesenswert?

Grüß euch

Ich erkunde gerade die STM32F4 Familie und habe diesbezüglich eine 
kleine Platine entwickelt. Nach erster Euphorie, dass diese 
programmier/lesbar usw. war musste ich leider feststellen, dass ich den 
Controller zwar mit meinem Code versehen kann, dieser aber schlichtweg 
nicht loslaufen will...

Egal ob ich den Chip via ST Utility oder OpenOCD programmiere, er gibt 
keinen Mucks von sich. Das "run" command aus dem ST Utility gibt 
ebenfalls die Fehlermeldung "Unable to run application" aus. Nach einem 
System oder Core reset behauptet das Tool der Core befinde sich im 
"Lockup" state.


tia

von ich kann nicht hellsehen, aber crawlen (Gast)


Lesenswert?


von Vincent H. (vinci)


Lesenswert?

ich kann nicht hellsehen, aber crawlen schrieb:
> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka12545.html


Hm. Mein "Code" tut bisher nichts.
Wüsste nicht wie das passieren soll...?
Die Initialisierung stammt gar aus STs Cube Tool.

von Dispol (Gast)


Lesenswert?

Kommst Du mit dem Debugger in die Initialisierung rein?
Ich hatte das mal, dass die PLL falsch konfiguriert war.

von Vincent H. (vinci)


Lesenswert?

Dispol schrieb:
> Kommst Du mit dem Debugger in die Initialisierung rein?
> Ich hatte das mal, dass die PLL falsch konfiguriert war.


Leider nein, nur programmieren geht.
Aber der Fehler tritt auch ein wenn ich den internen Oszillator 
verwende.


Einmal hatte ich sowas ähnliches wo letztendlich die flash latency 
falsch gesetzt war. Die hab ich aber mittlerweile testweise schon 
erhöht... ohne Ergebnis.

von Vincent H. (vinci)


Lesenswert?

Ok, mittlerweile bin ich mir sicher, dass es sich um einen Lockup 
handelt.
Im ST Utility Tool kann man den Core State via Hakerl bei "Live Update" 
auch direkt anzeigen lassen und da befindet er sich ständig im Lockup.

Aber ich versteh nicht wieso.
1:1 den selben Startup Code hab ich bereits einmal erfolgreich 
genutzt...
das gibts ja nicht

von ?!? (Gast)


Lesenswert?

Vincent Hamp schrieb:
> Ok, mittlerweile bin ich mir sicher, dass es sich um einen Lockup
> handelt.
> Im ST Utility Tool kann man den Core State via Hakerl bei "Live Update"
> auch direkt anzeigen lassen und da befindet er sich ständig im Lockup.
>
> Aber ich versteh nicht wieso.
> 1:1 den selben Startup Code hab ich bereits einmal erfolgreich
> genutzt...
> das gibts ja nicht

Hallo Vincent,

es kann sein, daß irgendein Takt nicht stimmt. Da muß nur irgendwo eine 
falsche Zahl bei einem Teiler oder Multiplikator stehen und schon ist 
ein bestimter Takt außerhalb des erlaubten Bereiches.
Installiere dir mal den STM32CubeMX, da kannst du das gesamte Taktschema 
(und auch andere Interna) anschauen und konfigurieren. Ich bin auch noch 
am Anfang des STM32-Weges und finde das Teil sehr nützlich.

von Vincent H. (vinci)


Lesenswert?

?!? schrieb:
> Vincent Hamp schrieb:
>> Ok, mittlerweile bin ich mir sicher, dass es sich um einen Lockup
>> handelt.
>> Im ST Utility Tool kann man den Core State via Hakerl bei "Live Update"
>> auch direkt anzeigen lassen und da befindet er sich ständig im Lockup.
>>
>> Aber ich versteh nicht wieso.
>> 1:1 den selben Startup Code hab ich bereits einmal erfolgreich
>> genutzt...
>> das gibts ja nicht
>
> Hallo Vincent,
>
> es kann sein, daß irgendein Takt nicht stimmt. Da muß nur irgendwo eine
> falsche Zahl bei einem Teiler oder Multiplikator stehen und schon ist
> ein bestimter Takt außerhalb des erlaubten Bereiches.
> Installiere dir mal den STM32CubeMX, da kannst du das gesamte Taktschema
> (und auch andere Interna) anschauen und konfigurieren. Ich bin auch noch
> am Anfang des STM32-Weges und finde das Teil sehr nützlich.



Mit dem Tool hab ich den Controller bereits konfiguriert.
Aber Achtung, das Teil is Fluch und Segen zugleich.


So leicht die Takt-Konfiguration damit auch wird gibts etwa einen Bug, 
der die Flash Latency falsch einstellt! Nach sowas sucht man dann 
ewig...

von ?!? (Gast)


Lesenswert?

Vincent Hamp schrieb:
> So leicht die Takt-Konfiguration damit auch wird gibts etwa einen Bug,
> der die Flash Latency falsch einstellt! Nach sowas sucht man dann
> ewig...

Danke für den Hinweis. Falls mir das mal passiert...
Sonst kann ich dir leider auch keinen Tipp geben. Aber ich verfolge den 
Thread mal weiter, vielleicht hat jemand eine Idee.

von Vincent H. (vinci)


Lesenswert?

Ach Gott!

Der "Fehler" lag bei Eclipse.

ASM-Datein mit kleiner .s Endung werden von diesem standardgemäß nämlich 
nicht erkannt. -.-

von Jim M. (turboj)


Lesenswert?

Vincent Hamp schrieb:
> Nach einem
> System oder Core reset behauptet das Tool der Core befinde sich im
> "Lockup" state.

Dann lass Dir mal von OpenOCD die ersten 8 Werte der Vectortabelle 
ausgeben.
Schau Dir insbesondere den ersten Wert (initialer SP, muss in den RAM 
oder an dessen Ende zeigen und durch 8 teilbar sein) und den zweiten 
Wert (PC, muss in den Flash zeigen und ungrade sein) an. Die 
Vectortabelle steht am Anfang des Flashs.

von Warning (Gast)


Lesenswert?

Vincent Hamp schrieb:
> Ach Gott!
>
> Der "Fehler" lag bei Eclipse.
>
> ASM-Datein mit kleiner .s Endung werden von diesem standardgemäß nämlich
> nicht erkannt. -.-

Na,na, hat da einer die Errors oder Warnings ignoriert? ;-)

von Vincent H. (vinci)


Lesenswert?

In so einem Fall spuckt Eclipse leider weder noch aus.
Tritt ja schlichlich zur Compilezeit ja auch kein Fehler auf...

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.