68000アセンブラ環境を無料でパソコン上に作る
【目次】
2003年8月6日
はじめに
本文書では、68000アセンブラの実験環境をLinux上に構築する方法を解説する。対象とするLinuxディストリビューションはRed Hat Linux 9である。FreeBSDを使用する場合は、「FreeBSD上で68000アセンブラの実験環境を作る」を参照のこと。
本文書に記載されている内容、および本文書を参照してダウンロードしたプログラムの使用によって生じたいかなる結果に対しても、作者は責任を負わない。利用は個人の責任において行うこと。
使用するソフトウェア
本セクションでは、68000アセンブラ環境の構築に必要なソフトウェアの全体像を示す。各ソフトウェアの詳細なインストール手順は、以降のセクションで説明する。
基盤ソフトウェア
- Linux(Red Hat Linux 9)
- XFree86 version 4
68000エミュレータ
エミュレータとは、ある機種のコンピュータを別のコンピュータ上で模擬的に動作させるソフトウェアである。BSVCは、68000プロセッサの動作をPC上で再現する。
- BSVC: bsvc-2.1-src.tar.gz とそれに必要なファイル
- 参考FTPサイト: ftp://ftp.redlinelabs.com/pub/bsvc/
必要なファイルは、http://www.freebsd.org/ja/ports/index.htmlで調べることができる。検索ボックスにbsvcと入力すると、BSVCに必要なファイルが表示される。
68000クロスコンパイラ
クロスコンパイラとは、実行環境とは異なるプラットフォーム向けの実行ファイルを生成するコンパイラである。ここでは、Linux PC上で68000プロセッサ向けのコードを生成するために使用する。
- binutils-2.13.2.1.tar.bz2
- newlib-1.11.0.tar.gz
- gcc-3.2.3.tar.gz
- gcc-3.2.3-rtems-20030507a.diff
- newlib-1.11.0-rtems-20030605.diff
- gdb-5.2.tar.gz
- gdb-5.2-rtems-base-20020612.diff
- gdb-5.2-rtems-cg-20020612.diff
- gdb-5.2-rtems-rdbg-20020612.diff
参考Webページ:
- http://mirrors.rcn.net/pub/sourceware/binutils/releases/
- http://mirrors.rcn.net/pub/sourceware/newlib/
- http://ftp.gnu.org/gnu/gcc/gcc-3.2.3/
- ftp://ftp.rtems.com/pub/rtems/snapshots/c_tools/source/
- ftp://ftp.gnu.org/gnu/gdb/
日本語対応ライブラリ
BSVCの画面表示を日本語化するために必要なライブラリである。
- 日本語tcl: tcl8.0.5.tar.gz, tcl8.0.5jp1.7.patch.gz
- 日本語tk: tk8.0.5.tar.gz, tk8.0.5jp1.7.patch.gz
参考Webページ:
- ftp://ftp.scriptics.com/pub/tcl/tcl8_0/
- ftp://ftp.sra.co.jp/pub/lang/tcl/jp/
その他の必要ソフトウェア
- expat
- fontconfig
- freetype
- imake
- perl
- m4
- libiconv
- GNU make
- GNU gettext(GNU makeに必要)
- GNU libtool(gettextに必要)
- GNU autoconf(tclに必要)
68000アセンブラ実験専用ファイル
- m68k-5.0.tgz(スクリプト等)
Linuxのインストール
Linuxのインストール、およびWindowsなど他のOSとの共存については、Linuxに関するドキュメント、Webサイト、書籍等を参考にして、個人の責任において行うこと。
インストール時の注意点
以下のソフトウェアが必要である。Linuxのインストーラでは、インストールするソフトウェアを選択できる。下記のソフトウェアをインストール対象として選択すること。
- X Window System(XFree86 version 4)
- Window Manager(fvwm2など)
上記のソフトウェアは、日本語対応版を導入すると便利である。日本の企業や団体が配布しているLinuxディストリビューションであれば、日本語に対応している(Red Hat Linux バージョン9では日本語が使用可能であった)。
各種ツール、ライブラリの整備
本セクションでは、68000開発環境をインストールする前に必要な、前提ソフトウェアのインストール方法を説明する。68000開発環境(コンパイラ等)とエミュレータをインストールする前に、本セクションの作業を完了させること。
必要なソフトウェア一覧
- System Environment/Libraries
- expat: A library for parsing XML
- freetype: A free and portable TrueType font rendering engine
- fontconfig: font configuration and customization library(requires freetype)
- libgcj: Java runtime library for gcc
- libiconv
- newlib
- System Environment/Base
- rpm: The RPM package management system(requires fileutils, gawk, mktemp, popt, shadow-utils, textutils)
- System Environment/Shells
- bash: GNU Bourne Again shell(requires mktemp)
- Applications/Text
- m4: GNU macro processor
- Applications/Editors
- emacs: The libraries needed to run the GNU Emacs text editor(perl)
- Development/Tools
- apt-0.5.15cnc6-0.1.fc1.fr.i386.rpm
- automake: GNU tool for automatically creating makefiles(requires perl)
- autoconf: GNU tool for automatically configuring source code(requires gawk, m4, mktemp, perl, textutils)
- binutils: GNU collection of binary utilities
- bison: GNU general purpose parser generator
- checkinstall
- flex: GNU tool for creating scanners
- gettext: GNU libraries and utilities for producing multi-lingual messages
- imake
- libtool: GNU libtool, which simplifies the use of shared libraries(requires autoconf, automake, libtool-libs, m4, mktemp, perl)
- make: GNU tool which simplifies the build process for users
- patch: GNU patch command for modifying upgrading files
- rpmbuild: Scripts and executable programs used to build packages(requires patch, perl, rpm)
- shellutils
- texinfo: Tools needed to create Texinfo format documentation files
- textutils
- Development/Debuggers
- gdb: GNU source-level debugger for C, C++ and other languages(requires info)
- Development/Languages
- perl: The perl programming language(requires perl)
- gcc: GNU compiler collection(C, C++, Objective-C, Java, ...)
- tcl: Tcl scripting language development environment
- tk: Tk graphical toolkit for the Tcl scripting language(requires tcl)
パッケージファイルについて
Linuxでは、ソフトウェアを「パッケージ」という単位で管理する。Red Hat系のLinuxでは、rpm形式のパッケージファイル(拡張子.rpm)を使用してソフトウェアをインストールする。
rpmパッケージファイルの選択
rpmパッケージファイルは、インストールされているOSに適合するものを選択する。Red Hat Linux 9の場合は*.i386.rpm、*.i586.rpm、*.i686.rpmなどが該当する。
ダウンロード元
rpmパッケージファイルは、以下のサイトからダウンロードできる。
http://fr2.rpmfind.net/linux/RPM/index.html
注意: ダウンロード時は、ソースファイル(*.src.rpm)ではないものを選択すること。*.src.rpmはrpmコマンドだけではインストールできない。
インストール方法
ダウンロードしたディレクトリで、以下のコマンドを実行する。
[root@localhost root]# rpm -i <パッケージファイル>
実行例:
[root@localhost guest]# rpm -i imake-4.3.99.903-5.i686.rpm
依存関係エラーへの対処
一部のソフトウェアは、他のソフトウェアが事前にインストールされている必要がある。以下のようなエラーが表示された場合は、必要なソフトウェアを先にインストールする。
[guest@localhost guest]$ rpm -i autoconf-2.59-2.2.0.ix86-debian3.0-openpkg.rpm
警告: autoconf-2.59-2.2.0.ix86-debian3.0-openpkg.rpm: V3 DSA signature: NOKEY, key ID 63c4cb9f
エラー: Failed dependencies:
OpenPKG is needed by autoconf-2.59-2.2.0
openpkg >= 2.2.0 is needed by autoconf-2.59-2.2.0
2つのソフトウェアが互いに依存している場合(AにはBが必要で、BにはAが必要な場合)は、--nodepsオプションを付けて実行する。
[root@localhost root]# rpm -i --nodeps imake-4.3.99.903-5.i686.rpm
ファイルの展開時に既存ファイルとの競合でエラーが発生する場合は、--replacefilesオプションを付けて実行する。
[root@localhost root]# rpm -i --replacefiles imake-4.3.99.903-5.i686.rpm
libiconvのダウンロード元
Red Hat Linux version 9用のlibiconvは、以下のURLからダウンロードできる。このサイトにはlibiconv以外のファイルは存在しない。
http://www.samba.gr.jp/pub/samba-3.0-ja/RPMS/RedHat9/LIBICONV/
インストール済みソフトウェアの確認
Linuxのインストール時に自動でインストールされるソフトウェアがある。まずインストール状況を確認し、インストールされていないものだけを手動でインストールする。
インストール状況を確認するには、「rpm -qi <パッケージ名>」を実行する。以下のスクリプトで複数のソフトウェアを一括確認できる。
LANG=C
PRESOFTS="expat freetype fontconfig libgcj gettext libiconv newlib rpm apt autoconf automake bash binutils bison checkinstall flex gdb imake libtool make patch rpmbuild texinfo shellutils m4 perl g++ tcl tk emacs"
echo "Software List"
for i in `echo $PRESOFTS`;
do ( rpm -qi $i | grep "Name" | awk '{print $3}'; rpm -qi $i | grep "Version" | awk '{print " " $3}' );
done
Cコンパイラのインストール
以降の作業にはCコンパイラ(gcc)が必要である。「rpm -qi gcc」でインストール状況を確認し、インストールされていない場合は、flex、bison、libiconv、gccをパッケージファイルでインストールする。
flex、bison、libiconv、gccのRPMファイルをhttp://fr2.rpmfind.net/linux/RPM/index.htmlなどから入手し、「rpm -i <パッケージファイル名>」でインストールする。
以下のシェルスクリプトで一連の作業を自動化できる。これはRed Hat Linux 9用である。他のLinuxディストリビューションで使用する場合は、DOWNLOAD_URL_SOFT1、DOWNLOAD_URL_LIBICONV、および各rpmファイル名を適切に変更すること。
#
# 設定
#
# RedHat Linux 9 用の設定です
# PRESOFT_URL1, PRESOFT_URL_LIBICONV, PRESOFTS_LIST1, PRESOFT_LIBICONV を適切に設定して下さい。残りはそのままでも動くと思います
DOWNLOAD_URL_SOFT1=https://www.kkaneko.jp/computer/linux/redhat/9/en/os/i386/RedHat/RPMS
DOWNLOAD_URL_LIBICONV=https://www.kkaneko.jp/computer/linux/redhat/9/en/os/i386/RedHat/RPMS
# DOWNLOAD_URL_SOFT1=ftp://fr2.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS
# DOWNLOAD_URL_LIBICONV=http://www.samba.gr.jp/pub/samba-3.0-ja/RPMS/RedHat9/LIBICONV/
MYRPM_FLEX=flex-2.5.4a-29.i386.rpm
MYRPM_BISON=bison-1.35-6.i386.rpm
MYRPM_LIBICONV=libiconv-1.8-1.i386.rpm
MYRPM_GCC=gcc-3.2.2-5.i386.rpm
#
# 作業手順
#
LANG=C
cd /tmp
# RPM ファイルをダウンロード
wget -S --passive-ftp $DOWNLOAD_URL_SOFT1/$MYRPM_FLEX
wget -S --passive-ftp $DOWNLOAD_URL_SOFT1/$MYRPM_BISON
wget -S --passive-ftp $DOWNLOAD_URL_LIBICONV/$MYRPM_LIBICONV
wget -S --passive-ftp $DOWNLOAD_URL_SOFT1/$MYRPM_GCC
# インストール済のソフトを確認
rpm -qi `basename $MYRPM_FLEX .i386.rpm` | grep "Name" | awk '{print $3}'
rpm -qi `basename $MYRPM_FLEX .i386.rpm` | grep "Version" | awk '{print " " $3}'
rpm -qi `basename $MYRPM_BISON .i386.rpm` | grep "Name" | awk '{print $3}'
rpm -qi `basename $MYRPM_BISON .i386.rpm` | grep "Version" | awk '{print " " $3}'
rpm -qi `basename $MYRPM_LIBICONV .i386.rpm` | grep "Name" | awk '{print $3}'
rpm -qi `basename $MYRPM_LIBICONV .i386.rpm` | grep "Version" | awk '{print " " $3}'
rpm -qi `basename $MYRPM_GCC .i386.rpm` | grep "Name" | awk '{print $3}'
rpm -qi `basename $MYRPM_GCC .i386.rpm` | grep "Version" | awk '{print " " $3}'
# rpm -i でインストール
rpm -i $MYRPM_FLEX
rpm -i $MYRPM_BISON
rpm -i $MYRPM_LIBICONV
rpm -i $MYRPM_GCC
基本ソフトウェアのパッケージインストール
他のソフトウェアもパッケージファイルでインストールする。RPMファイルを入手し、「rpm -i <パッケージファイル名>」でインストールする。
freetype、fontconfig、libgcj、rpm、bash、m4、emacs、emacs-el、emacs-leim、automake、autoconf、binutils、gettext、libtool、make、texinfo、gdb、perl、tcl、tkは、http://fr2.rpmfind.net/linux/RPM/index.htmlなどで入手できる。これ以外のソフトウェアについては、後述する方法でインストールする。
以下のシェルスクリプトで一連の作業を自動化できる。これはRed Hat Linux 9用である。他のLinuxディストリビューションで使用する場合は、PRESOFT_URL2、PRESOFTS_LIST2を適切に変更すること。
LANG=C
# PRESOFT_URL2, PRESOFTS_LIST2 を適切に設定して下さい。残りはそのままでも動くと思います
# RedHat Linux 9
PRESOFT_URL2=https://www.kkaneko.jp/computer/linux/redhat/9/en/os/i386/RedHat/RPMS
# PRESOFT_URL2=ftp://fr2.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS
PRESOFTS_LIST2="expat-1.95.5-2.i386.rpm \
freetype-2.1.3-6.i386.rpm \
fontconfig-2.1-9.i386.rpm \
libgcj-3.2.2-5.i386.rpm \
rpm-4.2-0.69.i386.rpm \
bash-2.05b-20.i386.rpm \
m4-1.4.1-13.i386.rpm \
emacs-21.2-33.i386.rpm \
emacs-el-21.2-33.i386.rpm \
emacs-leim-21.2-33.i386.rpm \
automake-1.6.3-5.noarch.rpm \
autoconf-2.57-3.noarch.rpm \
binutils-2.13.90.0.18-9.i386.rpm \
gettext-0.11.4-7.i386.rpm \
libtool-1.4.3-5.i386.rpm \
make-3.79.1-17.i386.rpm \
patch-2.5.4-16.i386.rpm \
rpm-build-4.2-0.69.i386.rpm \
texinfo-4.3-5.i386.rpm \
gdb-5.3post-0.20021129.18.i386.rpm \
perl-5.8.0-88.i386.rpm \
tcl-8.3.5-88.i386.rpm \
tk-8.3.5-88.i386.rpm"
cd /tmp
# RPM ファイルをダウンロード
echo "--------------------------------"
echo Download...
for i in `echo $PRESOFTS_LIST2`;
do ( wget -S --passive-ftp $PRESOFT_URL2/$i );
done
echo "--------------------------------"
echo Remove Old Version of Software Before Installation
for i in `echo $PRESOFTS_LIST2`;
# まずは、現在のソフトウェアリストを表示
do ( rpm -qi `basename $i .tar.gz` | grep "Name" | awk '{print $3}'; rpm -qi `basename $i .tar.gz` | grep "Version" | awk '{print " " $3}' );
done
echo "--------------------------------"
echo Install...
for i in `echo $PRESOFTS_LIST2`;
# rpm -i でインストール
do ( rpm -i $i )
done
echo "--------------------------------"
echo Software List After Installation
for i in `echo $PRESOFTS_LIST2`;
# 最後に、現在のソフトウェアリストを表示
do ( rpm -qi `basename $i .tar.gz` | grep "Name" | awk '{print $3}'; rpm -qi `basename $i .tar.gz` | grep "Version" | awk '{print " " $3}' );
done
checkinstallのインストール
checkinstallは、「make install」でインストールするソフトウェアを、rpmパッケージとして管理可能にするツールである。checkinstallを使用すると、ソースからビルドしたソフトウェアもrpmコマンドでアンインストールできるようになる。
前提条件: checkinstallの動作にはrpmbuildが必要である。checkinstallが正常に動作しない場合は、「rpm -qi rpmbuild」でrpmbuildがインストールされているか確認すること。
参考サイト: http://www.atmarkit.co.jp/flinux/rensai/linuxtips/530mkrpmfs.html
インストール手順
- 以下のサイトからcheckinstall-1.5.3-1.i386.rpmをダウンロードする。
https://asic-linux.com.mx/~izto/checkinstall/download.php
- 以下のコマンドでインストールする。
rpm -i checkinstall-1.5.3-1.i386.rpm rpm -qi checkinstall
checkinstallの使用例
checkinstallを使用してpkgconfigをインストールする例を示す。通常の「./configure」「make」「make install」の手順のうち、「make install」の代わりに「checkinstall」を実行する。
-----------------------------------------------------------------------
# tar -xvzf pkgconfig-0.15.0.tar.gz
# cd pkgconfig-0.15.0
# ./configure
# make
# checkinstall
(省略)
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]: y
(省略)
Please choose the packaging method you want to use.
Slackware [S], RPM [R] or Debian [D]? R
Please write a description for the package.
End your description with an empty line or EOF.
>>
This package will be built according to these values:
1 - Summary: [ Package created with checkinstall 1.5.3 ]
2 - Name: [ pkgconfig ]
3 - Version: [ 0.15.0 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i386 ]
8 - Source location: [ pkgconfig-0.15.0 ]
9 - Alternate source location: [ ]
10 - Provides: [ pkgconfig ]
Enter a number to change any of them or press ENTER to continue:
Enterキーを押す
(省略)
**********************************************************************
Done. The new package has been installed and saved to
/usr/src/redhat/RPMS/i386/pkgconfig-0.15.0-1.i386.rpm
You can remove it from your system anytime using:
rpm -e pkgconfig-0.15.0-1
**********************************************************************
# rpm -qi pkgconfig
Name : pkgconfig Relocations: (not relocateable)
Version : 0.15.0 Vendor: (none)
Release : 1 Build Date: 2004年12月15日 11時20分08秒
Install Date: 2004年12月15日 11時20分09秒 Build Host: testlinux.db.is.kyushu-u.ac.jp
Group : 開発/ツール Source RPM: pkgconfig-0.15.0-1.src.rpm
Size : 136595 License: GPL
Signature : (none)
Packager : checkinstall-1.5.3
Summary : コンパイルオプションを決定するツール
Description :
pkgconfigツールはコンパイルオプションを決定する。必須の各ライブラリについて、
設定ファイルを読み込み、必要なコンパイラフラグとリンカフラグを出力する。
-----------------------------------------------------------------------
注意: 「make install_packages」など、「make install」以外のコマンドでインストールするソフトウェアの場合は、以下のように実行する。
# checkinstall make install_packages
詳細はREADMEを参照のこと。
ソースファイルからのインストール
newlib、shellutils、textutilsについては、Red Hat Linux 9用のパッケージファイルが存在しない。これらはソースファイルをダウンロードしてコンパイルし、checkinstallを使用してインストールする。
スクリプト実行時の注意: スクリプト実行中に以下の質問が表示される。
- 「Should I create a default set of package docs? [y]:」→「y」と入力
- 「Slackware [S], RPM [R] or Debian [D]?」→「R」と入力
- 「Enter a number to change any of them or press ENTER to continue:」→Enterキーを押す
LANG=C
PRESOFT_SRC_URL=https://www.kkaneko.jp/computer/src/toollib
PRESOFT_GNU_SRC_URL=https://www.kkaneko.jp/computer/src/gnu
PRESOFTS_SRC_LIST="newlib-1.12.0.tar.gz "
PRESOFTS_GNU_SRC_LIST="textutils-2.1.tar.gz shtool-2.0.1.tar.gz"
cd /tmp
# ソースファイルをダウンロード
echo "--------------------------------"
echo Download...
for i in `echo $PRESOFTS_SRC_LIST`;
do ( wget -S --passive-ftp $PRESOFT_SRC_URL/$i );
done
for i in `echo $PRESOFTS_GNU_SRC_LIST`;
do ( wget -S --passive-ftp $PRESOFT_GNU_SRC_URL/$i );
done
echo "--------------------------------"
echo Remove Old Version of Software Before Installation
for i in `echo $PRESOFTS_SRC_LIST $PRESOFTS_GNU_SRC_LIST`;
# まずは、現在のソフトウェアリストを表示
do ( rpm -qi `basename $i .tar.gz` | grep "Name" | awk '{print $3}'; rpm -qi `basename $i .tar.gz` | grep "Version" | awk '{print " " $3}' );
done
for i in `echo $PRESOFTS_SRC_LIST $PRESOFTS_GNU_SRC_LIST`;
# rpm -e で強制的に削除
do ( echo "removing " `basename $i .tar.gz`; rpm -e `basename $i .tar.gz` );
done
# インストール
# しばらくすると、以下の質問がでるので、yと答える
# The package documentation directory ./doc-pak does not exist.
# Should I create a default set of package docs? [y]: y
# しばらくすると、以下の質問がでるので、Rと答える
# Please choose the packaging method you want to use.
# Slackware [S], RPM [R] or Debian [D]? R
# しばらくすると、以下の表示がでるのでEnterをおす
# Enter a number to change any of them or press ENTER to continue:
cd /tmp
tar -xvzf newlib-1.12.0.tar.gz
cd newlib-1.12.0
./configure
./etc/configure
# -R : Build a RPM package
/usr/local/sbin/checkinstall -R -y
cd /tmp
tar -xvzf textutils-2.1.tar.gz
cd textutils-2.1
./configure
/usr/local/sbin/checkinstall -R -y
cd /tmp
tar -xvzf shtool-2.0.1
cd shtool-2.0.1
./configure
./etc/configure
/usr/local/sbin/checkinstall -R -y
echo "--------------------------------"
echo Software List After Installation
for i in `echo $PRESOFTS_SRC_LIST $PRESOFTS_GNU_SRC_LIST`;
# 最後に、現在のソフトウェアリストを表示
do ( rpm -qi `basename $i .tar.gz` | grep "Name" | awk '{print $3}'; rpm -qi `basename $i .tar.gz` | grep "Version" | awk '{print " " $3}' );
done
ここまでで、前提ソフトウェアのインストールは完了である。
動作確認
Tcl、Tkが日本語版であるかを確認するには、プログラムで日本語を表示し、正しく表示されるかを確認する。
68000開発環境
本セクションでは、68000クロスコンパイラとエミュレータをインストールする。これにより、Linux PC上で68000アセンブラプログラムの作成と実行が可能になる。
クロスコンパイラのインストール
以下のサイトから必要なファイルをダウンロードし、rpmコマンドでインストールする。
ftp://ftp.rtems.com/pub/rtems/linux/redhat/7.3/i386/rpms/rtems-4.6
ダウンロードするファイル:
rtems-4.6-m68k-rtems-gdb-5.2-1.i686.rpm rtems-4.6-m68k-rtems-gcc-gcc3.2.3newlib1.11.0-4.i686.rpm rtems-4.6-m68k-rtems-c++-gcc3.2.3newlib1.11.0-4.i686.rpm rtems-4.6-m68k-rtems-binutils-2.13.2.1-2.i686.rpm rtems-4.6-automake-rtems-1.7.2-2.noarch.rpm rtems-4.6-autoconf-rtems-2.59-0.noarch.rpm rtems-4.6-apt-conf-0.0-0.noarch.rpm
エミュレータBSVCのインストール
68000エミュレータBSVCをインストールする。BSVCにより、68000プロセッサの動作をPC上でシミュレートできる。
- bsvc-2.1-src
参考FTPサイト:
- ftp://ftp.redlinelabs.com/pub/bsvc/
専用スクリプトのインストール
68000アセンブラプログラムをエミュレータで動作させるための専用スクリプトファイルを用意している。これらをインストールすると、m68k-asコマンド(アセンブル用)とm68k-emuコマンド(エミュレータ起動用)が使用可能になる。
注意: 利用は各自の責任で行うこと。
まず、スクリプトファイルを入手して展開する。
m68k-5.0.tgz を入手する (https://www.kkaneko.jp/~kaneko/as/jikken/m68k-5.0.tgz) # cd ~/ # tar zxvfp m68k-5.0.tgz
次にインストールを実行する。
# cd m68k-5.0 # ./install.sh
このスクリプトは、libディレクトリ以下を/usr/local/lib/soft-jikkenに、binディレクトリ以下を/usr/local/binにコピーする。
動作確認: xterm(またはkterm)のウィンドウを開き直して、m68k-asおよびm68k-emuが実行できることを確認する。
RTEMS環境の構築
本セクションでは、リアルタイムOS「RTEMS」の環境を構築する。RTEMSは、組み込みシステム向けのリアルタイムオペレーティングシステムであり、68000プロセッサをターゲットとした開発に使用できる。
必要なソフトウェアのインストール
rpmコマンドを使用して、以下のソフトウェアをインストールする。必要なソフトウェアは、以下のページで検索できる。
http://www.rtems.com/down.html
検索条件:
- RTEMS Version: 4.6.2
- Target CPU Family: m68k, cpu32, coldfire
- Development Host: GNU/Linux x86
インストールするファイル:
rtems-4.6-rtems-base-binutils-2.13.2.1-2.i686.rpm rtems-4.6-m68k-rtems-binutils-2.13.2.1-2.i686.rpm rtems-4.6-rtems-base-gcc-gcc3.2.3newlib1.11.0-4.i386.rpm rtems-4.6-m68k-rtems-gcc-gcc3.2.3newlib1.11.0-4.i686.rpm rtems-4.6-m68k-rtems-c++-gcc3.2.3newlib1.11.0-4.i686.rpm rtems-4.6-rtems-base-gdb-5.2-1.i686.rpm rtems-4.6-m68k-rtems-gdb-5.2-1.i686.rpm
ソースコードのダウンロードと解凍
RTEMSソースコードとサンプルプログラムを以下のサイトからダウンロードし、/home/guestに配置する。
ftp://ftp.rtems.com/pub/rtems/4.6.2/rtems-4.6.2.tar.bz2 ftp://ftp.rtems.com/pub/rtems/4.6.2/examples-4.6.2.tar.bz2
以下のコマンドで解凍する。
# cd /tmp/tools # tar xjf /home/guest/rtems-4.6.2.tar.bz2
gccの動作確認
クロスコンパイラが正常に動作するか確認する。まず、環境変数PATHを設定する。
# setenv PATH /opt/rtems-4.6/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
適当なCプログラム(例: f.c)を作成し、コンパイルできるかテストする。
# m68k-rtems-gcc -v -S f.c # m68k-rtems-gcc -v -c f.c
確認方法: f.sとf.oが生成されていれば成功である。
RTEMSのビルドとインストール
# mkdir /tmp/tools/build-rtems # cd /tmp/tools/build-rtems # ../rtems-4.6.2/configure --target=m68k-rtems --prefix=/opt/rtems-4.6 # make all install
「--prefix=/opt/rtems-4.6」を指定しているのは、前の手順でインストールしたコマンド(m68k-rtems-gccなど)がこのディレクトリに存在するためである。
参考情報
参考Webページ:
- https://www.rtems.com/index.php
- http://www.rtems.com/onlinedocs/releases/rtemsdocs-4.6.2/share/rtems/html/started/index.html
参考FTPサイト:
- ftp://ftp.rtems.com/pub/rtems/snapshots/c_tools/source/
- ftp://ftp.rtems.com/pub/rtems/linux/redhat/7.3/i386/rpm/rtems-4.7