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
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
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.
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 :(
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.