Forum: Mikrocontroller und Digitale Elektronik STM32F4-Discovery Problem


von Gregor S. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich veruche gerade einen simplen code auf dem STM32F4 Discovery-Board 
zum Laufen zu kriegen und komme nicht weiter.

Erstmal der code:
1
#include "stm32f4xx_conf.h"
2
#include <stm32f4xx.h>
3
4
int main(void)
5
{
6
    SystemInit();
7
8
    GPIO_InitTypeDef GPIO_InitStructure;
9
10
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
11
12
13
14
      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;
15
      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
16
      GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
17
      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
18
      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
19
20
    GPIO_Init(GPIOA, &GPIO_InitStructure);
21
22
    GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET);
23
24
25
26
27
    while(1)
28
    {
29
30
    }
31
}

Am code sollte es denke ich nicht liegen, der is ja recht überschaubar. 
Alle notwendigen Konfigurationen habe ich in der stm32f4xx.h und 
system_stm32f4xx.c vorgenommen.

Ich benutze die CoIDE.
ST-Link ist als Adapter ausgewählt und CoFlash ist auch konfiguriert.
Wenn ich in den Debug-Modus gehe, bekomme ich folgenede Meldungen:
[Bild im Anhang]
Auch wenn ich das Programm via "Download Program" lade, funktioniert es 
nicht.
Kommunikation mit dem Board findet statt.

Ich hoffe mir kann jemand helfen.

Gruß, Gregor

von Matthias (Gast)


Lesenswert?

Ein ähnliches Problem hatte ich auch schon. Deinstalliere und 
installiere mal die CoIDE neu. Ansonsten hier:
Beitrag "CooCox CoIDE mit STM32F4-Discovery Board"

von Moin (Gast)


Lesenswert?

Morgen,

für die ersten "Gehversuche" in der STM32 Welt haben mir folgende 
Seiten/Beiträge sehr geholfen:

Beitrag "CooCox CoIDE mit STM32F4-Discovery Board"

http://www.cczwei-forum.de/cc2/thread.php?threadid=6246&threadview=1&hilight=&hilightuser=0&sid=6f8f4d831a3e9133466c1769de5b139a

Es scheint bei dir an nicht korrekten Einstellungen des 
Compilers/Debuggers zu liegen.
Viel Erfolg

von Gregor S. (Gast)


Lesenswert?

Danke, werd ich mir mal anschaun.
Flashen kann ich ihn übrigens doch, da ging nur die LED nicht die 
angeschlossen war, geht also nur ums debuggen.

Aber vielen Dank erstmal.

von Gregor S. (Gast)


Lesenswert?

Also es geht jetzt, ich hab nur leider nichts an der Konfiguration 
geändert...naja :-)

Danke euch

von frame (Gast)


Lesenswert?

Ich benutze Coocox schon länger nicht mehr, kann mich aber erinnern, daß 
es bei mir defaultmäßig falsche Debugadapter-Einstellungen hatte.

Nachdem ich die SWD-Taktfrequenz reduziert hatte, konnte ich auch 
debuggen.
Schaue nach, daß überhaupt SWD eingestellt ist - der integrierte STLink 
kann kein JTAG.

von fq2345qt (Gast)


Lesenswert?

Blöde Frage: Geht das SO überhaupt und meckert da der Compiler nicht?

1.)    SystemInit();

2.)    GPIO_InitTypeDef GPIO_InitStructure;


Deklarationen gehören an den Anfang - oder erlaubt das eine der neueren 
C-Standards? Sollen ja auch Deklarationen innerhalb von for-Schleifen 
möglich/erlaubt sein.

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


Lesenswert?


von Hugo (Gast)


Lesenswert?

Mittlerweile benutze ich die CoIDE auch nicht mehr, genau wegen solchen 
Problemen. Wer einen J-Link hat für den wäre emIDE eine Alternative 
(emIDE.org). Mir gefällt das bis jetzt ganz gut.

von fq2345qt (Gast)


Lesenswert?

Vielleicht bin ich da nur zu konservativ...

Würde mich mal interessieren, was der Compiler am Schluss draus macht. 
Ich tippe mal: In den meisten Fällen wird es keinen Unterschied geben?

von fq2345qt (Gast)


Lesenswert?

Das Keil-MDK ist auch ganz hübsch.

von Hugo (Gast)


Lesenswert?

fq2345qt schrieb:
> Das Keil-MDK ist auch ganz hübsch.

Kostet aber auch im Gegensatz zu emIDE ganz hübsch was ;-).

von Moritz M. (Gast)


Lesenswert?

Hallo,

bei mir ging am Anfang Flashen/Debuggen gar nicht. Das Problem bei mir 
war anscheinend das die CoIDE nach C:\ installiert werden muss. Unter 
C:\Programme (x86)\ konnnte de CoIDE das CoFlash irgentwie nicht starten 
(Zugriffsberechtigungsprobleme oder so?)(Unter Win 7) Die CoIDE generirt 
auch Code für 25MHz externen Takt. Das Discovery hat aber nur 8MHz.

Moritz

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.