Im Zuge eines Projekts ist ein Testcode abgefallen, der möglicherweise
hilfreich für Neueinsteiger sein kann. Das Ganze ist kompilierbar unter
CooCox v1.5 und läuft auf einem F4 Discovery.
GPIO: Beispielcode wie man GPIO als Input und Output definiert. Die
eingebauten LED blinken in verschiedenen Rythmus.
SDIO: Die SDIO Pheripherie, initialisierung, DMA Mode, 1 Bit und 4 Bit
Mode. Im Samplecode wird eine Textdatei im Root einer SD Karte
(FAT/FAT32) erzeugt und wieder gelesen.
Es ist ein Wrapper implementiert, damit Standardbefehle wie fopen(),
fread(), fwrite() usw. funktionieren. Man muss den Wrapper nicht
verwenden, ist aber praktisch wenn man bestehenden Code portieren will.
Es ist ein mini fprintf() implementiert.
Es ist ein 2 x 512 KB Buffer implementiert. Der Buffer wird nur
verwendet wenn DMA aktiv ist UND wenn Speicherblöcke adressiert werden,
die vom DMA unerreichbar sind. Es werden abwechselnd 512 Byte per DMA
transportiert und inzwischen der andere Buffer beschrieben/gelesen.
Timer,SoftTimer: Timer 4 wird verwendet in µs Auflösung. Dazu gibt es
eine Miniimplementierung von Software Timer. Man kann eine unbegrenzte
Anzahl von Softwaretimer (einer für ms und einer für µs) setzen. Die
Softwaretimer kann man per Funktion prüfen ob sie abgelaufen sind. Der
Betrieb der Softwaretimer braucht keine Systemzeit (nur die Abfrage und
Setzfunktion).
Das LED blink Demo ist mit Softwaretimer realisiert.
USART: Usart 2 wird initialisiert auf 115200,8N1. Es sind zwei kleine
Ringbuffer installiert. Ein und Ausgabe erfolgt im USART Interrupt,
deshalb verzögert printf() nur sehr kurze Zeit.
Ein angeschlossenes Terminal zeigt Startmeldung, PLL config, SDIO
ausgaben.
printf: es ist eine Miniimplementierung von printf(), sprintf(),
snprintf() und fprintf() vorhanden. Kein float, etwas eingeschränkte
Funktionalität. Braucht aber fast keinen Platz im Flash. putc() ist auf
den USART2 eingestellt.
habe Version: 1.5.1
Build id: 20120929-1882-746
mit dem Ergebnis:
K:\C-winkler\Stm32F407_blink\Driver\source/SDIO.c:88: multiple
definition of `SD_LowLevel_Init'
[cc]
..\obj\stm32f4_discovery.o:K:\C-winkler\Stm32F407_blink\Driver\source/st
m32f4_discovery.c:86: first defined here
[cc] ..\obj\SDIO.o: In function `SD_Init':
[cc] K:\C-winkler\Stm32F407_blink\Driver\source/SDIO.c:140:
multiple definition of `SD_Init'
[cc]
..\obj\stm32f4_discovery_sdio_sd.o:K:\C-winkler\Stm32F407_blink\Driver\s
ource/stm32f4_discovery_sdio_sd.c:406: first defined here
[cc] ..\obj\Blink.o: In function `BlinkExpIni':
[cc]
..\obj\printf.o:K:\C-winkler\Stm32F407_blink\stdio/printf.c:281: first
defined here
[cc] K:\C-winkler\Stm32F407_blink\Driver\fatfs\src/f_io.c:72:
multiple definition of `fprintf'
[cc] ..\obj\f_io.o: In function `fprintf':
[cc] K:\C-winkler\Stm32F407_blink\src/Blink.c:21: multiple
definition of `BlinkExpIni'
[cc]
..\obj\gpio.o:K:\C-winkler\Stm32F407_blink\Driver\source/gpio.c:23:
first defined here
[cc] ..\obj\Blink.o: In function `BlinkExpLoop1':
[cc] K:\C-winkler\Stm32F407_blink\src/Blink.c:31: multiple
definition of `BlinkExpLoop1'
[cc]
..\obj\gpio.o:K:\C-winkler\Stm32F407_blink\Driver\source/gpio.c:33:
first defined here
[cc] ..\obj\Blink.o: In function `BlinkExpLoop2':
[cc] K:\C-winkler\Stm32F407_blink\src/Blink.c:47: multiple
definition of `BlinkExpLoop2'
[cc]
..\obj\gpio.o:K:\C-winkler\Stm32F407_blink\Driver\source/gpio.c:71:
first defined here
[cc] ..\obj\Blink.o: In function `BlinkExpLoop3':
[cc] K:\C-winkler\Stm32F407_blink\src/Blink.c:91: multiple
definition of `BlinkExpLoop3'
[cc]
..\obj\gpio.o:K:\C-winkler\Stm32F407_blink\Driver\source/gpio.c:164:
first defined here
[cc] ..\obj\SD_Test.o: In function `SearchImageFile':
[cc] K:\C-winkler\Stm32F407_blink\src/SD_Test.c:39: multiple
definition of `SearchImageFile'
[cc]
..\obj\sdcard.o:K:\C-winkler\Stm32F407_blink\Driver\source/sdcard.c:304:
first defined here
[cc] ..\obj\SD_Test.o: In function `SDcardReadFile':
[cc] K:\C-winkler\Stm32F407_blink\src/SD_Test.c:98: multiple
definition of `SDcardReadFile'
[cc]
..\obj\sdcard.o:K:\C-winkler\Stm32F407_blink\Driver\source/sdcard.c:363:
first defined here
[cc] ..\obj\SD_Test.o: In function `PrintDir':
[cc] K:\C-winkler\Stm32F407_blink\src/SD_Test.c:132: multiple
definition of `PrintDir'
[cc]
..\obj\sdcard.o:K:\C-winkler\Stm32F407_blink\Driver\source/sdcard.c:272:
first defined here
[cc] ..\obj\SD_Test.o: In function `SDcardInit':
[cc] K:\C-winkler\Stm32F407_blink\src/SD_Test.c:245: multiple
definition of `SDcardInit'
[cc]
..\obj\sdcard.o:K:\C-winkler\Stm32F407_blink\Driver\source/sdcard.c:395:
first defined here
[cc] ..\obj\gpio.o: In function `EXTI0_IRQHandler':
[cc] gpio.c:(.text.EXTI0_IRQHandler+0x26): undefined reference to
`IecPinChangeAtn'
[cc] gpio.c:(.text.EXTI1_IRQHandler+0x24): undefined reference to
`IecPinChange'
[cc] ..\obj\gpio.o: In function `EXTI1_IRQHandler':
[cc] ..\obj\gpio.o: In function `EXTI2_IRQHandler':
[cc] gpio.c:(.text.EXTI2_IRQHandler+0x24): undefined reference to
`IecPinChange'
[cc] collect2: ld returned 1 exit status
BUILD FAILED
Total time: 54 seconds
vom Linker;
Jetzt suche ich erstmal bei mir ...
Das Projekt verwendet die Datei gar nicht?
Ich habe jetzt mal alle Dateien gelöscht, die ich vom Build ausgenommen
habe. Und dann das Projekt neu gezippt.
Hoffentlich funktioniert es nun.
die beiden
evalboard.h und 1541.h kannste weglassen. Sind wohl noch von seinem
Proj. übrig;
Aber, mein gcc scheint nichtmehr zu stimmen!Habe ich wohl selbst
verbockt (wie weiß ich nicht);
Welchen nimmst Du, Thomas Winkler ?
bösewicht schrieb:> Aber, mein gcc scheint nichtmehr zu stimmen!Habe ich wohl selbst> verbockt (wie weiß ich nicht);> Welchen nimmst Du, Thomas Winkler ?
\arm-none-eabi-gcc-4_6
bösewicht schrieb:> --ausgezeichnet:> läuft wunderbar durch!!!
Das kann ich nur bestätigen:
PCLK2: 84000000
SYSCLK: 168000000
-----------------
initialize SDIO system ...
drive 0 ok
2741536 KB total drive space.
3922432 KB available.
SDIO system ok, free clusters: 85673
--- read/write test
Zeile 1
Zeile 2
Zeile le test ok.
--- reading directory
<LOG>
TEST.TXT
----------------------------------------
abermals: Merci!!!
-danke, ich hatte meinen "Toolchain-Path" offenbar überschrieben, als
ich in einem anderen Projekt *.lib linken wollte;
(demobuilder aus Open407I-C_demobuilder) --
@Thomas Winkler (Firma: privat) (diddl)
Jetzt, da alles geht, könntest Du doch dem CooCox-Forum einen Link auf
diese Seite spendieren( die freuen sich immer, wenn mal was funktioniert
--);
Compilieren geht, aber mit dem UART gibt es noch ein Problem mit dem
Buffer
Auf dem Terminal kommt nach dem Reset bloss "### Ã" raus, dann ist
Schluss. Wenn ich #define F_DIAG 0 setze, dann kommt immerhin "###
Discovery 32F4 Demo ###" raus.
Das Terminal-Problem offenbar liegt nicht am UART-Teil selber, irgendwo
bleibt die SW hängen. Habe eine 2GByte FAT16 uSD-Card, sollte doch
gehen, oder müsste ich was anpassen?
@Thomas Winkler
Dein Code geht definitiv nicht! Die Datei TEST.TXT wird zwar erstellt
(mit Inhalt) die Filesystem Funktionen scheinen sich mit dem printf
UART-Ausgaben zu beissen.
Ich nutze die USART6 und habe es auch ohne die minimalistische "retarget
printf" probiert, printf geht nicht! Wenn ich nach jedem printf() einige
ms Delay einbaue, kriege ich maximal soviel raus:
1
### Discovery 32F4 Demo ###
2
3
PCLK1: 42000000
4
PCLK2: 84000000
5
SYSCLK: 168000000
6
-----------------
7
initialize SDIO system ...
8
execute of f_mount() was succesfull
==> nach dieser Ausgabe ist das printf() tot!
Schade, dass Du hier was halbfertiges postest und offenbar auch nicht
bereit bist, Hilfe zu leisten! Ist so leider echt nicht zu gebrauchen...
Peter S. schrieb:> Schade, dass Du hier was halbfertiges postest und offenbar auch nicht> bereit bist, Hilfe zu leisten! Ist so leider echt nicht zu gebrauchen...
Schon lustig, da stellst Du selber IIC-Routinen für ein EEPROM 24C32 vor
und interessierst Dich selber nicht für Fehlermeldungen :-)
Beitrag "Re: STM32F4 Discovery mit I2C-Bus EEPROM"
Die von Dir geänderten Programmteile scheinen ebenfalls nur zufällig zu
funktionieren. Oder hast Du die vorgeschlagenen Test schon mal
erfolgreich durchgespielt oder einen String länger als 32Byte
geschrieben und 'sauber' zurückgelesen? Ich fürchte: nein.
@m.n. (Gast)
Ich habe versucht Dir zu erklären, dass es generische I2C-Bus Routinen
sind und nicht Device-Treiber für irgend ein spezifisches EEPROM!
Offenbar verstehst Du das nicht! Und das Beispiel, welches Du
erwähntest, bist Du auch schuldig geblieben. ==> Anyway, all dies gehört
NICHT in diesen Thread!
Beitrag "Re: STM32F4Discovery mit CooCox :: GPIO,SDIO,Timer,SoftTimer,USART,printf"Peter S. schrieb:> Ich nutze die USART6 und habe es auch ohne die minimalistische "retarget> printf" probiert, printf geht nicht! Wenn ich nach jedem printf() einige> ms Delay einbaue, kriege ich maximal soviel raus:> ### Discovery 32F4 Demo ###>> PCLK1: 42000000> PCLK2: 84000000> SYSCLK: 168000000> -----------------> initialize SDIO system ...> execute of f_mount() was succesfull> ==> nach dieser Ausgabe ist das printf() tot!
(Von was sprichst Du, Brüderchen?)
Die Ausgabe von USART2 mit "Retarget printf"
Hi Peter
Habe erst jetzt gesehen, dass du Probleme mit dem Code hast.
Was soll ich sagen, es läuft tadellos bei mir. Auch in viel größerem
Kontext laufen dieselben Basis Routinen tadellos.
Sowohl USART2 als auch SDIO werden intensiv genutzt in meinem Projekt.
Ich kann deine Probleme nicht nachvollziehen?
Peter S. schrieb:> Und das Beispiel, welches Du> erwähntest, bist Du auch schuldig geblieben.
Ich schulde Dir garnichts. Wenn Du unter der Überschrift "STM32F4
Discovery mit I2C-Bus EEPROM" Programme vorstellst, die fürs EEPROM
offensichtlich garnicht zu gebrauchen sind, ist das schon arg daneben.
> ==> Anyway, all dies gehört> NICHT in diesen Thread!
Und hier machts Du den Schiedsrichter und stänkerst über die scheinbar
fehlerhaften Routinen Anderer, ohne einen Beleg dafür zu erbringen.
Das einzige was kommt: es funktioniert nicht. Toll!
@Thomas Winkler
Erstmal "Sorry" für meinen etwas gehässigen Schlusssatz gestern Nacht!
Ich war wohl einfach müde und frustriert, dass ich es bei mir nicht zum
laufen kriege und ausgerechnet die zum debuggen hilfreiche UART nicht
tut.
Mein Discovery steckt auf einem STF4BB Baseboard:
http://www.embedinfo.com/English/download/DM-STF4BB.pdf
Dort hat's ein uSD-Card Interface und die UART6 ist mit einem
RS232Treiber versehen. Schema: Siehe Attachment (Problem erkennbar?)
Um die UART6 zu nutzen habe ich folgendes im UART.h beigefügt:
[c]
#if USART == 6
#define USARTx USART6
#define USARTx_CLK RCC_APB2Periph_USART6
#define USARTx_CLK_INIT RCC_APB2PeriphClockCmd
#define USARTx_IRQn USART6_IRQn
#define USARTx_IRQHandler USART6_IRQHandler
#define USARTx_TX_PIN GPIO_Pin_6
#define USARTx_TX_GPIO_PORT GPIOC
#define USARTx_TX_GPIO_CLK RCC_AHB1Periph_GPIOC
#define USARTx_TX_SOURCE GPIO_PinSource6
#define USARTx_TX_AF GPIO_AF_USART6
#define USARTx_RX_PIN GPIO_Pin_7
#define USARTx_RX_GPIO_PORT GPIOC
#define USARTx_RX_GPIO_CLK RCC_AHB1Periph_GPIOC
#define USARTx_RX_SOURCE GPIO_PinSource7
#define USARTx_RX_AF GPIO_AF_USART6
#endif
[\c]
Für die Fehlersuche habe ich nach einigen printfs() zusätzliche delays
eingefügt und zum Teil die Funktionsaufrufe aus den if()-Abfragen raus
genommen. Beim debuggen fand ich jedoch keine Fehler!
Ich habe das ganze Projekt einige Posts weiter oben beigefügt, könntest
Du bitte mal gucken ob es bei Dir noch tut, bzw. ob Du einen
entscheidenden Unterschied findest?
p.s. Ich nutze CoIDE 1.5.1 mit gcc-arm-none-eabi-4_6-2012q4-20121016
Hallo Peter
Keine Ursache. Leider habe ich grad kein F4 board zur Hand. Aber ich
sehe schon, du hast den USART von 2 auf 6 gewechselt, was ja an sich
keinen Unterschied machen sollte.
Nur eine schnelle Vermutung:
Ich gehe davon aus, dass du die richtigen Pins für USART 6 verwendest
hast, sonst würde es ja gar nicht gehen. Ich gehe auch davon aus, dass
die SDIO Pins keine Überschneidung haben, mit den von dir verwendeteten
USART6 Pins.
Da gibt es aber ein weiteres GPIO pin das für SDIO eine Rolle spielt. Es
ist als Eingang geschaltet und dient zur SD Kartenerkennung.
Möglicherweise ist da der hund begraben? Notfalls musst diesen Eingang
auf einen anderen Pin verlegen, dann sollte es meiner Meinung nach
funktionieren.
Ich kann mir das am Wochenende gerne mal genauer anschauen.
>note that only USART1 and USART6 are connected to APB2
Danke für den Hinweis, das habe ich übersehen und werde es prüfen!
Ohnehin war ich wohl viel zu sehr auf die SW fixiert und habe die HW zu
sehr ausser acht gelassen.
>Da gibt es aber ein weiteres GPIO pin das für SDIO eine Rolle spielt.
Welchen GPIO-Pin meinst Du, bzw wie hast Du die uSD-Card angeschlossen?
Bei STF4BB ist:
Pin-1 PC10 D2
Pin-2 PC11 CD/D3
Pin-3 PD2 CMD
Pin-4 VDD 3V
Pin-5 PC12 CLK
Pin-6 VSS GND
Pin-7 PC8 D0
Pin-8 PC9 D1
Pin-9 PD15 NCD
>Der SD_DETECT_PIN liegt da wo der TX des USART6 liegt ... ;-)
Das ist offenbar wirklich das Problem! Wie löst man das, braucht es
dieses SD_DETECT_PIN Signal? (Ist bei meinem Board offenbar nicht
vorhanden)
@Thomas Winkler
>Board Eigenheiten ... ;-)
Kann man auch so betrachten!
Hey, noch vielen Dank, nun kann ich weiter entdecken. Ist nämlich das
erste mal, dass ich was mit Filesystemen und gar mit SD-Cards mache.
Bleibt aber noch die Frage: Was ist/heisst IEC "InitIEC(void)" und was
brauche ich davon wirklich?
Noch was:
http://www.coocox.org/forum/topic.php?id=2236
Im obigen Thread steht, dass es Probleme mit DMA gibt, wenn was anderes
als -O0 verwende, sprich - der Code mit Optimierung compiliert wird!
Stimmt das? Das wäre ja eine eine ganz "böse Sache"...
zu 1)
Vergiss das IEC, stammt aus meinem größeren Projektkontext.
IEC ist ein sehr altes Bus Protokoll das der C64 zu seiner Peripherie
(Floppy, Drucker) gesprochen hat.
zu 2)
Kann so nicht stimmen. Ich benutze -O2 mit SDIO DMA, und es läuft gut.
Zum Einen ist der DMA ist nicht ganz unkritisch. Da hatte ich auch
ziemlich zu kämpfen. Deshalb auch die Doppelbuffer.
Zum Anderen bringt der DMA nicht die Welt. Wegen der 168 MHz ist der
Durchsatz beim Polling fast gleich. DMA bringt halt Entlastung der CPU
wenn es eng wird. Beim F4 wird es aber eher selten eng.
>Vergiss das IEC, stammt aus meinem größeren Projektkontext.
Ich hatte das InitIEC(void) auskommentiert, dann ging aber gar nix mehr.
Wird da sonst noch was initialisiert, dass benötigt wird? Oder was muss
ich noch "rausputzen" damit das ganze wirklich weg ist?
>Zum Anderen bringt der DMA nicht die Welt
Eine hohe Filesytem-Performance ist bei mir kein Thema, wie/was/wo
müsste man etwas ändern, dass das ganze ohne DMA läuft?
ich habe alles nach der Anleitung installiert
und wollte das Beispiel „ GPIO_INPUT_OUTPUT“ Kompilieren leider
Funktioniert das bei mir nicht .
Vielleicht kann mir einer weiterhelfen
GCC HOME: C:\Program Files\GNU Tools ARM Embedded\4.7 2012q4\bin
compile:
[mkdir] Created dir: D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\STM32F4_GPIO_INPUT_OUTPUT\Debug\
bin
[mkdir] Created dir: D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\STM32F4_GPIO_INPUT_OUTPUT\Debug\
obj
[cc] 6 total files to be compiled.
[cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -Wall
-ffunction-sections -g -O3 -c -DSTM32F407VG -DSTM32F4XX
-DUSE_STDPERIPH_DRIVER -D__FPU_USED "-ID:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot" "-ID:\kay\CoIDE
Projekte\Neuer Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis"
"-ID:\kay\CoIDE Projekte\Neuer Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT"
"-ID:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\include"
"-ID:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib" "-ID:\kay\CoIDE
Projekte\Neuer Ordner\coocox" '"D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot\startup\startup_stm32
f4xx.c"' '"D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\main.c"' '"D:\kay\CoIDE
Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\source\stm32f4xx_rcc.c
"' '"D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\source\stm32f4xx_gpio.
c"' '"D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot\system_stm32f4xx.c"'
'"D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\source\stm32f4xx_tim.c
"'
[cc] In file included from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\main.c:21:
[cc] D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis/core_cm4.h:135:0: warning:
"__FPU_USED" redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] In file included from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\include/stm32f4xx_rcc.
h:31,
[cc] from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\source\stm32f4xx_rcc.c
:56:
[cc] D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis/core_cm4.h:135:0: warning:
"__FPU_USED" redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] In file included from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\include/stm32f4xx_gpio
.h:32,
[cc] from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\source\stm32f4xx_gpio.
c:79:
[cc] D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis/core_cm4.h:135:0: warning:
"__FPU_USED" redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] In file included from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot\stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot\system_stm32f4xx.c:11
7:
[cc] D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis/core_cm4.h:135:0: warning:
"__FPU_USED" redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] In file included from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot/stm32f4xx.h:240:0,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\include/stm32f4xx_tim.
h:32,
[cc] D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis/core_cm4.h:135:0: warning:
"__FPU_USED" redefined [enabled by default]
[cc] from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\source\stm32f4xx_tim.c
:114:
[cc] Starting link
[cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -Wl -nostartfiles
-g -Wl,-Map=STM32F4_GPIO_INPUT_OUTPUT.map -O3 -Wl,--gc-sections
-LC:\CooCox\CoIDE\configuration\ProgramData\STM32F4_GPIO_INPUT_OUTPUT
-Wl,-TC:\CooCox\CoIDE\configuration\ProgramData\STM32F4_GPIO_INPUT_OUTPU
T/arm-gcc-link.ld -g -o STM32F4_GPIO_INPUT_OUTPUT.elf
..\obj\startup_stm32f4xx.o ..\obj\main.o ..\obj\stm32f4xx_rcc.o
..\obj\stm32f4xx_gpio.o ..\obj\system_stm32f4xx.o ..\obj\stm32f4xx_tim.o
[cc] arm-none-eabi-gcc: error: unrecognized command line option
'-Wl'
BUILD FAILED
Welche Versionen von CoIDE und GCC verwendest Du? Ich empfehle
CoIDE 1.5.2 und die letzte GCC 4.6 Version
(gcc-arm-none-eabi-4_6-2012q4-20121016)
Vielleicht findest Du hier eine Lösung:
http://www.coocox.org/forum/topic.php?id=2596
Und sobald etwas mit GCC zu tun hat, würde ich niemals Verzeichnisspfade
mit Spaces verwenden, selbst wenn CooCox diese als Default-Pfade
vorschlägt.
CoIDE 1.6.2
GCC 4.7-2012-q4
Toolchain : C:\Program Files\GNU Tools ARM Embedded\4.7 2012q4\bin
Das geht trotzdem nicht.
GCC HOME: C:\Program Files\GNU Tools ARM Embedded\4.7 2012q4\bin
compile:
[mkdir] Created dir: D:\kay\CoIDE
Projekte\Stm32F407_blink\Stm32F407_blink\Debug\bin
[mkdir] Created dir: D:\kay\CoIDE
Projekte\Stm32F407_blink\Stm32F407_blink\Debug\obj
[cc] 27 total files to be compiled.
[cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -Wall
-ffunction-sections -g -O0 -c -DSTM32F407VG -DSTM32F4XX -D__FPU_USED
-DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 "-ID:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib" "-ID:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis" "-ID:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include" "-ID:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\fatfs" "-ID:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\fatfs\src" "-ID:\kay\CoIDE
Projekte\Stm32F407_blink\src" "-ID:\kay\CoIDE Projekte" "-ID:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\include" "-ID:\kay\CoIDE
Projekte\Stm32F407_blink\Driver" "-ID:\kay\CoIDE
Projekte\Stm32F407_blink" "-ID:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot" '"D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_syscfg.c"'
'"D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_sdio.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\Driver\fatfs\src\fswrapper.c"'
'"D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_usart.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\Driver\source\Discovery.c"'
'"D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_pwr.c"'
'"D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\source\stm32f4_discovery_sdio_sd.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\Driver\source\sTimer.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\Driver\source\uart.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\Driver\fatfs\src\diskio.c"'
'"D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot\startup\startup_stm32f4xx.c"'
'"D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\source\stm32f4_discovery.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\main.c"' '"D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_rcc.c"'
'"D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_it.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\stdio\printf.c"' '"D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_gpio.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\cmsis_boot\system_stm32f4xx.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\syscalls\syscalls.c"'
'"D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_dma.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\Driver\fatfs\src\ff.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\src\Blink.c"' '"D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_exti.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\cmsis_lib\source\misc.c"'
'"D:\kay\CoIDE Projekte\Stm32F407_blink\src\SD_Test.c"' '"D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_rtc.c"'
'"D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_tim.c"'
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_syscfg.c:43:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/stm32f4xx_syscfg.h:32,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_sdio.c:155:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/stm32f4xx_sdio.h:38,
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\fatfs\src\fswrapper.c:25:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/stm32f4xx_usart.h:32,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_usart.c:85:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\source\Discovery.c:10:
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\include/Discovery.h:16,
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/stm32f4xx_pwr.h:32,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_pwr.c:32:
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\include/stm32f4_discovery.h:36,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\source\stm32f4_discovery_sdio_sd.c:230:
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\include/stm32f4_discovery_sdio_sd.h:38,
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx_conf.h:29,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\source\sTimer.c:23:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/misc.h:32,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\source\uart.c:25:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\fatfs\src\diskio.c:7:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\include/stm32f4_discovery.h:36,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\source\stm32f4_discovery.c:28:
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\include/Discovery.h:16,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\main.c:10:
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/stm32f4xx_rcc.h:31,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_rcc.c:56:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_it.c:14:
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/stm32f4xx_it.h:22,
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\stdio\printf.c:38:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/stm32f4xx_gpio.h:32,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_gpio.c:79:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot\stm32f4xx.h:240:0,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot\system_stm32f4xx.c:118:
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_dma.c:116:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/stm32f4xx_dma.h:32,
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\src\Blink.c:9:
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\Driver\include/discovery.h:16,
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/stm32f4xx_exti.h:32,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_exti.c:61:
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\misc.c:70:
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/misc.h:32,
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\src\SD_Test.c:10:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/stm32f4xx_rtc.h:32,
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_rtc.c:277:
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] In file included from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_boot/stm32f4xx.h:240:0,
[cc] D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis/core_cm4.h:135:0: warning: "__FPU_USED"
redefined [enabled by default]
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\include/stm32f4xx_tim.h:32,
[cc] <command-line>:0:0: note: this is the location of the
previous definition
[cc] from D:\kay\CoIDE
Projekte\Stm32F407_blink\cmsis_lib\source\stm32f4xx_tim.c:114:
[cc] Starting link
[cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -Wl -nostartfiles
-g -Wl,-Map=Stm32F407_blink.map -O0 -Wl,--gc-sections
-LC:\CooCox\CoIDE\configuration\ProgramData\Stm32F407_blink
-Wl,-TC:\CooCox\CoIDE\configuration\ProgramData\Stm32F407_blink/arm-gcc-
link.ld -g -o Stm32F407_blink.elf ..\obj\stm32f4xx_syscfg.o
..\obj\stm32f4xx_sdio.o ..\obj\fswrapper.o ..\obj\stm32f4xx_usart.o
..\obj\Discovery.o ..\obj\stm32f4xx_pwr.o
..\obj\stm32f4_discovery_sdio_sd.o ..\obj\sTimer.o ..\obj\uart.o
..\obj\diskio.o ..\obj\startup_stm32f4xx.o ..\obj\stm32f4_discovery.o
..\obj\main.o ..\obj\stm32f4xx_rcc.o ..\obj\stm32f4xx_it.o
..\obj\printf.o ..\obj\stm32f4xx_gpio.o ..\obj\system_stm32f4xx.o
..\obj\syscalls.o ..\obj\stm32f4xx_dma.o ..\obj\ff.o ..\obj\Blink.o
..\obj\stm32f4xx_exti.o ..\obj\misc.o ..\obj\SD_Test.o
..\obj\stm32f4xx_rtc.o ..\obj\stm32f4xx_tim.o
[cc] arm-none-eabi-gcc: error: unrecognized command line option
'-Wl'
>CoIDE 1.6.2>GCC 4.7-2012-q4>Toolchain : C:\Program Files\GNU Tools ARM Embedded\4.7 2012q4\bin>Das geht trotzdem nicht.
Dann lese doch nochmals mein mein obiges Post durch und gucke Dir auch
auch den Link an! Du solltest den GCC 4.6 verwenden, CooCox läuft noch
nicht mit GCC 4.7!!!
Und statt seitenweise Compiler-Outputs per Copy+Paste hier reinzumüllen
(der letzte Abschnitt hätte übrigens gereicht) bitte ich Dich, sowas
beim nächsten mal in ein Textfile zu kopieren und dieses als Attachment
beizufügen.
Thomas, hast du dir die Treiber selbst geschrieben? Hab es mir nicht so
genau angeschaut, aber ich benutze ChibiOS. Da sind schon alle
Peripherie-Treiber mit drin (und die funktionieren sogar tadellos :-)).
Der stdio wrapper ist ganz praktisch, werde mir vielleicht ein bischen
was davon klauen und für ChibiOS anpassen...
EDIT: Habe jetzt erst gemerkt, dass du gar kein CooOS verwendest. Willst
alles zu Fuß machen?
> Noch was:> http://www.coocox.org/forum/topic.php?id=2236> Im obigen Thread steht, dass es Probleme mit DMA gibt, wenn was anderes> als -O0 verwende, sprich - der Code mit Optimierung compiliert wird!> Stimmt das? Das wäre ja eine eine ganz "böse Sache"...
Hallo,
ich hatte dieses Problem. Nachdem ich "DAC_InitTypeDef
DAC_InitStructure;" global definiert habe, trat das Problem nicht mehr
auf. Warum das so ist, weiß ich allerdings nicht.
Nachtrag: Interessanterweise wird im DAC_SignalsGeneration Example,
welches bei Cocoox vorgeschlagen wird, diese Variable ebenfalls global
definiert.
Es muss da also einen Grund geben. Wenn man es nämlich nicht tut, so
tritt das Problem auf.
Hallo Thomas
Erstmal herzlichen Dank für den Code. Vorallem für die FatFS
Integration. Läuft bei mir auf einem OLIMEX H407 Board.
Im Moment versuche ich das ganze etwas zu begreifen, und bei den IRQ's
habe ich ein Problem. Braucht es die beiden IRQ's für SD jetzt oder
nicht ?
1
voidSDIO_IRQHandler(void)
2
{
3
/* Process All SDIO Interrupt Sources */
4
SD_ProcessIRQSrc();
5
}
6
7
voidSD_SDIO_DMA_IRQHANDLER(void)
8
{
9
/* Process DMA2 Stream3 or DMA2 Stream6 Interrupt Sources */
10
SD_ProcessDMAIRQ();
11
}
Ich habe sie in "stm32fxx_it.c" drin. Natürlich mit der ganze NVIC
Intialisierung in "main.c". Du hast die SDIO IRQ's nicht aktiviert, und
es läuft auch, oder übersehe ich etwas ?
So ganz den Ueberblick habe ich wohl noch nicht ;-)
Danke und Gruss
Daniel