2016-03-27 19 views
0


私はPowerPCアーキテクチャの学習を始めようとしています。その例として、NXPのウェブサイトとそのSDKのリファレンスマニュアルをダウンロードしていますので、ベアボードアプリケーションでさえも作成できます。私は仮想ホスト環境を使っています。 PowerPCプロセッサを搭載したボードはありませんので、デバッグにはシミュレータを使いたいと思います。
この手順では少し混乱します。だから、私はベアボードアプリケーション(「Hello World」のアプリケーション)を構築しました。そして、今はシミュレータでそれを実行したいと思います。私はこのようなコマンドを使用しようとしました:qemu-system-ppc -machine ppce500 -cpu e500v2 -nographic -kernel ./a.outと何も見えませんでした。 qemuは、単にホストCPUをロードします。 ./a.outは、コマンド$CC -static ./tst.cでビルドされたバイナリです。だから、今私はqemuの対処方法も知らない。
私はe500v2コアを搭載したFreescale P1010プロセッサの仮想ホスト環境を使用しています。このバイナリは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

仮想マシンも素晴らしいでしょう。私は単語 'シミュレータ'を使用して、必要性を一般化しました。リンクありがとう。とにかく、そのミニサイトはいくつかのOSを使うことを提案している。私が必要とするのは、ベア・プロセッサーの仮想化またはシミュレーションであり、理論だけでなく実践でアーキテクチャーを探索する能力を持つことです。 –

1

あなたは何を見ていないQEMUをカーネルではなくユーザスペースのバイナリを実行する-system-powerpc。

ユーザー空間プログラミングを突っ込んでみたいのであれば、qemu-ppcバイナリを試してみてください。そうすれば、syscallsの翻訳などの作業を32bit PowerPCのユーザー空間で実行できます。

ベアメタルをプログラムする場合は、独自の小型OSを特定のマシンタイプ(つまり、呼び出しているwrite()コールを実装する必要がある)に書き始めることもできます。