Forum: Mikrocontroller und Digitale Elektronik STM32F2 - kurzer Check Bitte


von Cyblord -. (cyblord)


Lesenswert?

Hallo Zusammen,

versuche gerade einen STM32F2 (auf Eval Board) zum laufen zu bekommen.

STM32F0 habe ich bereits am laufen. Somit ist Erfahrung vorhanden. 
Allerdings will de F2 hier einfach nicht.
Das ARM Plugin für Eclipse führt den F2 auch nicht auf, somit muss man 
da die Verzeichnisse und Includes usw. alles selber anlegen ;-( Was 
natürlich auch Fehlerträchtig ist.
Als Startup Script hab ich die start_stm32F2xxx aus dem StdPeriph Paket 
genommen. Die für Atolic Studio. Kompiliert auch Fehlerrei.
Als Linker Scripte habe ich die mem.ld, sections.ld und lib.ld aus dem 
ARM Plugin.

Toolchain ist Codesourcery. IDE Eclipse.

Auf dem Eval Board ist eine LED (LED1) an PG6. Nach GND geschaltet. Also 
ich will den Pin setzen.

Ist der Code dafür ok? Zu den anderen Famiien (F0,F1,F4) gibt es ja 
kleine Unterschiede. Daher meine Frage.
1
#include "stm32f2xx.h"
2
#include "stm32f2xx_conf.h"
3
#include <stdio.h>
4
5
6
int main(void)
7
{
8
9
  RCC_AHB1PeriphClockCmd(RCC_AHB1ENR_GPIOGEN,ENABLE);
10
11
12
  GPIO_InitTypeDef GPIO_InitStructure;
13
14
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
15
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
16
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
17
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
18
19
  GPIO_Init(GPIOG, &GPIO_InitStructure);
20
21
  GPIO_WriteBit(GPIOG,GPIO_Pin_6,Bit_SET);
22
23
24
  while(1);
25
26
  return 0;
27
}

Also vorrausgesetzt die Toolchain, linker script und startup wäre 
korrekt, sollte dann PG6 an gehen, oder hab ich was vergessen?

danke und gruß
cyblord

von kermit (Gast)


Lesenswert?

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 fehlt da noch.
Um SystemInit() musst man sich bei deiner Umgebung nicht kümmern?

von Cyblord -. (cyblord)


Lesenswert?

kermit schrieb:
> GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 fehlt da noch.

Au Backe du hast recht.

> Um SystemInit() musst man sich bei deiner Umgebung nicht kümmern?
Ich glaube das wird über das startup script gemacht. Aber ich check das 
nochmal.

Danke

von Cyblord -. (cyblord)


Lesenswert?

Und das war auch der Fehler. Die LED leuchtet. Zeit für Urlaub wies 
aussieht...
Danke nochmal.

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.