Tach allerseits, ich spiele momentan mit einem Rudel Discoverboards rum. Angefangen habe ich mit eibem F030 und nun sitze ich an einem F072B. Woran ich momentan hänge ist folgendes: Auf dem F030 habe ich ein snippet geschrieben, dass eine LED mit 1s Zyclusszeit mithifle des SysTick interrupts blinken lässt. War dort kein Problem. Nun versuche ich es auf dem F072B und die Blinkrate ist auf ein mal 6 mal langsamer. Kurzes debuggen in der hardware offenbart: Die PLL läuft nicht und es wird statt dessen die HSI als clock source verwendet. Also die PLL auf 48MHz konfiguriert und als Quelle geschaltet. Bums, µC bleibt hängen. Danach habe ich schrittweise PLLMUL von 1x bis auf 11x erhöht. Scheinbar kein Problem. Als ich dann auf 48MHz hoch stellte passierte erst gar nix und auf ein mal blinkt die LED doch! Allerdings mit Unterbrechungen und gestotter. Trotzdem, der 1s Takt ist erahnbar. Was soll das denn sein?? Alex
Klingt als hättest Du die Waitstates vom Flash vergessen - und der liefert Dir jetzt immer mal falsche Daten. Die Libs vom Hersteller sollten das korrekt einstellen - arbeitest Du direkt mit den Registern?
> Klingt als hättest Du die Waitstates vom Flash vergessen - und der > liefert Dir jetzt immer mal falsche Daten. Sieht so aus. Hatte im Kopf, dass ST flash schneller ist. Die Cortex M0 Gurken sparen da wohl. > Die Libs vom Hersteller sollten das korrekt einstellen - arbeitest Du > direkt mit den Registern? Ich arbeite mir den startup scripten, die direkt von ARM bzw. ST kommen. Normalerweise konfiguriert das script die Proz clock auf max f. Als ich mit der clock rumgespielt habe, habe ich die Regsiter direkt per live debugging verbogen. Ich schaue mal wie das mit der std periph lib geht. Vielleicht hilft das ja schon. Thor
Gast
#3602332
>Sieht so aus. Hatte im Kopf, dass ST flash schneller ist. Die Cortex M0 >Gurken sparen da wohl. Die M3,M4-Gurken (..F2,..F3,..F4) auch, keine schneller als ca 33MHz!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.