Sziasztok!
Nem régen tértem át arch alapú linuxra (manjaro), szeretnék arm-ra fejleszteni alóla. Viszont mikor fordítok egy programot, ugyan azzal a paranccsal, ami alatt, pl mint alatt lefordult, itt a következő hibát dobja:
make all
Building file: ../main.c
Invoking: Cross GCC Compiler
arm-none-eabi-gcc -DPART_LM4F120H5QR -DARM_MATH_CM4 -DTARGET_IS_BLIZZARD_RA1 -I/home/erbal/src/stellaris -I/usr/lib/gcc/arm-none-eabi/4.5.1/include-fixed -I/usr/lib/gcc/arm-none-eabi/4.5.1/include -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include -O0 -g3 -Wall -c -fmessage-length=0 -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -ffunction-sections -fdata-sections -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.c"
as: unrecognized option '-mcpu=cortex-m4'
subdir.mk:21: recipe for target 'main.o' failed
make: *** [main.o] Error 1
Még nem találkoztam ilyen hibával, esetleg ötletek? :)
- 5708 megtekintés
Hozzászólások
Az a proci csak gcc 4.6-tól támogatott, neked meg ha jól látom, 4.5 van. (vagy nem tudom... Inkább nézd meg, de szerintem régi a gcc-d)
- A hozzászóláshoz be kell jelentkezni
4.8.1-re is ezt a hibát dobja sajnos
- A hozzászóláshoz be kell jelentkezni
Őszintén szólva csak egy tipp volt (google-n körülnéztem, a 4.6-os changelog-ban van utalás erre a procira)
Viszont ezeket a verziókat nem teljesen értem: két eltérő verziójú gcc van a gépeden? (az include könyvtárak miatt kérdezem)
- A hozzászóláshoz be kell jelentkezni
Hát most így próbálkozok, aztán arm-gcc-ből van fenn kettő. Legalábbis így hagyta telepíteni, meg minden. (Mondom, új nekem az arch) Szóval az eclipseben pedig megmondtam neki, melyik könyvtárat használja.
- A hozzászóláshoz be kell jelentkezni
arm-none-eabi-gcc -v mit mond?
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
A fenti hibaüzenetből kitűnik, hogy a GCC szépen lefordítja a kódot, viszont az 'as' (GNU assembler) dobja a hibaüzenetet. Valószínűleg régi binutils van feltelepítve. A legutolsó verziót néztem (2.24), ott már a cortex-m4 támogatott, nem néztem melyik verziótól kezdve.
https://sourceware.org/binutils/docs-2.24/as/ARM-Options.html#ARM-Optio…
Szerk: vagy rossz a keresztfordítós build rendszer, és az x86/amd64 verziós 'as'-t hívja meg a gcc az ARM verziós (pl. arm-none-eabi-as) helyett. Biztos hogy az arm-none-eabi-binutils csomag is fel van telepítve?
- A hozzászóláshoz be kell jelentkezni
Közben arra jutottam, hogy már túl sokmindent telepítettem, már én is összekavarodtam. Mivel friss telepítés volt, nem sajnáltam, újrahúztam a manjarot.
Feltettem ezt: https://launchpad.net/gcc-arm-embedded, illetve https://aur.archlinux.org/packages/arm-none-eabi-gcc/ ezt. Az eclipset beállítottam e szerint: http://kernelhacks.blogspot.hu/2012/11/the-complete-tutorial-for-stella…
Most itt járok:
make all
Building file: ../blinky.c
Invoking: Cross GCC Compiler
arm-none-eabi-gcc -DPART_LM4F120H5QR -DARM_MATH_CM4 -DTARGET_IS_BLIZZARD_RA1 -I/home/erbal/scr -O0 -g3 -Wall -c -fmessage-length=0 -mthumb -mtune=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -ffunction-sections -fdata-sections -MMD -MP -MF"blinky.d" -MT"blinky.d" -o "blinky.o" "../blinky.c"
../blinky.c: In function 'main':
subdir.mk:21: recipe for target 'blinky.o' failed
../blinky.c:45:1: sorry, unimplemented: Thumb-1 hard-float VFP ABI
{
^
make: *** [blinky.o] Error 1
- A hozzászóláshoz be kell jelentkezni
es mi van a 45-ik sorban? -_-
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
Konkrétan ennyi: "{" :D
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Egyelőre ezt mondja: cc1: error: unknown pass multilib specified in -fdisable
De még bírkozok vele :)
- A hozzászóláshoz be kell jelentkezni
Én tennék egy próbát a soft floattal is. Elnézést kér, nincs megimplementálva: én azt gondolom, még nem jutott el idáig a GCC fejelsztése. Hátha a soft floattal előrébb járnak...
Fuszenecker_Róbert
- A hozzászóláshoz be kell jelentkezni
Boldog új évet mindenkinek! :)
szerk.: sikerült megoldani, úgy néz ki, működik. Délután írok, hogy ha biztos, és akkor le is írom a megoldást. :)
- A hozzászóláshoz be kell jelentkezni