Я собираюсь начать изучать архитектуру 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