Любые предложения симулятора PowerPC?


Я собираюсь начать изучать архитектуру PowerPC, и в качестве примера я загрузил несколько справочных руководств с веб-сайта NXP, а также их SDK, чтобы я мог создавать даже базовые приложения. Чтобы быть точным, я использую среду виртуального хоста. У меня нет платы с процессором PowerPC, поэтому я хотел бы использовать симулятор для отладки.
На этом этапе я немного запутался. Итак, я создал bareboard-приложение (Hello World). И теперь я хотел бы запустить его с помощью симулятора. Я пробовал использовать такую ​​команду: qemu-system-ppc -machine ppce500 -cpu e500v2 -nographic -kernel ./a.out и ничего не увидел. qemu просто загружает центральный процессор. ./a.out — это двоичный файл, созданный с помощью команды $CC -static ./tst.c. Итак, теперь я даже не знаю, как быть с qemu.
Для тех, кто хочет помочь: я использую среду Virtual Host для процессора Freescale P1010 с ядром e500v2, бинарник был собран с их fsl-* коммунальные услуги.

Скомпилированный источник:

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

Компиляция происходила так:

$ 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

person Sergey Kanaev    schedule 27.03.2016    source источник


Ответы (2)


Помимо использования симулятора, почему бы вам не попросить настоящую бесплатную виртуальную машину для разработки/обучения? Судя по тому, что вы говорите, должно работать лучше.

Вы можете задать вопрос виртуальной машине на следующих сайтах:

[Бразилия] http://openpower.ic.unicamp.br/minicloud/

[Китай] https://dashboard.ptopenlab.com

person Breno Leitão    schedule 29.03.2016
comment
Виртуальная машина тоже не помешала бы. Я использовал слово simulator, чтобы обобщить потребность. Спасибо за ссылки. Во всяком случае, этот сайт minicloud предлагает использовать какую-то ОС. Что мне нужно, так это виртуализация или симуляция голого процессора, чтобы иметь возможность исследовать архитектуру на практике, а не только в теории. - person Sergey Kanaev; 29.03.2016

Вы ничего не видите, поскольку просите qemu-system-powerpc запустить двоичный файл пользовательского пространства, а не ядро.

Если вы просто хотите поковыряться в программировании пользовательского пространства, попробуйте вместо этого двоичный файл qemu-ppc, так как он будет запускать 32-битное пользовательское пространство PowerPC, выполняя такие вещи, как перевод системных вызовов.

Другой вариант, если вы хотите запрограммировать «голое железо», — начать писать свою собственную крошечную ОС для определенного типа машины (т. е. вам придется реализовать вызов write(), который вы вызываете).

person Stewart Smith    schedule 01.09.2017