C Programm auf NGW100

Gast #1175140
Lesenswert?

Hallo!

ich wollte folgendes Programm mit "avr32-gcc -o test test.c" compilieren

#include <stdio.h>
int main()
{
  printf("Test!\n");
  return 0;
}

als ich es dann auf das Board übertragen hatte und mit ./test starten 
wollte,
bekomme ich nur einen blinkenden cursor, jedoch keine Ausgabe.
Gast #1175165
Lesenswert?

Es fehlen Dir da einige Initialisierungen weiterer Hardware (UART, 
LCD-Treiber?). Grab mal in den Sourcen/Doku, wohin printf() seine 
Ausgabe schickt und initailisere dann die entsprechende Hardware noch. 
Das steckt nicht im Startup-Code der Lib. Mußt du beim AVR ja auch "zu 
Fuß" machen.
Ansonsten evtl. mal bei Avrfreaks suchen, vielleicht haben die was für 
native 'C'.

Gruß 900ss
#1175211
Lesenswert?

Also das Programm sollte soweit funktionieren. Aber du hast zum 
Kompilieren den "normalen" avr32-gcc genommen. Das wird so aber nicht 
funktionieren.

Der avr32-gcc kann nur Programme bauen, die nativ auf dem NGW laufen, 
also komplett ohne Linux. Wenn du ein Programm fürs NGW100 mit Linux 
drauf bauen willst, musst du avr32-linux-gcc nehmen. Den bekommst du, 
wenn du dir das aktuelle Buildroot von Atmel besorgst.

1. Buildroot 2.3.0 von Atmel runterlade und entpacken
2. "make atngw100_defconfig" ausführen
3. "make" ausführen
3b. Warten ;-)
4. Du solltest dann in build_avr32/staging_dir/usr/bin den 
avr32-linux-gcc finden, mit dem kannst du dann Linux-Programme bauen.

EDIT: Es empfiehlt sich auch, wenn du eh ein Buildroot gemacht hast, ein 
Update von Linux aufm NGW100. Die Anleitung gibts bei AVR-Freaks: 
http://www.avrfreaks.net/wiki/index.php/Documentation:NGW/Firmware_upgrade

MfG
Marius
Gast #1175290
Lesenswert?

Leider bricht das "make" mit einem Fehler ab. die letzten Zeilen waren:

/tmp/ccLYptgb.s: Assembler messages:
/tmp/ccLYptgb.s:12: Error: invalid register list `,lr'
/tmp/ccLYptgb.s:22: Error: invalid register list `,pc'
/tmp/ccLYptgb.s:36: Error: invalid register list `,pc'
/tmp/ccLYptgb.s:54: Error: invalid register list `,lr'
/tmp/ccLYptgb.s:68: Error: invalid register list `,pc'
make[2]: *** [crtbegin.o] Fehler 1
make[2]: Verlasse Verzeichnis 
'/home/user/Desktop/buildroot-avr32-v2.3.0/toolchain_build_avr32/gcc-4.2 
.2-initial/gcc'
make[1]: *** [all-gcc] Fehler 2
make[1]: Verlasse Verzeichnis 
'/home/user/Desktop/buildroot-avr32-v2.3.0/toolchain_build_avr32/gcc-4.2 
.2-initial'
make: *** 
[/home/user/Desktop/buildroot-avr32-v2.3.0/toolchain_build_avr32/gcc-4.2 
.2-initial/.compiled]  Fehler 2

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