CoIDE STM32F4xx_Framework

OP #3056861
Hallo,

Ich hab mal den Startup-Code usw, den die CoIDE für die STM32F4 
Controller generiert überarbeitet, weil ich meine, das er an machen 
Stellen etwas verwirrent ist. Das Framework lässt sich über die Datei 
stm32f4xx_Framework.h einbinden. Es werden nur die nötigsten Dinge 
erledigt, damit der Controller mit dem Internen Oszillator läuft. Vllt. 
könntet ihr euch das mal ansehen und schreiben was ihr davon haltet.

Moritz
Angehängte Dateien:
OP #3058578
Hallo,

ich hab das ganze noch weiter geführt. Mich würde wirklich eure Meinung 
dazu interessieren. Findet ihr das schwachsinnig oder gut? Das ganze 
Framework hat den Sinn den Startup Code für die STM32F40X und STM32F41X 
zu vereinfachen und übersichtlicher zu machen.
Es muss nur die stm32f4xx_Framework.h" eingebunden werden und das ganze 
Framework kann über die stm32f4xx_FrameworkConfig.h konfiguriert werden.

Moritz
Angehängte Dateien:
Gast #3060790
Hallo Moritz,

dein Tutorial finde ich wirklich toll!
Vielen Dank dafür!

Kanst du vielleicht die Unterschiede in deinem Framework kurz 
beschreiben?
Was genau siehst du daran als Vorteil?
Habe da aber auch noch nicht selbst reingeschaut.

Gruß
Horst
OP #3060861
Hallo,

ich finde der Code den die CoIDE hinzufügt wenn man "CMSIS Boot" und "M4 
CMSIS Core" auswählt nicht so toll, weil:

-der aus verschiedenen anderen IDE's zusammen kopiert ist
(siehe z.B. startup_stm32f4xx.h ganz oben steht was von "Ride7")

-dann das manche Kommentare ein bisschen blöd sind
(z.B. ebenfalls in der startup_stm32f4xx.h, steht über der Vector Table, 
was von "Cortex-M3". (knapp daneben ist auch vorbei!!))

-und manche sachen sind einfach unnötig (z.B wird in der "core_cm4" 
__FPU_USED als 0 definiert. Dann wird in der SystemInit() ganz am Anfang 
die FPU aktiviert, wenn __FPU_USED gleich 1 ist. Und im 
Default_Reset_Handler() wird die FPU nochmal aktiviert, wenn __FPU_USED 
definiert ist.)

Deswegen hab ich das angepasst. Die Standard Peripheral Library und die 
CMSIS Lib hab ich so gelassen.

Außerdem nervt es immer in einzelnen Dateien irgendwelche defines 
anzupassen.

Ich hab nochmal ne neue Version angehängt und diese zur Repository der 
CoIDE hinzugefügt.

Moritz
Angehängte Dateien:
#3158736
moin moin,

Anfänger was ARM angeht.

Habe hier Coocox 1.72 und STM32F4 Discovery.
Ich habe die Software web_sd_discovery aus dem Netz geladen ud bin dabei 
diese von STM32F10x auf STM32F4xx umzustellen.
Bin da schon gut vorran gekommen, nun hänge ich leider.

Wer kann mir da weiter helfen?

       [cc] C:\STM32\web_sd_st32F4xx\enc28j60.c:176:36: error: 
'RCC_APB2Periph_GPIOA' undeclared (first use in this function)
       [cc] C:\STM32\web_sd_st32F4xx\enc28j60.c:176:36: note: each 
undeclared identifier is reported only once for each function it appears 
in
       [cc] C:\STM32\web_sd_st32F4xx\enc28j60.c:196:30: error: 
'GPIO_Mode_Out_PP' undeclared (first use in this function)
       [cc] C:\STM32\web_sd_st32F4xx\enc28j60.c:182:30: error: 
'GPIO_Mode_AF_PP' undeclared (first use in this function)
       [cc] C:\STM32\web_sd_st32F4xx\enc28j60.c:189:30: error: 
'GPIO_Mode_IPU' undeclared (first use in this function)
       [cc] C:\STM32\web_sd_st32F4xx\mmc.c: In function 'mmc_init':
       [cc] C:\STM32\web_sd_st32F4xx\mmc.c:127:26: note: each undeclared 
