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