Domanda

voglio imparare a programmare in assembler per PowerPC e ARM, ma sono in grado di acquistare hardware reale per questo scopo. Sto pensando di usare QEMU per questo. Comunque io non sono sicuro se emula entrambe le architetture abbastanza bene, che io compilare ed eseguire i miei programmi in assembler nativo su di esso?

È stato utile?

Soluzione

QEMU funziona bene per il programma di testing Correzione (vale a dire se il codice sarebbe correttamente eseguito su un braccio reale o PowerPC), ma non è un bene per il programma efficienza testing: il l'emulazione non è ciclo preciso, e la velocità misurata con QEMU non può essere affidabile (o anche inaffidabile) correlato con velocità sulla vera hardware.

Inoltre, QEMU sarà non intrappolare memoria allineato accessi, che non è un problema per l'emulazione PowerPC (PowerPC tollera accessi non allineati), ma può essere per ARM (un accesso non allineato, ad esempio leggendo una parola di 32 bit nella RAM da un indirizzo che non è un multiplo di 4, funzionerà bene con QEMU ma innescherebbe un'eccezione su un vero e proprio processore ARM).

Oltre a questi punti, QEMU va bene per lo sviluppo montaggio su ARM o MIPS (non hanno provato PowerPC, perché ho trovato un vecchio iBook su eBay per questo, ma io ho fatto ARM e MIPS montaggio con QEMU e poi corse il risultante codice sul vero hardware, e questo ha funzionato). O si può emulare un intero sistema ed eseguire Debian in esso (nel qual caso il compilatore, linker, editor di testo ... sarà anche eseguito in emulazione), o utilizzare il "emulazione user-mode", in cui il braccio / MIPS eseguibile viene eseguito direttamente, con un involucro che converte chiamate di sistema in quelli per il PC host (ciò presuppone che l'host è un PC con Linux). Il secondo è più conveniente (si ha accesso alla vostra home directory normale, strumenti di programmazione sono nativi ...), ma richiede l'installazione di strumenti di cross-sviluppo. Vedi buildroot per questo (e legame con -static, questo eviterà molti mal di testa).

Altri suggerimenti

Da quando ho trovato segni che Debian per PowerPC e per ARM può funzionare su QEMU, suppongo che questo non sarà un problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top