2016-03-27 8 views
0


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

Источника составлен был:

$ 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 

ответ

1

Другой, чем при использовании тренажера, почему бы вам не попросить реальную свободную виртуальную машину, чтобы сделать развитие/обучение? Из того, что вы говорите, он должен работать лучше.

Вы можете задать VM в следующих местах:

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

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

+1

Виртуальная машина тоже понравилась бы. Я использовал слово «симулятор», чтобы обобщить необходимость. Спасибо за ссылки. Во всяком случае, этот сайт minicloud предлагает использовать некоторую ОС. Мне нужна виртуализация или симуляция чистого процессора, чтобы иметь возможность исследовать архитектуру с практикой, а не только теорией. –

1

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

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

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