www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C Programm auf NGW100


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: 900ss (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das programm wird aus dem Linux heraus gestartet, welches bereits 
vorinstalliert ist.

Autor: Marius Wensing (mw1987)
Datum:

Bewertung
0 lesenswert
nicht 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/Documentat...

MfG
Marius

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mark .. (mork)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ein bekannter Fehler und sollte durch ein downgraden Deines 
Host-Compilers von Version 4.3 auf 4.2 erledigt sein. Siehe auch 
http://www.atmel.no/buildroot/buildroot-issues.html (ganz unten)

MfG Mark

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.