identifier is reported only once for each function it appears in
       [cc] C:\STM32\web_sd_st32F4xx\mmc.c:146:35: error: 
'GPIO_Mode_AF_PP' undeclared (first use in this function)
       [cc] C:\STM32\web_sd_st32F4xx\mmc.c:150:35: error: 
'GPIO_Mode_IPU' undeclared (first use in this function)
       [cc] C:\STM32\web_sd_st32F4xx\mmc.c:197:28: error: 
'RCC_APB2Periph_GPIOC' undeclared (first use in this function)
       [cc] C:\STM32\web_sd_st32F4xx\mmc.c:127:26: error: 
'RCC_APB2Periph_GPIOB' undeclared (first use in this function)
       [cc] C:\STM32\web_sd_st32F4xx\mmc.c:136:35: error: 
'GPIO_Mode_Out_PP' undeclared (first use in this function)

Gibt es irgendwo eine Referenzliste oder so für die defines?

danke.
#3158804
Horst S. schrieb:
> moin moin,
>
> Anfänger was ARM angeht.
>
> Habe hier Coocox 1.72 und STM32F4 Discovery.
> Ich habe die Software web_sd_discovery aus dem Netz geladen ud bin dabei
> diese von STM32F10x auf STM32F4xx umzustellen.
> Bin da schon gut vorran gekommen, nun hänge ich leider.
>
> Wer kann mir da weiter helfen?
>
>        [cc] C:\STM32\web_sd_st32F4xx\enc28j60.c:176:36: error:
> 'RCC_APB2Periph_GPIOA' undeclared (first use in this function)
>        [cc] C:\STM32\web_sd_st32F4xx\enc28j60.c:176:36: note: each
> undeclared identifier is reported only once for each function it appears
> in
>        [cc] C:\STM32\web_sd_st32F4xx\enc28j60.c:196:30: error:
> 'GPIO_Mode_Out_PP' undeclared (first use in this function)
>        [cc] C:\STM32\web_sd_st32F4xx\enc28j60.c:182:30: error:
> 'GPIO_Mode_AF_PP' undeclared (first use in this function)
>        [cc] C:\STM32\web_sd_st32F4xx\enc28j60.c:189:30: error:
> 'GPIO_Mode_IPU' undeclared (first use in this function)
>        [cc] C:\STM32\web_sd_st32F4xx\mmc.c: In function 'mmc_init':
>        [cc] C:\STM32\web_sd_st32F4xx\mmc.c:127:26: note: each undeclared
> identifier is reported only once for each function it appears in
>        [cc] C:\STM32\web_sd_st32F4xx\mmc.c:146:35: error:
> 'GPIO_Mode_AF_PP' undeclared (first use in this function)
>        [cc] C:\STM32\web_sd_st32F4xx\mmc.c:150:35: error:
> 'GPIO_Mode_IPU' undeclared (first use in this function)
>        [cc] C:\STM32\web_sd_st32F4xx\mmc.c:197:28: error:
> 'RCC_APB2Periph_GPIOC' undeclared (first use in this function)
>        [cc] C:\STM32\web_sd_st32F4xx\mmc.c:127:26: error:
> 'RCC_APB2Periph_GPIOB' undeclared (first use in this function)
>        [cc] C:\STM32\web_sd_st32F4xx\mmc.c:136:35: error:
> 'GPIO_Mode_Out_PP' undeclared (first use in this function)
>
> Gibt es irgendwo eine Referenzliste oder so für die defines?
>
> danke.

z.b. in: stm32f4xx_gpio.h und stm32f4xx_rcc.h:
1
/** @defgroup RCC_AHB1_Peripherals 
2
  * @{
3
  */ 
4
#define RCC_AHB1Periph_GPIOA             ((uint32_t)0x00000001)
5
#define RCC_AHB1Periph_GPIOB             ((uint32_t)0x00000002)
6
#define RCC_AHB1Periph_GPIOC             ((uint32_t)0x00000004)
7
...
#3159548
moin moin,

danke für den Typ.
Habe mal die *.h Dateien des f10x mit dem f4xx verglichen.
Ich hoffe ich habe alles richtig ersetzt. Leider geht das nicht 1 zu 1.
Wenn ich nun noch den startup richtig hinbekomme kann ich das Testen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.