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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.