Frage

Ich mag für PowerPC und ARM Programmierung in Assembler lernen, aber ich bin nicht in der Lage zu diesem Zweck reale Hardware zu kaufen. Ich denke an QEMU dafür verwenden. Allerdings bin ich nicht sicher, ob es die beiden Architekturen genug gut emuliert, dass ich kompilieren und meine Programme in nativer Assembler darauf laufen?

War es hilfreich?

Lösung

QEMU funktioniert gut für Programm testen Korrektur (dh, ob der Code würde auf einer tatsächlichen ARM oder PowerPC ordnungsgemäß ausgeführt werden), aber es ist nicht gut für das Programm zu testen Effizienz : die Emulation ist nicht Zyklus genau und Geschwindigkeit gemessen mit QEMU nicht zuverlässig sein kann (oder sogar unreliably) korreliert Geschwindigkeit auf echte Hardware.

Auch QEMU nicht Fall nicht ausgerichtete Speicherzugriffe, die für PowerPC-Emulation ist kein Problem (der PowerPC duldet nicht ausgerichtete Zugriffe), kann aber für ARM (einen nicht ausgerichteten Zugriff, zB das Lesen ein 32-Bit-Wortes in RAM von einer Adresse die nicht ein Vielfaches von 4 ist, wird mit QEMU funktionieren würde aber eine Ausnahme auf einer wahren ARM-Prozessor auslösen).

Neben diesen Punkten ist QEMU fein für die Montage Entwicklung auf ARM oder MIPS (haben PowerPC nicht ausprobiert, weil ich ein altes iBook auf eBay für das gefunden, aber ich habe ARM und MIPS Montage mit QEMU gemacht und lief dann die dieser Code auf echte Hardware, und das funktionierte). Sie können entweder ein ganzes System und führen Sie Debian darin (in diesem Fall der Compiler, Linker, Texteditor ... wird auch in Emulation ausgeführt werden) emulieren, oder die „User-Mode-Emulation“ verwenden, wo die ARM / MIPS ausführbare Datei ausgeführt ist direkt, mit einer Umhüllung, die Systemaufrufe in solche für den Host-PC wandelt (dies setzt voraus, dass der Host ein PC läuft Linux). Letzteres ist bequemer (Sie Zugang zu Ihrem normalen Home-Verzeichnis haben, Programmiertools sind native ...), sondern erfordert Werkzeuge Quer Entwicklung installieren. Siehe buildroot dass (und Link mit -static, wird dies viele Kopfschmerzen vermeiden).

Andere Tipps

Da ich Anzeichen dafür, dass Debian gefunden für PowerPC und für ARM auf QEMU laufen kann, nehme ich dies kein Problem sein wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top