4 (Release 1.4対応,最終更新: 20-Dec-2003)
6 ------------------------------------------------------------------------
8 Toyohashi Open Platform for Embedded Real-Time Systems/
9 Just Standard Profile Kernel
11 Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
12 Toyohashi Univ. of Technology, JAPAN
14 上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation
15 によって公表されている GNU General Public License の Version 2 に記
16 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
17 を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
19 (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
20 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
22 (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
23 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
24 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
26 (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
27 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
29 (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
30 作権表示,この利用条件および下記の無保証規定を掲載すること.
31 (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
33 (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
34 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
36 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
37 よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
38 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
39 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
41 @(#) $Id: gnu_install.txt,v 1.1 2009/01/31 05:27:37 suikan Exp $
42 ------------------------------------------------------------------------
50 カーネルをインストールするには,JSPカーネルの配布キットに含まれる以外
51 に,以下のツールおよびライブラリが必要である.
61 各ツールのバージョンについては,ターゲット毎に異なるため,ターゲット毎
64 アプリケーションが標準Cライブラリを使用しない場合には NEWLIB は必要な
65 いが,GCC をインストールする際に NEWLIB があった方が都合がよいため,
66 NEWLIB も含めてインストールする方法を標準とする.NEWLIB をインストール
67 しない場合には,GCC のソースの修正が必要となり, GCC の 2.95.3 を対象
68 として後述する.ターゲットへのダウンロードと実行を ROMモニタ(GDB に対
69 応していないもの)によって行う場合には,GDB をインストールする必要はな
72 perl と GNU Make は,ほとんどの Linux と Cygwin では標準でインストール
73 されるため,新たにインストールする必要はない.インストールされている
74 perl または make のバージョンを知りたい場合には,-v オプションをつけて
75 実行すればよい(-v オプションをサポートしていない make は GNU make で
76 はない).なお,以下の説明では,makeコマンドが GNU Make であるものとす
79 また,これらの開発環境を Windows上に構築するためには Cygwin を用いる.
83 Cygwinのインストールについては後述する.また,ツールのソースコードを修
86 これらのツールおよびライブラリのソースコードは,次のサイトから入手する
89 BINUTILS,GCC-CORE,GDB,GNU Make:
90 GNUプロジェクト http://www.gnu.org/
91 Ring Server http://www.ring.gr.jp/
94 Red Hat http://sources.redhat.com/newlib/
95 または ftp://sources.redhat.com/pub/newlib/
98 Red Hat http://sources.redhat.com/cygwin/
99 または ftp://sources.redhat.com/pub/cygwin/
100 Ring Server http://www.ring.gr.jp/
105 この節では,開発環境の構築方法を説明する.開発環境を Windows上に構築す
106 る場合には,あらかじめ Cygwin をインストールしておくことが必要である.
107 Cygwin のインストール時の注意事項は,1.3節で述べる.
111 ホスト上に必要なツールが足りない場合には,あらかじめインストールしてお
112 く.具体的には,perl と GNU Make が必要である.さらに,開発環境の構築
113 に使うために,ホスト上にも最新の GCC をインストールしておくことが望ま
116 なお,JSPカーネルの配布キットに含まれる perlスクリプトは,perl のプロ
117 グラムが /usr/bin/perl にあるものと仮定して記述している.perl のプログ
118 ラムのパスがこれと異なる場合は,各 perlスクリプトの先頭の perl の絶対
123 BINUTILS,GCC-CORE,GDB,NEWLIB のソースファイルを展開する.以下では,
124 展開により作成されたディレクトリ名をそれぞれ次のように表記する.
126 <BINUTILS-SRCDIR> BINUTILS のソースを展開したディレクトリ
127 <GCC-SRCDIR> GCC-CORE のソースを展開したディレクトリ
128 <GDB-SRCDIR> GDB のソースを展開したディレクトリ
129 <NEWLIB-SRCDIR> NEWLIB のソースを展開したディレクトリ
131 (3) 開発環境構築のためのディレクトリの決定
133 開発環境を構築するために,以下のディレクトリを用意する.
135 <PREFIX> 開発環境をインストールするディレクトリ
136 <BINUTILS-OBJDIR> BITUTILS のオブジェクトを生成するディレクトリ
137 <GCC-OBJDIR> GCC-CORE のオブジェクトを生成するディレクトリ
138 <GDB-OBJDIR> GDB のオブジェクトを生成するディレクトリ
139 <NEWLIB-OBJDIR> NEWLIB のオブジェクトを生成するディレクトリ
141 <PREFIX>/bin が実行パスに含まれるようにシェルの設定を行っておく.また,
142 make install は,<PREFIX> 以下に書き込み権限があるユーザで行う必要があ
147 ターゲットプロセッサに応じて,ターゲット環境を選択する.具体的には,次
150 プロセッサ ターゲット環境(<TARGET>)
151 M68040 m68k-unknown-elf
152 SH1, SH3 sh-hitachi-elf
159 Xstormy16 xstormy16-elf
161 以下,ターゲット環境を表す文字列を <TARGET> と表記する.
163 なお,ターゲットによっては,ツールまたはライブラリのソースコードの修正
164 が必要な場合がある.修正内容については,ターゲット毎のマニュアルに記述
169 BINUTILS は,GCC-CORE のインストールに必要なため,GCC-CORE に先だって
170 インストールする.BINUTILS のインストール手順は次の通り.
172 % mkdir <BINUTILS-OBJDIR>
173 % cd <BINUTILS-OBJDIR>
174 % <BINUTILS-SRCDIR>/configure --target=<TARGET> --prefix=<PREFIX>\
182 NEWLIB のインストールには GCC-CORE が必要なため,GCC-CORE のインストー
183 ルを先に行う.configure は,newlib のヘッダーファイルを <PREFIX> 以下
184 にインストールするため,<PREFIX> 以下に書き込み権限のあるユーザーで行
185 う必要がある.GCC-CORE のインストール手順は次の通り.
189 % <GCC-SRCDIR>/configure \
190 --target=<TARGET> --prefix=<PREFIX> \
191 --with-gnu-as --with-gnu-ld --with-newlib \
192 --with-headers=<NEWLIB-SRCDIR>/newlib/libc/include
196 ・NEWLIB をインストールしない場合.
197 NEWLIB をインストールしない場合,ソースファイルの修正が必要となる.修
199 <GCC-SRCDIR>/gcc/libgcc2.c の 41,42行目の
204 <GCC-SRCDIR>/gcc/frame.c の 42,43行目の
209 修正後の GCC-CORE のインストール手順は次の通り.
213 % <GCC-SRCDIR>/configure \
214 --target=<TARGET> --prefix=<PREFIX> \
215 --with-gnu-as --with-gnu-ld
221 次の手順に従って,GDB をインストールする.
225 % <GDB-SRCDIR>/configure --target=<TARGET> --prefix=<PREFIX>
231 次の手順に従って,NEWLIB をインストールする.
233 % mkdir <NEWLIB-OBJDIR>
235 % <NEWLIB-SRCDIR>/configure --target=<TARGET> --prefix=<PREFIX>
243 ユーザズマニュアルの手順にしたがって,JSPカーネルおよびアプリケーショ
244 ンプログラムが構築できると,ターゲットシステムへダウンロードして実行す
245 る.ダウンロードと実行の方法には,ROMモニタを用いる方法と,gdb+スタブ
250 ターゲットシステムが ROMモニタを持っている場合には,バイナリ形式または
251 モトローラ S形式のファイルを,ROMモニタのダウンロードコマンドを使って
252 ダウンロードし,実行コマンドを使ってダウンロードした番地から実行すれば
257 JSPカーネルと一緒に使えるように改造したスタブのソースコードは,JSPカー
258 ネルのウェブサイトからダウンロードすることができる.スタブをダウンロー
259 ドしたら,READMEファイルに従ってスタブを構築し,ROM またはフラッシュメ
262 gdb+スタブを用いてプログラムをダウンロード・実行する手順は次の通り.
266 Copyright 1998 Free Software Foundation, Inc.
267 .......... 以下メッセージが続く ..........
270 gdb が起動したら,次のコマンドを実行して,ターゲットシステムと接続する.
272 (gdb) set remotebaud <BPS>
273 (gdb) target remote /dev/ttyXX
275 <BPS>,/dev/ttyXX には,それぞれ,ターゲットシステムを接続しているシリ
276 アルポートのボーレートと,デバイス名を指定する.次に,load コマンドに
281 プログラムの実行は,continue コマンドで行う.
285 ターゲットシステムによっては,プログラムの実行中にコントロール-C を入
286 力する,または NMI をかけることで,プログラムを停止させて gdb に制御が
287 戻すことができる.ただし,割込み禁止状態では,コントロール-C で停止さ
288 せることはできない.詳しくは,スタブの READMEファイルまたはターゲット
295 本インストールマニュアルは,cygwinの1.5.5バージョンを対象にしている.
296 また,以下のサイトではCygwinに関する情報やドキュメントがまとめられている.
297 http://www.sixnine.net/cygwin/cygwin-doc/
300 Cygwinのインストールに必要なファイルは次のサイトから入手することができる.
302 Red Hat http://www.cygwin.com/
303 または ftp://sources.redhat.com/pub/cygwin/
304 Ring Server http://www.ring.gr.jp/
306 上記のサイトから最新版の setup.exe をダウンロードする.
313 ・ローカルディレクトリからインストールする
315 該当するインストール手法にチェックし次に進む.何台かのマシンにインストー
316 ルするなら,1台目はインターネットからインストールイメージをダウンロー
317 ドし,後のマシンにはそれらのファイルをコピーしてローカルディレクトリか
320 以下,インターネットからダウンロードする場合について説明する.ダウンロー
321 ドを選択すると必要ならば proxy の設定の後,ミラーサイトの一覧が示され
324 次に,パッケージ一覧が示されるため,必要なパッケージを選択する.特に回
325 線等の問題がないかぎりすべてのパッケージをインストールするのが望ましい.
327 ダウンロードが終了したらもう一度 setup.exe を実行して,ローカルディレ
328 クトリからのインストールを選択する.次にインストール元のディレクトリ
329 (上でダウンロードしたファイルが存在するディレクトリ,デフォルトで選択
330 されているはず)を選択する.次にインストール先の選択に移るが,特に理由
331 がない限りデフォルトの C:\Cygwin にインストールする.次にインストール
332 するパッケージを選択する.先ほどダウンロードされたファイルが表示され,
333 ディフォルトでは全てインストールされることになっているため,単に next
341 特に最新版のコンパイラが必要でなければ,TOPPERS/JSP のホームページ
342 (http://www.toppers.jp/)から SH 用の BINUTILS,GCC-CORE,GDB のバイナ
343 リ(gnu_cygwin_sh.tar.gz)をc:\Cygwin\usr\localにダウンロードして以下
344 の手順で展開する.なお,このファイルにはNEWLIBは含まれていないが,
345 GDB-Stub,TOPPERS/JSP の sample1 のコンパイルには支障はない.ユーザー
346 アプリケーションを作成するさい,必要なら別途ソースからコンパイル,イン
347 ストールする.バイナリ(gnu_cygwin_sh.tar.gz)は,Cygwin の /usr/local
351 $ tar xvfz gnu_cygwin_sh.tar.gz
353 これで/usr/local/sh以下に開発ツールがインストールされる.次に
354 /usr/local/sh/bin にパスを通す.具体的にはホーム(cygwin実行時のカレン
355 トディレクトリ)にbashの設定ファイル".bashrc"を作成して次の一行を追加す
358 export PATH=/usr/local/sh/bin:${PATH}
360 後は,JSPの各ターゲットのMakefile先頭にある"CYGWIN = ture"の部分のコメ
361 ントアウトを外せばCygwin上でJSPのコンパイルが可能である.
365 GDBのコマンドラインからCOM1経由でターゲットに接続する場合は,
367 (gdb)target remote /dev/ttyS0
371 (gdb)target remote /dev/ttyS1