STM32 HSI startet nicht

Gast #4550826
Lesenswert?

Guten Abend,

ich habe mir ein Nucleo STM32F303K8T6 Board besorgt und wollte erstmal 
ein paar Pins toggeln.
Ich habe schon ein Paar Projekte mit STM32 umgesetzt und hatte 
diesbezüglich bis jetzt keine Probleme. Ich hatte aber immer einen 
externen Quarz.
Jetzt soll das ganze mit dem internen RC gehen.
Ich habe mir den STM32F30x_Clock_Configurator geschnappt und die
1
system_stm32f30x.c
 generiert. HCLK = 64MHz über HSI und PLL erzeugt.
In CooCox ein neues Projekt angelegt und die Clock-config Datei 
ausgetauscht.
In der main-Schleife einen Pin getoggelt, am Oszi tut sich aber nichts.

Auch wenn ich ganz einfach eine globale Variable anlege und sie in der 
main-Schleife hochzähle, bleibt sie mit STM Studio über st link (swd) 
betrachtet auf dem init. Wert stehen.

Probeweise habe ich auch mit Cube MX den Clock eingestellt, Code 
generieren lassen und das Cube MX Projekt mit dem CooCox Projekt 
verbunden, wie es hier beschrieben ist:
http://sebastianwinter.blogspot.de/2014/09/using-coocox-coide-together-with.html
Compilieren und Flashen hat auf Anhieb funktioniert, doch auch hier 
werden weder Pins getoggelt, noch eine Variable hochgezählt. Variable 
bleibt wieder auf den initialen Wert.

Habt ihr eine Idee woran das liegen könnte?

schönen Abend
Gast #4550839
Lesenswert?

Nucleo schrieb:
> Ich habe mir den STM32F30x_Clock_Configurator geschnappt

ich benutze sowas nicht, sondern schreibe mir das alles selbst. ABer ich 
hätte da noch einen Tip für dich: die Waitstates. wenn ich mich recht 
erinnere, dann ab ca. 24 MHz einen Waitstate, ab 48 MHz zwei davon. 
Sonst geht der Clock-Setup scheinbar gut vonstatten, aber danach 
verschluckt sich die CPU.

W.S.
Gast #4551027
Lesenswert?

Vielen Dank für deine Hilfe, habe es heute nicht mehr geschafft, den HSI 
auf PA8 zu legen, es kommt einfach nichts an, bzw. wäre es möglich dass 
der RC gar nicht läuft?
Ich werde mich übermorgen nochmal melden :)

gute Nacht
Gast #4551156
Lesenswert?

hp-freund schrieb:
> Alle nötigen CLK_ENABLE ausgeführt?

das alles wurde mir von CubeMX erzeugt.
CooCox unterstützt diesen uC offiziel nicht und ich habe beim erstellen 
des CooCox Projekts den STM32F303CB statt STM32F303K8T6 gewählt. Es 
werden allerdings alle Dateien bis
1
startup_stm32F30x.S
 von CubeMX erstellt, welcher den F303K8 ja schon unterstützt.
Könnte es daran liegen?
Gast #4551340
Lesenswert?

Nucleo schrieb:
> STM32F303CB statt STM32F303K8T6

Moin,

von Flash und RAM stimmen die überein.
Ich denke die verschiedenen Gehäuse/Pins hast Du beachtet!?

Was allerdings CooCox noch so macht kann ich nicht sagen, hab ich nie 
benutzt.

Wie sieht es mit einem Einzelschritt Debug aus?
Oder wird ein *.lst File erzeugt?
Gast #4551824
Lesenswert?

Nucleo schrieb:
> bzw. wäre es möglich dass
> der RC gar nicht läuft?

Der läuft ab Reset IMMER.

Du mußt allerdings deinen PLL-Eingang auf eben diesen Oszillator 
legen.

Nochwas: Warum bloß hakelst du dich mit all diesem maschinell erzeugten 
Kram (Cube und so) herum? Du weißt doch nie wirklich, was da alles noch 
so an Bugs drinsteckt. Also, ich häng dir mal ne Config.c hier dran. Ist 
zwar für nen anderen Zweck und externen Quarz gedacht, aber die 
Unterschiede zwischen dem STM32F302 und -303 sollten ja nicht riesengroß 
sein.

Verstehendes Lesen wäre da angesagt und ggf. umschreiben+benutzen

W.S.
Angehängte Dateien:
Gast #4551849
Lesenswert?

hp-freund schrieb:
> Ich denke die verschiedenen Gehäuse/Pins hast Du beachtet!?

in CubeMX habe ich den 32Pin STM32F303K8T6 genommen, im CooCox gab es 
keinen 32Pin. Alle F303 haben dort mindestens 48Pins, aber solange ich 
nicht auf nicht-existierende Pins zugreife, sollte es keinen Unterschied 
machen oder?

Wenn ich gleich am Anfang des Programms einen Breakpoint setze und auf 
Einzelschrittdebug gehe, verbindet sich der ST Link (grün-rote LED 
blinkt), CooCox macht ein leeres Fenster auf und sagt
1
No source available for ""
 und das Programm startet nicht

hp-freund schrieb:
> wird ein *.lst File erzeugt?

Nein, leider nicht. Im Anhang ist mein CooCox Projekt mit einer Simplen 
Variable, die hochgezählt werden soll. Kein CubeMX, nur die Clock 
Konfiguration habe ich vom STM32F30x_Clock_Configurator erzeugen lassen 
und in stm32F30x.h die Zeile
1
#define STM32F303x8
 uncommented.
Allerdings wird es nicht viel nutzen wenn du noch nie CooCox benutzt 
hast.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren