Forum: Mikrocontroller und Digitale Elektronik CooCox IDE tool path?


von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche gerade zum ersten Mal mit der CooCox IDE ein simples 
Programm für das STM32F4 Board zu erzeugen.

Als erstes muss ich da ja ein "Select Toolchain Path" eingeben.
Mir ist aber nicht klar auf welches Unterverzeichnis ich das in dem 
GCC-Pfad setzen muss. Im Anhang sind ist das komplette GCC 
Installationsverzeichnis.

C:\Program Files (x86)\GNU Tools ARM Embedded\4.7 2012q4

Leider finde ich der CooCox-Help und dem Video zu CooCox kein Beispiel 
dazu.

Kann mir jemand sagen welches Verzeichnis da gewählt werden muss?

Gruß
Helmut

von Cocoa (Gast)


Lesenswert?

Hallo,

Schon mal hier geschaut?
http://www.coocox.org/CoIDE/Compiler_Settings.html

Grüße

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

Das "bin"-Verzeichnis direkt unterhalb von "4.7 2012q4" ist das richtige 
(also nicht das "bin"-Verzeichnis wie im Bild).
Noch ein Tipp: Nicht die GCC-Toolchain 4.7 sondern 4.6 2012q4 verwenden! 
Die Version 4.7 bereitet zuweilen noch Probleme.

von Peter P. (Gast)


Lesenswert?

C:\Program Files\GNU Tools ARM Embedded\4.7 2012q4\bin

von Helmut S. (helmuts)


Lesenswert?

An alle vielen Dank.

Habe das gewählt: C:\Program Files\GNU Tools ARM Embedded\4.7 2012q4\bin

Mit "Start Debug" blinken die LEDs sehr langsam.

Da frage ich mich ob da überhaupt (automatisch?) die richtig 
Taktfrequenz eingestellt wurde.
Hat jemand schnell eine Idee dazu?



http://www.coocox.org/CoIDE/Compiler_Settings.html
Hier wird statt
C:\Program Files (x86)\GNU Tools ARM Embedded\4.7 2012q4\bin
ein anderer Pfad benutzt.
C:\Program Files (x86)\GNU Tools ARM Embedded\4.7 
2012q4\arm-none-eabi\bin

Warum?

Gruß
Helmut



int main(void)
{

    //automatically added by CoIDE
  IOToggle();

  while(1)
    {
    }
}


In IOToggle() werden nur die GPIO-Bits initialisiert und gesetzt.

void IOToggle(void);

von Peter P. (Gast)


Lesenswert?

Welches Board benutzt du? Standartmäßig wird glaube ich von einem 25 MHz 
externen Takt ausgegangen. Schau dir mal das Excel Tool von St an. Damit 
kannst du dir ein systemstmxxxx.c generieren lassen

von vampire (Gast)


Lesenswert?

in der system_stm32f4xx.c wird 25MHz eingestellt:
binde gleich unter main() die SystemInit();
aus dieser ein --
int main(void)
{
  SystemInit();
 // usw.
}

von Helmut S. (helmuts)


Lesenswert?

> Welches Board

STM32F4 Discovery Board von ST

> SystemInit();

Habe das eingefügt. Das sieht jetzt ganz gut aus. Danke.

Ich hätte nicht gedacht, dass deren Warteschleife 10 Befehle braucht 
oder ist das nur wegen dem Debugger?.


          Delay:
080006ec:   push {r7}
080006ee:   sub sp, #12
080006f0:   add r7, sp, #0
080006f2:   str r0, [r7, #4]
 89         while(nCount--)
080006f4:   nop

080006f6:   ldr r3, [r7, #4]
080006f8:   cmp r3, #0
080006fa:   ite eq
080006fc:   moveq r2, #0
080006fe:   movne r2, #1
08000700:   uxtb r2, r2
08000702:   add.w r3, r3, #4294967295
08000706:   str r3, [r7, #4]
08000708:   cmp r2, #0
0800070a:   bne.n 0x80006f6 <Delay+10>
 92       }

0800070c:   add.w r7, r7, #12
08000710:   mov sp, r7
08000712:   pop {r7}
08000714:   bx lr
08000716:   nop

von Helmut S. (helmuts)


Lesenswert?

Hallo,

könnte bitte einer der Moderatoren das Wort CoocCox im Titel korrigieren

CoocCox IDE tool path? -> CooCox IDE tool path?

Gruß
Helmut

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.