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
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.
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);
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.