www.mikrocontroller.net

Forum: Compiler & IDEs Frage zu ARM GCC toolchain


Autor: Christoph Rupp (cruppstahl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich bin Entwickler einer open-source Datenbankengine, die auch auf 
Embedded Plattformen läuft. Geschrieben in ANSI-C, läuft unter Linux und 
Windows. Windows CE kann ich mit dem Emulator von Microsoft testen, 
allerdings nur auf x86. Ich weiss aber, dass meine Datenbank auch auf 
ARM läuft.

Ich möchte ARM-, Sparc- und PowerPC-Plattformen (und eventuell noch 
andere) gern in meine Tests aufnehmen, als Betriebssystem Linux oder 
andere Unices; dabei habe ich bislang zwei Alternativen gefunden:

1. die komplette Plattform emulieren mit qemu
2. eine cross-compiler-toolchain (wie z.b. ARM GCC toolchain von 
mikrocontroller.net) benutzen

Lösung 2) scheint mir etwas einfacher zu sein, vor allem da qemu etwas 
kompliziert ausschaut - es gibt dort zwar images, z.b. von Sparc oder 
Linux auf ARM, allerdings sind sie sehr minimal... Lösung 1) ist 
umfangreicher, aber evtl auch flexibler, vor allem dank 
openembedded.org. Hat aber eine starke Lernkurve, und ich blicke noch 
nicht durch.

Was würdet ihr mir empfehlen? Habt ihr noch andere Ideen? Ich würde gern 
so viele Architekturen wie möglich durch meine Tests automatisiert 
abdecken.

Grüsse und Danke
Christoph

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur ANSI-C, kein POSIX o.ä.? Dann kannst du die ARM-GCC-Toolchain 
verwenden, da ist ein Simulator enthalten:
http://www.mikrocontroller.net/articles/Using_arm-elf-run

Autor: Christoph Rupp (cruppstahl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doch, sorry, Posix ist schon drin. Memory Mapped I/O (kann aber 
deaktiviert werden), und natürlich normale creat/open/close/read/write 
datei-zugriffe.

Simuliert die Toolchain einen big-endian ARM mit Alignment wie auf der 
Sparc (also integer nur 4-byte aligned etc?) Dann würde ich das auf alle 
Fälle ausprobieren, denn big endian und Sparc-Alignment kann ich derzeit 
nur sehr schwer testen.

Autor: Christoph Rupp (cruppstahl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab die ARM-GCC-Toolchain getestet.

Laut meinen Tests ist sie little endian und kann Byte-Alignment. Ich 
weiss nicht ob das für ARM normal ist, aber es ist jedenfalls nicht das, 
was ich suche, ich brauche leider genau das Gegenteil :(

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man müsste mit der Toolchain auch Big Endian kompilieren können, 
probier's mal mit -mbig-endian. Ob das der Simulator dann auch frisst 
weiß ich allerdings nicht. 4-byte-Alignment macht der ARM-Compiler 
nicht.

Schau dir mal RTEMS an (das ist ein RTOS für u.a. SPARC), da findest du 
eine Toolchain und Hinweise zur Simulation.

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.