Aslo folgendes, ich habe mir einen LPC2148 bestellt, ist zwar noch nicht
da, wollte aber schonmal was testweise compilieren, hab bisher immer nur
avr atmega's verwendet und hab es mit dem AVR-GCC compiliert.
Das sah immer wie folgt aus:
%avrdir%\bin\avr-gcc.exe -c %progdir%\main.c -o %progdir%\main.o -Os -g
-mmcu=%2
%avrdir%\bin\avr-gcc.exe %progdir%\main.o -o %progdir%\main.elf -mmcu=%2
%avrdir%\bin\avr-objcopy.exe -j .text -j .data -O ihex
%progdir%\main.elf %progdir%\main.hex
Nicht wundern über die Variablem, ich hab mir dafür ne schöne Batch
geschriebn. Jedenfalls dachte ich, ist ja auch nen GCC also müsste es so
funktionieren.
%armdir%\bin\arm-elf-gcc.exe -c %progdir%\main.c -o %progdir%\main.o -Os
-g -mmcu=%2
%armdir%\bin\arm-elf-gcc.exe %progdir%\main.o -o %progdir%\main.elf
-mmcu=%2
%armdir%\bin\arm-elf-objcopy.exe -j .text -j .data -O ihex
%progdir%\main.elf %progdir%\main.hex
Jedoch sagt er mir nach dem mir dann der er -mmcu.. net kennt, also hab
ich erstmal testweise rausgenommen und bekomme dann aber bem 2ten Befehl
die meldung vom Linker:
d:/programme/winarm/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/lib
\libc.a(
exit.o): In function `exit':
exit.c:(.text+0x28): undefined reference to `_exit'
Ich habe für das Prog folgenden Code verwendet
1 | #include <arch/philips/lpc214x.h>
|
2 |
|
3 | int main( void )
|
4 | {
|
5 | int i;
|
6 | GPIO0_IODIR |= ( 1<<25 ); // Pin 25 auf Ausgang
|
7 | GPIO0_IOSET = ( 1<<25 ); // Pin 25 auf HIGH schalten
|
8 |
|
9 | for( i = 0; i < 300000; i++ ){ // Etwas warten
|
10 | asm volatile("nop");
|
11 | }
|
12 |
|
13 | GPIO0_IOCLR = ( 1<<25 ); // Pin 25 auf LOW schalten
|
14 |
|
15 | while( 1 ){ // Endlos-Schleife
|
16 | }
|
17 | return 0;
|
18 | }
|
Habe mir auch das ARM-elf-GCC-Tutorial angeschaut, allerdings konnte mir
das nicht helfen, aber es verwieß auf das AVRC-GCC-Tutorial, aber alles
was ich daraus gewinnen konnte war ja schon in meiner Batch datei,
deshalb weiß ich jetzt nicht wirklich weiter.
Wenn der ARM-GCC mmcu nicht kennt muss ich ihm ja irgendwie anders sagen
was für ein ARM es ist.
Kann mir jemmand helfen ?
Danke im Voraus,
MfG Sören