2016-03-27 17 views
0


Ich bin dabei, PowerPC-Architektur zu lernen und als Beispiel habe ich einige Referenzhandbücher von NXP-Website sowie deren SDK heruntergeladen, so dass ich sogar bareboard Anwendungen erstellen kann. Um genau zu sein benutze ich virtuelle Host-Umgebung. Ich habe keine Platine mit PowerPC-Prozessor drauf, also würde ich gerne einen Simulator zum Debuggen verwenden.
Bei diesem Schritt bin ich ein wenig verwirrt. Also, ich habe eine Bareboard-Anwendung (eine "Hallo Welt") gebaut. Und jetzt würde ich es gerne mit Simulator laufen lassen. Ich habe versucht, einen Befehl wie folgt zu verwenden: qemu-system-ppc -machine ppce500 -cpu e500v2 -nographic -kernel ./a.out und sah nichts. Die qemu lädt nur Host-CPU. ./a.out ist die Binärdatei, die mit dem Befehl $CC -static ./tst.c erstellt wurde. So, jetzt weiß ich nicht einmal, wie ich mit qemu umgehen soll.
Für diejenigen, die gerne helfen würden: Ich benutze Virtual Host-Umgebung für Freescale P1010-Prozessor mit e500v2 Kern, die Binärdatei wurde mit ihren fsl-* Dienstprogramme gebaut.Irgendwelche PowerPC Simulator Vorschläge?

Die Quelle erstellt wurde:

$ cat ./tst.c 
#include <unistd.h> 
#define STRING "This is a test.\n" 
int main(void) { 
    write(1, STRING, sizeof(STRING) - 1); 
    return 0; 
} 

Compilation Platz wie nahm:

$ echo $CC 
powerpc-fsl-linux-gnuspe-gcc -m32 -mcpu=8548 -mabi=spe -mspe -mfloat-gprs=double --sysroot=/opt/fsl-qoriq/1.9/sysroots/ppce500v2-fsl-linux-gnuspe 
$ $CC -static -o tst.bin ./tst.c 
$ file ./tst.bin 
./tst.bin: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), statically linked, for GNU/Linux 2.6.32, BuildID[sha1]=63b307e7afe9de0b2781f2f92b5f1b3a803f850d, not stripped 

Antwort

1

Andere als ein Simulator, Warum fragen Sie nicht für eine echte freie virtuelle Maschine Entwicklung zu tun/Lernen? Von dem, was du sagst, sollte es besser funktionieren.

Sie können in den folgenden Seiten eine VM fragen:

[Brasilien] http://openpower.ic.unicamp.br/minicloud/

[China] https://dashboard.ptopenlab.com

+1

Eine virtuelle Maschine wäre auch nett. Ich habe das Wort 'Simulator' verwendet, um die Notwendigkeit zu verallgemeinern. Danke für die Links. Wie auch immer, diese Minicloud-Site bietet die Möglichkeit, ein Betriebssystem zu verwenden. Was ich brauche, ist die Virtualisierung oder Simulation eines reinen Prozessors, um die Architektur mit der Praxis zu erforschen, nicht nur mit der Theorie. –

1

Du siehst nichts, wie Sie qemu sind gefragt -system-powerpc, um einen Userspace-Binärcode anstelle eines Kernels auszuführen.

Wenn Sie nur auf Userspace-Programmierung stochern wollen, versuchen Sie stattdessen die qemu-ppc-Binärdatei, da dies den 32bit PowerPC-Benutzerbereich ausführt, indem Sie beispielsweise syscalls übersetzen.

Eine andere Option, wenn Sie den Bare-Metal programmieren möchten, ist es, Ihr eigenes kleines Betriebssystem auf einen bestimmten Maschinentyp zu schreiben (d. H. Sie müssen den write() -Aufruf implementieren, den Sie anrufen).