STM32F4xx --Compiler-- Aber welcher zum Einstieg ?

OP (Firma: Angestellter/Freelancer) #2833076
Lesenswert?

Hallo,

ich besitze das STM32F4-Discovery-Board.
Und weiß nicht wo ich anfangen soll!

Ich hab schon so viel gelesen, aber die Auswahl an Compilern/Toolchains 
erschlägt mich. Und für den Laien, wie mich, ist es sehr schwer die 
Zusammenhänge zu verstehen.

Ich möchte unter Linux wie bei meinen AVR's nur im Terminal mit vi und 
gcc arbeiten. Und ich möchte mich nirgends registrieren.

Dann gibt es eine riesige Auswahl aus Compilern/Toolchains (???):
-GNUARM
-CooCox
-Codesoucery Codebench (irgendwas mit G++)
-ARM-GCC
-Yagarto
-irgendwas von launchpad.de

Da bin ich völlig überfordert, denn mit meiner kindlichen Naivität 
dachte ich folgendes:
-der STM32 hat einen ARM-Cortex-M4, also reicht 
http://wiki.ubuntuusers.de/GNU_ARM-Toolchain
-und ich habe die Stand_Periph_Libs von STM
-> Fertig

Aber irgendwie scheint das etwas komplizierter.

Also könnt ihr mir vielleicht sagen was man nun minimal braucht bzw. 
warum?

Vielen Dank!
Gast #2833103
Lesenswert?

so sollte das ja auch laufen (mit der ARM GCC Toolchain Pfade setzten 
nicht vergessen) ,
du brauchst ein Linkersript (du musst dich da auch einlesen sonst geht 
da nix)
du brauchst ein Startupfile (in der StdPeriphLib enthalten)
und ferner musst du die neueste CMSIS Lib benutzen da bei die alte nen 
Bug hat
Gast #2833385
Lesenswert?

> Ich möchte unter Linux wie bei meinen AVR's nur im Terminal mit vi und
> gcc arbeiten. Und ich möchte mich nirgends registrieren.

Okay, du bist ein echt harter Kerl. Also da gibt es nur eins, lade dir 
den Source runter uebersetze dir einen eigenen Compiler!


[olaf] ~/sources/STM32F407: cross-arm-gcc -v
Using built-in specs.
COLLECT_GCC=cross-arm-gcc
COLLECT_LTO_WRAPPER=/usr/local/cross/libexec/gcc/arm-none-eabi/4.7.0/lto 
-wrapper
Target: arm-none-eabi
Configured with: ../gcc-4.7.0/configure --target=arm-none-eabi 
--prefix=/usr/local/cross --program-prefix=cross-arm- --enable-interwork 
--enable-multilib --enable-languages=c,c++ --with-newlib --with-gnu-as 
--with-gnu-ld --disable-nls --disable-shared --disable-threads 
--disable-libssp --disable-libstdcxx-pch --disable-libmudflap 
--disable-libgomp --disable-werror --with-system-zlib 
--disable-newlib-supplied-syscalls 
--with-headers=/usr/src/CrossCompiler/Cross_arm/newlib-1.20.0/newlib/lib 
c/include
Thread model: single
gcc version 4.7.0 (GCC)


Olaf
Gast #2833388
Lesenswert?

> Also könnt ihr mir vielleicht sagen was man nun minimal braucht bzw.
> warum?

[olaf] /usr/src/CrossCompiler/SourceCodes: l
insgesamt 172M
-rw-rw-r--. 1 olaf  26M 22. Mai 17:48 binutils-2.22.tar.gz
drwxr-xr-x. 2 root 4,0K 29. Jun 21:15 Eclipse
-rw-rw-r--. 1 olaf 102M 22. Mai 17:59 gcc-4.7.0.tar.gz
-rw-rw-r--. 1 olaf  27M 22. Mai 18:01 gdb-7.4.tar.gz
-rw-rw-r--. 1 olaf 1,9M 22. Mai 18:26 gmp-4.3.2.tar.bz2
-rw-rw-r--. 1 olaf 533K 22. Mai 18:26 mpc-0.8.1.tar.gz
-rw-rw-r--. 1 olaf 1,1M 22. Mai 18:26 mpfr-2.4.2.tar.bz2
-rw-rw-r--. 1 olaf  14M 22. Mai 17:52 newlib-1.20.0.tar.gz
-rw-rw-r--. 1 olaf 957K 22. Mai 17:51 newlib-libc.pdf
-rw-rw-r--. 1 olaf 362K 22. Mai 17:52 newlib-libm.pdf

Oh...und etwa 2Gbyte Plattenplatz zum uebersetzen. :-)

Olaf
Gast #2843657
Lesenswert?

> Kennt ihr Informationsquellen, wo man mehr über Linker-Skripte erfährt?

man ld

Liefert die ganzen (viele Seiten lang!) Parameter zum Aufruf von ld.

info ld

Dort wird dann unter Punkt3 Linker Scripts die Sache erklaert.

Olaf

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren