SUZAKU-VでTOPPERS/ASPを動かす#1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
* SUZAKU-VでTOPPERS/ASPを動かす#1 [#q6ffc018]
今回使用したSUZAKU-Vは、SZ410-U00です。また動作確認用に、...
TOPPERS/ASPはSUZAKU-S上のMicroBlaze向けにはリリースされて...
今回 Xilinx Virtex-4 FX 内蔵の PowerPC405コアへの移植を試...
#contents
----
**TOPPERS/ASPとは [#h28476c7]
- TOPPERS/ASPの情報は[[TOPPERSプロジェクト:http://www.top...
**開発環境の準備 [#bdf03a21]
+ Cygwinのインストール~
[[ここ:http://sourceware.org/cygwin/]]から「Install or up...
~
今回はSelect Packagesで以下のパッケージをインストールしま...
All
Archive
unzip 5.52-3
Devel
autoconf 6-1
automake 4-1
binutils 20080624-2
flex 2.5.35-1
gcc 3.4.4-999
make 3.81-2
ruby 1.8.7-p72-2
Perl
perl 5.10.0-5
Utils
cpio 2.9-1
file 4.21-1
patch 2.5.8-9
time 1.7-2
~
+PowerPC用ビルド環境の構築~
次の手順で行いました。~
~
++ディレクトリの準備~
次のディレクトリを作成し、カレントディレクトリに変更しま...
$ mkdir /suzakuv
++binutilsのダウンロード~
[[ここ:http://ftp.gnu.org/gnu/binutils/]]からダウンロード...
今回はbinutils-2.19.1.tar.gzをダウンロードし、/suzakuvに...
~
++binutilsのビルド~
PowerPC用にビルドとインストールを行います。
$ cd /suzakuv
$ tar xvfz binutils-2.19.1.tar.gz
$ cd binutils-2.19.1
$ mkdir build
$ cd build
$ ../configure --target=powerpc-suzakuv-elf --prefix=/su...
$ make CFLAGS="-O2"
$ make install
シンボリックリンクを作成しておきます。
$ mkdir /suzakuv/bin
$ cd /suzakuv/bin
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-addr2l...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-objcop...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-ar.exe...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-objdum...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-as.exe...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-ranlib...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-c++fil...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-readel...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-embeds...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-size.e...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-gprof....
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-string...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-ld.exe...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-strip....
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-nm.exe...
++gccと依存ファイルのダウンロード~
gccは[[ここ:http://mirror.anl.gov/pub/gnu/gcc/]]からダウ...
今回はgcc-4.4.0/gcc-4.4.0.tar.gzをダウンロードし、/suzaku...
依存ファイルとして、[[ここ:ftp://gcc.gnu.org/pub/gcc/infr...
さらに[[ここ:ftp://sources.redhat.com/pub/newlib/index.ht...
~
++gmpのビルド~
ビルドとインストールを行います。
$ cd /suzakuv
$ tar jxf gmp-4.2.4.tar.bz2
$ cd gmp-4.2.4
$ mkdir build
$ cd build
$ ../configure --prefix=/suzakuv/gmp
$ make CFLAGS="-O2"
$ make check
$ make install
++mpfrのビルド~
ビルドとインストールを行います。
$ cd /suzakuv
$ tar jxf mpfr-2.4.1.tar.bz2
$ cd mpfr-2.4.1
$ mkdir build
$ cd build
$ ../configure --with-gmp=/suzakuv/gmp --prefix=/suzakuv...
$ make CFLAGS="-O2"
$ make check
$ make install
++gccとnewlibのビルド~
PowerPC用にビルドとインストールを行います。
$ PATH=/suzakuv/binutils/bin:$PATH
$ export PATH
$ cd /suzakuv
$ tar xvfz newlib-1.17.0.tar.gz
$ tar xvfz gcc-4.4.0.tar.gz
$ cd gcc-4.4.0
$ ln -s ../newlib-1.17.0/newlib
$ ln -s ../newlib-1.17.0/libgloss
$ mkdir build
$ cd build
$ ../configure --target=powerpc-suzakuv-elf --enable-lan...
$ make CFLAGS="-O2"
$ make install
ビルド結果を確認。~
$ cd /suzakuv/gcc/bin
$ ./powerpc-suzakuv-elf-gcc -v
Using built-in specs.
Target: powerpc-suzakuv-elf
Configured with: ../configure --target=powerpc-suzakuv-e...
Thread model: single
gcc version 4.4.0 (GCC)
シンボリックリンクを作成しておきます。
$ cd /suzakuv/bin
$ ln -s /suzakuv/gcc/bin/powerpc-suzakuv-elf-cpp.exe cpp
$ ln -s /suzakuv/gcc/bin/powerpc-suzakuv-elf-gccbug gccbug
$ ln -s /suzakuv/gcc/bin/powerpc-suzakuv-elf-gcc-4.4.0.e...
$ ln -s /suzakuv/gcc/bin/powerpc-suzakuv-elf-gcov.exe gcov
$ ln -s /suzakuv/gcc/bin/powerpc-suzakuv-elf-gcc.exe gcc
~
+racc環境の構築~
TOPPERS/ASPは、TECS版を使用する予定です。~
TECSの環境変更でraccを使用しますので、ここで構築しておき...
次の手順で行いました。~
~
++ディレクトリの準備~
今回は先ほど作成した /suzakuv を使用します。~
~
++raccのダウンロード~
SubVersionリポジトリ http://i.loveruby.net/svn/public/rac...
今回はWindows上のTortoiseSVNでエクスポートし、/suzakuv/ra...
~
++raccのインストール~
raccのインストールを行います。
$ cd /suzakuv/racc-1.4.5
$ ruby setup.rb
**動作確認 [#w9661ca6]
簡単なプログラムを作成して、SUZAKU-V上で動かしてみます。~
ビルドしてSUZAKU-V上のLinux領域に上書きします。~
~
++サンプルプログラムについて~
このサンプルプログラムは、SUZAKU-V本体のLED赤を3回点滅・...
SUZAKU-VのFPGAコンフィグレーションはデフォルトである必要...
~
++ディレクトリ作成~
次のようにします。
$ cd /suzakuv
$ mkdir sample
$ cd sample
++ファイル作成~
次の2つのファイルを作成します。~
~
【sample.c】
#define LED_RED (0xF0FFA200)
#define LED_ON (0x00000000)
#define LED_OFF (0x00000001)
#define SOFT_RESET (0xF0FFA000)
#define REBOOT (0x00000001)
/* binファイルが小さすぎてHermit-At Win32が落ちる対策 */
int a[] = {0,1,2,3};
void main(void)
{
int *led_red = (int*)LED_RED;
int *soft_reset = (int*)SOFT_RESET;
int i,j;
*led_red = LED_OFF;
for(i=0;i<3;i++) {
for(j=0;j<100000;j++) {
}
*led_red = LED_ON;
for(j=0;j<100000;j++) {
}
*led_red = LED_OFF;
}
*soft_reset = REBOOT;
}
【Makefile】
ROOTDIR = /suzakuv
PATH := $(ROOTDIR)/bin:$(PATH)
CC = gcc
AS = as
LD = ld
OBJCOPY = objcopy
CFLAGS = -Wa,-m405
LDLIBS = $(ROOTDIR)/gcc/powerpc-suzakuv-elf/lib/libc.a
LDFLAGS = -e main -Ttext 0x00000000
TARGET = sample
BIN = $(TARGET).bin
ELF = $(TARGET).elf
OBJS = $(TARGET).o
all: $(BIN)
$(BIN): $(ELF)
$(OBJCOPY) -O binary $(ELF) $(BIN)
$(ELF): $(OBJS)
$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
%.o: %.c
$(CC) -c $(CFLAGS) -o $@ $<
clean:
-rm -f *.bin *.elf *.o *.map
++プログラムのビルド~
続いてmakeを実行します。
$ make
gcc -c -Wa,-m405 -o sample.o sample.c
ld -e main -Ttext 0x00000000 -o sample.elf sample.o /suz...
objcopy -O binary sample.elf sample.bin
++プログラムの書き込み~
PCでターミナルソフトを起動します。ターミナルソフトの設定...
ポート : 任意
ボーレート: 115200
データ : 8bit
パリティ : なし
ストップ : 1bit
フロー制御: なし
SUZAKU-VのJP1のみショートさせて電源に接続すると、次のメッ...
BBoot v2.6 (powerpc)
Press 'z' or 'Z' for BBoot Menu.
Hermit-At v1.1.21 (suzaku/powerpc) compiled at 18:40:14,...
hermit>
Harmitが起動すると、SUZAKU-VのLED赤が点灯します。~
続いて、SUZAKU-V付属のHermit-At Win32で先ほどのsample.bin...
そのため一旦ターミナルを切断して、Hermit-Atの設定を次のよ...
Serial Port: 任意
機能 : Download
Image : 上記のsample.binを選択
Region : Image
ForceLocked: チェックしない
この状態で実行をクリックすると、linuxの場所にsample.binが...
~
++プログラムの実行~
Hermit-At Win32を終了、再びターミナルを接続してSUZAKU-Vの...
hermitのコマンド入力待ちになるので、bootと入力します。~
うまくいけば、SUZAKU-VのLED赤が消灯し、リブートします。~
~
【実行例】
BBoot v2.6 (powerpc)
Press 'z' or 'Z' for BBoot Menu.
Hermit-At v1.1.21 (suzaku/powerpc) compiled at 18:40:14,...
hermit> boot
Copying kernel............................done. (ここで...
BBoot v2.6 (powerpc)
Press 'z' or 'Z' for BBoot Menu.
Hermit-At v1.1.21 (suzaku/powerpc) compiled at 18:40:14,...
hermit>
~
([[SUZAKU-VでTOPPERS/ASPを動かす#2]]に続きます)
~
----
#comment
Total:&counter(total); Today:&counter(today); Yesterday...
終了行:
* SUZAKU-VでTOPPERS/ASPを動かす#1 [#q6ffc018]
今回使用したSUZAKU-Vは、SZ410-U00です。また動作確認用に、...
TOPPERS/ASPはSUZAKU-S上のMicroBlaze向けにはリリースされて...
今回 Xilinx Virtex-4 FX 内蔵の PowerPC405コアへの移植を試...
#contents
----
**TOPPERS/ASPとは [#h28476c7]
- TOPPERS/ASPの情報は[[TOPPERSプロジェクト:http://www.top...
**開発環境の準備 [#bdf03a21]
+ Cygwinのインストール~
[[ここ:http://sourceware.org/cygwin/]]から「Install or up...
~
今回はSelect Packagesで以下のパッケージをインストールしま...
All
Archive
unzip 5.52-3
Devel
autoconf 6-1
automake 4-1
binutils 20080624-2
flex 2.5.35-1
gcc 3.4.4-999
make 3.81-2
ruby 1.8.7-p72-2
Perl
perl 5.10.0-5
Utils
cpio 2.9-1
file 4.21-1
patch 2.5.8-9
time 1.7-2
~
+PowerPC用ビルド環境の構築~
次の手順で行いました。~
~
++ディレクトリの準備~
次のディレクトリを作成し、カレントディレクトリに変更しま...
$ mkdir /suzakuv
++binutilsのダウンロード~
[[ここ:http://ftp.gnu.org/gnu/binutils/]]からダウンロード...
今回はbinutils-2.19.1.tar.gzをダウンロードし、/suzakuvに...
~
++binutilsのビルド~
PowerPC用にビルドとインストールを行います。
$ cd /suzakuv
$ tar xvfz binutils-2.19.1.tar.gz
$ cd binutils-2.19.1
$ mkdir build
$ cd build
$ ../configure --target=powerpc-suzakuv-elf --prefix=/su...
$ make CFLAGS="-O2"
$ make install
シンボリックリンクを作成しておきます。
$ mkdir /suzakuv/bin
$ cd /suzakuv/bin
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-addr2l...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-objcop...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-ar.exe...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-objdum...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-as.exe...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-ranlib...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-c++fil...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-readel...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-embeds...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-size.e...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-gprof....
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-string...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-ld.exe...
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-strip....
$ ln -s /suzakuv/binutils/bin/powerpc-suzakuv-elf-nm.exe...
++gccと依存ファイルのダウンロード~
gccは[[ここ:http://mirror.anl.gov/pub/gnu/gcc/]]からダウ...
今回はgcc-4.4.0/gcc-4.4.0.tar.gzをダウンロードし、/suzaku...
依存ファイルとして、[[ここ:ftp://gcc.gnu.org/pub/gcc/infr...
さらに[[ここ:ftp://sources.redhat.com/pub/newlib/index.ht...
~
++gmpのビルド~
ビルドとインストールを行います。
$ cd /suzakuv
$ tar jxf gmp-4.2.4.tar.bz2
$ cd gmp-4.2.4
$ mkdir build
$ cd build
$ ../configure --prefix=/suzakuv/gmp
$ make CFLAGS="-O2"
$ make check
$ make install
++mpfrのビルド~
ビルドとインストールを行います。
$ cd /suzakuv
$ tar jxf mpfr-2.4.1.tar.bz2
$ cd mpfr-2.4.1
$ mkdir build
$ cd build
$ ../configure --with-gmp=/suzakuv/gmp --prefix=/suzakuv...
$ make CFLAGS="-O2"
$ make check
$ make install
++gccとnewlibのビルド~
PowerPC用にビルドとインストールを行います。
$ PATH=/suzakuv/binutils/bin:$PATH
$ export PATH
$ cd /suzakuv
$ tar xvfz newlib-1.17.0.tar.gz
$ tar xvfz gcc-4.4.0.tar.gz
$ cd gcc-4.4.0
$ ln -s ../newlib-1.17.0/newlib
$ ln -s ../newlib-1.17.0/libgloss
$ mkdir build
$ cd build
$ ../configure --target=powerpc-suzakuv-elf --enable-lan...
$ make CFLAGS="-O2"
$ make install
ビルド結果を確認。~
$ cd /suzakuv/gcc/bin
$ ./powerpc-suzakuv-elf-gcc -v
Using built-in specs.
Target: powerpc-suzakuv-elf
Configured with: ../configure --target=powerpc-suzakuv-e...
Thread model: single
gcc version 4.4.0 (GCC)
シンボリックリンクを作成しておきます。
$ cd /suzakuv/bin
$ ln -s /suzakuv/gcc/bin/powerpc-suzakuv-elf-cpp.exe cpp
$ ln -s /suzakuv/gcc/bin/powerpc-suzakuv-elf-gccbug gccbug
$ ln -s /suzakuv/gcc/bin/powerpc-suzakuv-elf-gcc-4.4.0.e...
$ ln -s /suzakuv/gcc/bin/powerpc-suzakuv-elf-gcov.exe gcov
$ ln -s /suzakuv/gcc/bin/powerpc-suzakuv-elf-gcc.exe gcc
~
+racc環境の構築~
TOPPERS/ASPは、TECS版を使用する予定です。~
TECSの環境変更でraccを使用しますので、ここで構築しておき...
次の手順で行いました。~
~
++ディレクトリの準備~
今回は先ほど作成した /suzakuv を使用します。~
~
++raccのダウンロード~
SubVersionリポジトリ http://i.loveruby.net/svn/public/rac...
今回はWindows上のTortoiseSVNでエクスポートし、/suzakuv/ra...
~
++raccのインストール~
raccのインストールを行います。
$ cd /suzakuv/racc-1.4.5
$ ruby setup.rb
**動作確認 [#w9661ca6]
簡単なプログラムを作成して、SUZAKU-V上で動かしてみます。~
ビルドしてSUZAKU-V上のLinux領域に上書きします。~
~
++サンプルプログラムについて~
このサンプルプログラムは、SUZAKU-V本体のLED赤を3回点滅・...
SUZAKU-VのFPGAコンフィグレーションはデフォルトである必要...
~
++ディレクトリ作成~
次のようにします。
$ cd /suzakuv
$ mkdir sample
$ cd sample
++ファイル作成~
次の2つのファイルを作成します。~
~
【sample.c】
#define LED_RED (0xF0FFA200)
#define LED_ON (0x00000000)
#define LED_OFF (0x00000001)
#define SOFT_RESET (0xF0FFA000)
#define REBOOT (0x00000001)
/* binファイルが小さすぎてHermit-At Win32が落ちる対策 */
int a[] = {0,1,2,3};
void main(void)
{
int *led_red = (int*)LED_RED;
int *soft_reset = (int*)SOFT_RESET;
int i,j;
*led_red = LED_OFF;
for(i=0;i<3;i++) {
for(j=0;j<100000;j++) {
}
*led_red = LED_ON;
for(j=0;j<100000;j++) {
}
*led_red = LED_OFF;
}
*soft_reset = REBOOT;
}
【Makefile】
ROOTDIR = /suzakuv
PATH := $(ROOTDIR)/bin:$(PATH)
CC = gcc
AS = as
LD = ld
OBJCOPY = objcopy
CFLAGS = -Wa,-m405
LDLIBS = $(ROOTDIR)/gcc/powerpc-suzakuv-elf/lib/libc.a
LDFLAGS = -e main -Ttext 0x00000000
TARGET = sample
BIN = $(TARGET).bin
ELF = $(TARGET).elf
OBJS = $(TARGET).o
all: $(BIN)
$(BIN): $(ELF)
$(OBJCOPY) -O binary $(ELF) $(BIN)
$(ELF): $(OBJS)
$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
%.o: %.c
$(CC) -c $(CFLAGS) -o $@ $<
clean:
-rm -f *.bin *.elf *.o *.map
++プログラムのビルド~
続いてmakeを実行します。
$ make
gcc -c -Wa,-m405 -o sample.o sample.c
ld -e main -Ttext 0x00000000 -o sample.elf sample.o /suz...
objcopy -O binary sample.elf sample.bin
++プログラムの書き込み~
PCでターミナルソフトを起動します。ターミナルソフトの設定...
ポート : 任意
ボーレート: 115200
データ : 8bit
パリティ : なし
ストップ : 1bit
フロー制御: なし
SUZAKU-VのJP1のみショートさせて電源に接続すると、次のメッ...
BBoot v2.6 (powerpc)
Press 'z' or 'Z' for BBoot Menu.
Hermit-At v1.1.21 (suzaku/powerpc) compiled at 18:40:14,...
hermit>
Harmitが起動すると、SUZAKU-VのLED赤が点灯します。~
続いて、SUZAKU-V付属のHermit-At Win32で先ほどのsample.bin...
そのため一旦ターミナルを切断して、Hermit-Atの設定を次のよ...
Serial Port: 任意
機能 : Download
Image : 上記のsample.binを選択
Region : Image
ForceLocked: チェックしない
この状態で実行をクリックすると、linuxの場所にsample.binが...
~
++プログラムの実行~
Hermit-At Win32を終了、再びターミナルを接続してSUZAKU-Vの...
hermitのコマンド入力待ちになるので、bootと入力します。~
うまくいけば、SUZAKU-VのLED赤が消灯し、リブートします。~
~
【実行例】
BBoot v2.6 (powerpc)
Press 'z' or 'Z' for BBoot Menu.
Hermit-At v1.1.21 (suzaku/powerpc) compiled at 18:40:14,...
hermit> boot
Copying kernel............................done. (ここで...
BBoot v2.6 (powerpc)
Press 'z' or 'Z' for BBoot Menu.
Hermit-At v1.1.21 (suzaku/powerpc) compiled at 18:40:14,...
hermit>
~
([[SUZAKU-VでTOPPERS/ASPを動かす#2]]に続きます)
~
----
#comment
Total:&counter(total); Today:&counter(today); Yesterday...
ページ名: