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
Gast
#3090087
Hallo, Schon mal hier geschaut? http://www.coocox.org/CoIDE/Compiler_Settings.html Grüße
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.
Gast
#3090092
C:\Program Files\GNU Tools ARM Embedded\4.7 2012q4\bin
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);
Gast
#3090133
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
Gast
#3090151
in der system_stm32f4xx.c wird 25MHz eingestellt:
binde gleich unter main() die SystemInit();
aus dieser ein --
int main(void)
{
SystemInit();
// usw.
}
> 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
Hallo, könnte bitte einer der Moderatoren das Wort CoocCox im Titel korrigieren CoocCox IDE tool path? -> CooCox IDE tool path? Gruß Helmut
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
