Forum: Mikrocontroller und Digitale Elektronik STM32F103 läuft nicht an


von Bernd S. (mms)


Lesenswert?

Hi,

versuch mich grad an dem STM32F103 Cortex Prozessor (auf einem eigenen 
Board). Bis jetzt tut sich leider rein gar nichts. Die Spannung am 8MHz 
Quarz ist 0V, es existiert auch kein Startimpulse beim Einschalten oder 
beim Resetten des Controllers.

Der Reset liegt konstant auf 3V3 und der Wakeup liegt konstant auf 0V. 
Die Spannungen sind alle mit 3V3 vorhanden.

Vielleicht hat jmd noch einen Hinweis auf ein mögliches Problem.


http://www.st.com/stonline/products/literature/ds/13587.pdf

Gruß
Bernd

von Bernd S. (mms)


Lesenswert?

ah ein kleines Erfolgserlebnis: wenn man die Boot-Pins auf 
System-Memmory schaltet, wird die CPU in Keil erkannt.

Heißt das, dass man zuerst in diesem Modus die entsprechenden Systembits 
setzen muss (also im Moment der interne 32kHz Oscillator läuft)?

Und erst wenn ein Programm im internen Flash vorhanden ist, kann man 
auch von diesem Booten (so dass auch der Prozessor wirklich losläuft)?

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Der Quarz wird ohne dass man ihn per Software aktiviert auch nicht 
schwingen.

Beim Einschalten der CPU läuft diese immer mit dem internen RC 
Oszillator mit 8MHz. Dazu braucht es auch nur eine Versorgungsspannung.

Ist der Boot-0 Pin auf LOW?

Was sagt das JTAG-Interface bei Verbindung?
Was für ein JTAG-If nutzt Du?

von Bernd S. (mms)


Lesenswert?

Markus Müller schrieb:
> Ist der Boot-0 Pin auf LOW?

der ist auf Low, um vom internen Flash zu Booten. Im Moment ist dort 
noch nichts installiert.

Als JTAG Interface benutze ich das Ulink2 von Keil. Über Keil bekomme 
ich zwei JTAG Devices angezeigt.

1) ARM CoreSight JTAG_DP
2) Unknown

Markus Müller schrieb:
> Der Quarz wird ohne dass man ihn per Software aktiviert auch nicht
>
> schwingen.

Bedeutet das, dass ich immer oder nur beim ersten Mal das System-Memory 
und das eigentliche Flash bespielen muss?

Gruß
Bernd

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Wenn da nichts im Flash ist ausser FF, dann macht der einfach NOPs. Und 
das mit einem Takt von 8MHz.

Zwei Devices werden bei mir auch gezeigt. Ich nutze Eclipse.

Nach einem Reset wird das Register RCC_CFGR mit 0x00000000 
initialisiert, daher ist der interne RC Oszillator als Clock-Quelle 
aktiv.
Siehe Dokument RM0008, 6.3.2.

In diesem Artikel STM32 habe ich zusammen geschrieben wie man die 
Doku nutzt und was für wichtige Dokumente es gibt und noch ein paar 
andere wichtige Dinge...

Bei Keil müssten auch Demos dabei sein die Kompillierbar und ladbar 
sind.

von Bernd S. (mms)


Lesenswert?

cool danke für die Tipps. Hab inzwischen ein kleines Programm (LED 
anschalten) programmieren können.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Dann ist es zum Blinken lassen auch nicht mehr weit ;)

von Bernd Schuster (Gast)


Lesenswert?

nur das Debuggen geht noch nicht - muss anscheinend ein entsprechendes 
Script vorneweg übertragen werden, welches sämtliche Sachen 
konfiguriert, um das Prog ordnungsgemäß zu starten.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Mit Keil kenne ich mich leider nicht aus.

Bei Eclipse/GDB/OpenOCD|Segger JLink gibt es sowas nicht. Da könnte man 
auch den blanken Flash debuggen...

von K. J. (Gast)


Lesenswert?

Bernd Schuster schrieb:
> cool danke für die Tipps. Hab inzwischen ein kleines Programm (LED
> anschalten) programmieren können.

http://www.mikrocontroller.net/articles/Cortex_M3_OCM3U

Da ist auch ein kleines Beispiel.

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.