/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
installation af arm kryds compiler
Fra : Kim


Dato : 09-05-02 00:17

hej,
udfordringen er at jeg skal bruge en krydscompiler i en redhat til en arm
processor. Jeg følger den 'nemme' installionsprocedure fra
<http://www.lart.tudelft.nl/lartware/compile-tools/> - altså bruger den
pre-compileret tarball. Jeg har husket at placere det hele under
/data/lark/cross..som der står på siden.. koden som skal kompileres:

main (){
}
}
jeg kan få assembler kode ud af det med: arm-linux-gcc -S hej.c

men jeg kan ikke kompilerer det helt ..altså: arm-linux-gcc hej.c fejl
beskeden:

arm-linux-gcc hej.c
/tmp/ccKXYoWb.s: Assembler messages:
/tmp/ccKXYoWb.s:1: Error: Rest of line ignored. First ignored character is
`@'. /tmp/ccKXYoWb.s:9: Error: Rest of line ignored. First ignored
character is `@'. /tmp/ccKXYoWb.s:10: Error: Rest of line ignored. First
ignored character is `@'./tmp/ccKXYoWb.s:11: Error: too many memory
references for `mov' /tmp/ccKXYoWb.s:12: Error: no such instruction:
`stmfd sp!,{fp,ip,lr,pc}' /tmp/ccKXYoWb.s:13: Error: too many memory
references for `sub' /tmp/ccKXYoWb.s:15: Error: no such instruction:
`ldmea fp,{fp,sp,pc}'

hvad er problemet? skal man sætte et memory map op eller er det bare
linkeren som fejler (mener det hedder en linker, men har måske glemt det
her midt om natten..)

vh
Kim

 
 
Rasmus Bøg Hansen (09-05-2002)
Kommentar
Fra : Rasmus Bøg Hansen


Dato : 09-05-02 12:08

Kim wrote:

> hej,
> udfordringen er at jeg skal bruge en krydscompiler i en redhat til en arm
> processor. Jeg følger den 'nemme' installionsprocedure fra
> <http://www.lart.tudelft.nl/lartware/compile-tools/> - altså bruger den
> pre-compileret tarball. Jeg har husket at placere det hele under
> /data/lark/cross..som der står på siden.. koden som skal kompileres:

> arm-linux-gcc hej.c
> /tmp/ccKXYoWb.s: Assembler messages:
> /tmp/ccKXYoWb.s:1: Error: Rest of line ignored. First ignored character is
> `@'. /tmp/ccKXYoWb.s:9: Error: Rest of line ignored. First ignored
> character is `@'. /tmp/ccKXYoWb.s:10: Error: Rest of line ignored. First
> ignored character is `@'./tmp/ccKXYoWb.s:11: Error: too many memory
> references for `mov' /tmp/ccKXYoWb.s:12: Error: no such instruction:
> `stmfd sp!,{fp,ip,lr,pc}' /tmp/ccKXYoWb.s:13: Error: too many memory
> references for `sub' /tmp/ccKXYoWb.s:15: Error: no such instruction:
> `ldmea fp,{fp,sp,pc}'

Er du sikker på, gcc benytter sig af cross-assembleren og ikke maskinens
egen assembler? Altså arm-linux-as i stedet for as?

/Rasmus

--
-- [ Rasmus "Møffe" Bøg Hansen ] ---------------------------------------
It ain't possible for a dumb to sing no matter how good his
dice rolls are!
-- SmurfQuest rules
----------------------------------[ moffe at amagerkollegiet dot dk ] --

Kim Led Bendtsen (09-05-2002)
Kommentar
Fra : Kim Led Bendtsen


Dato : 09-05-02 13:27



Peter Korsgaard (09-05-2002)
Kommentar
Fra : Peter Korsgaard


Dato : 09-05-02 14:59

>>>>> "Kim" == Kim Led Bendtsen <klbe00@control.auc.dk> writes:

>> Er du sikker på, gcc benytter sig af cross-assembleren og ikke
>> maskinens egen assembler? Altså arm-linux-as i stedet for as?
Kim> nope, jeg tror faktisk det er problemet.

Alternativt kan du bruge crosscompileren fra handhelds.org
(gcc 2.95.4) fra
ftp://ftp.handhelds.org/pub/linux/arm/toolchain/jacques/ (40megs)

Den har jeg brugt uden problemer til at compilere til min ipaq.

--
Bye, Peter Korsgaard

Rasmus Bøg Hansen (10-05-2002)
Kommentar
Fra : Rasmus Bøg Hansen


Dato : 10-05-02 14:22

Kim Led Bendtsen wrote:

>> > arm-linux-gcc hej.c
>> > /tmp/ccKXYoWb.s: Assembler messages:
>> > /tmp/ccKXYoWb.s:1: Error: Rest of line ignored. First ignored character
>> > is `@'. /tmp/ccKXYoWb.s:9: Error: Rest of line ignored. First ignored
>> > character is `@'. /tmp/ccKXYoWb.s:10: Error: Rest of line ignored.
>> > First ignored character is `@'./tmp/ccKXYoWb.s:11: Error: too many
>> > memory references for `mov' /tmp/ccKXYoWb.s:12: Error: no such
>> > instruction: `stmfd sp!,{fp,ip,lr,pc}' /tmp/ccKXYoWb.s:13: Error: too
>> > many memory references for `sub' /tmp/ccKXYoWb.s:15: Error: no such
>> > instruction: `ldmea fp,{fp,sp,pc}'
>>
>> Er du sikker på, gcc benytter sig af cross-assembleren og ikke maskinens
>> egen assembler? Altså arm-linux-as i stedet for as?
> nope, jeg tror faktisk det er problemet.
>
> hvis jeg først kører arm-linux-gcc -S fil.c
> og så arm-linux-as fil.s
> så får jeg en a.out som vel egentlig er korrekt.. har ikke testet det
> endnu
>
> kan det ikke sættes op så man bruger arm-linux-as assembleren automatisk ?

Jeg har meget lille erfaring i cross-compilere (idet jeg kun har med PC'ere
at gøre), men jeg mener man gør det ved oversættelsen af cross-gcc'en...

/Rasmus

--
-- [ Rasmus "Møffe" Bøg Hansen ] ---------------------------------------
Hidden DOS secret:
add BUGS=OFF to your CONFIG.SYS
----------------------------------[ moffe at amagerkollegiet dot dk ] --

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408886
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste