6 開発環境を使ってみよう！
6. 開発環境を使ってみよう！
本章では開発環境のインストールと、開発環境の基本操作について説明します。
学習キットでは、仮想マシン (CentOS)にターミナルソフトで SSH 接続して操作する環境が用意されております。
CentOS にターミナルソフトから SSH 接続した画面

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット51

6 開発環境を使ってみよう！
6.1 GNU開発環境の構築
本学習キットでは、GNU（※）を使用した開発環境について説明しています。GNU は一般的に Linux環境下で使用されるコンパイラです。今回は Windows 環境上に GNU のクロス開発環境を構築する方法について説明します。もちろん、Linux マシンでの動作も可能となります（それぞれにカスタマイズが必要です）。GNU のクロス開発環境の構築には、以下のツール及びライブラリが必要になります。
○Oracle VM VirtualBox(仮想マシン化ソフトウェア)○CentOS(仮想マシン)○開発環境バイナリパッケージ（アセンブラ、リンカ、コンパイラ、デバッガ等）○NEWLIB（標準 C ライブラリ）※GNU・・・GNU とは、「GNU is Not Unix」の頭文字を取った略号であり、UNIX と上位互換性のあるフリーな総合ソフトウェアシステムの名称です。GNU の最大の特徴は、それらすべてがフリーで配布されるということにあります。ただし、ここでいう「フリー」とは「無料」ではなく、「自由」という意味です。その自由の内容としては、以下のことがが含まれています。
○目的を問わず、プログラムを実行する自由○プログラムがどのように動作しているか研究し、そのプログラムに あなたの必要に応じて修正を加え、採り入れる自由○身近な人を助けられるよう、コピーを再頒布する自由○プログラムを改良し、コミュニティ全体がその恩恵を受けられるよう あなたの改良点を公衆に発表する自由本教材で使用しているツールバージョンを記載します。
Oracle VM VirtualBOX
Ver4.2.6
CentOS
Ver4.8TOPPERS/JSP
Ver1.4.2
TINET
Ver1.3.2
Gcc
Ver3.3.1
Binutils
Ver2.14Sh-hitachi-elf-gccVer2.95.3
Newlib
Ver1.11.0
Perl
Ver5.8.2-1
Gdb
2003-09-20（Cygwin-special）
Sh-hitachi-elf-gdb
Ver6.0
参考資料 GNU プロジェクトのホームページ。 GNU プロジェクト http://www.gnu.org/TOPPERS プロジェクトのホームページ
http://www.toppers.jp/index.html

添付 DVD のバージョンが Ver3.00 以前のバージョンで構築した開発環境とは異なります。添付 DVD
Ver3.00 に収められた開発環境を使用する場合は、開発環境を再度構築します。

52

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

6 開発環境を使ってみよう！
6.1.1 開発環境のインストール
学習キットでは、必要な開発環境を構築するため、セットアップディスクを用意しております。
これより、開発環境のインストール手順を説明します。

注意：学習キットの開発環境をインストールするには、インストール先に 6.7G バイト以上の空き容量が必要です。
また、インストール作業に必要な時間は PC によって異なりますが、目安として、Intel(R) Core(TM)i5-3470 3.20GHz RAM 8.0G バイトの PC にて 5 分掛かります。

開発環境は、以下の手順でインストールします。
①最初に仮想マシン化ソフトウェア(VM VirtualBox)をインストール②仮想マシン化ソフトウェア上で「仮想アプライアンスのインポート」により仮想マシン(CentOS)を作成します。
※CentOS の「仮想アプライアンスのインポート」では、サンプルプログラムも含めてインポートされます。
③仮想マシンを起動してターミナルソフトで SSH 接続します。
④ターミナルソフトでコマンドを実行して、サンプルプログラム一式をコピーします。
１）仮想マシン化ソフトウェアのインストール
学習キットの添付 DVD 内から\VirtualBox\VirtualBox-4.2-82870-Win.exe を実行して、最初に仮想マシン化ソフトウェアをインストールます。

注意：１）仮想化ソフトウェアのインストールから、２）仮想マシンの作成まで、インストールする環境によっては、数分以上掛かります。
また、インストール動作が停止しているように見える時間が数分以上続く場合がありますが、問題はありませんので、そのままお待ちください。

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット53

6 開発環境を使ってみよう！
２）仮想マシン化ソフトウェアインストール開始\VirtualBox\VirtualBox-4.2-82870-Win.exe を実行すると以下の画面が表示されますので、“Next”のボタンを押します。

インストールフォルダの選択
次に以下の画面にて、仮想マシン化ソフトウェアをインストールするフォルダを選択します。フォルダを選択したら”Next”のボタンを押してください。

デフォルトのフォルダは “C:\Program Files\Oracle\VirtualBox”です。

54

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

6 開発環境を使ってみよう！
３）ショートカット作成の確認
インストールするフォルダの選択が終了すると、ショートカットを作成するか確認しますので、問題が無ければ“Next”のボタンを押してください。

４）ネットワークインターフェースに関する注意確認
次に以下の画面で仮想マシンインストール中に現在接続中のネットワークが一時的に切断されることの確認を行います。このまま続けても問題がなければ、”Yes”ボタンを押してください。

インストール終了後に起動した仮想マシンは、Host-only なネットワークに繋がりますので、現在ご使用中のネットワークへの影響はありません。

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット55

6 開発環境を使ってみよう！
“Yes”ボタンを押した後は、以下の画面が表示されます。”Install”ボタンを押すと仮想マシンのインストールを開始します。

“Install”ボタンを押すと以下の画面が表示されます。

56

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

6 開発環境を使ってみよう！
しばらくすると以下の画面が表示されます。確認したら”はい”ボタンを押して、インストールを続けてください。

インストールを続けると以下の確認画面が表示されます。確認したら”インストール(I)”ボタンを押してインストールを続けてください。

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

57

6 開発環境を使ってみよう！
５）仮想マシン化ソフトウェアのインストール終了
以下の画面が表示されると、仮想マシン化ソフトウェアのインストール終了です。

上記の画面が表示されたら、 “Finish”ボタンを押してください。”Finish”ボタンを押すと仮想マシン化ソフトウェアが起動して、以下の画面を表示します。

58

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

6 開発環境を使ってみよう！
６）仮想マシンの作成
仮想化ソフトウェア(VM VirtualBox)が起動されたあとに、「仮想アプライアンスのインポート」
により仮想マシンを作成します。
VM VirtualBox のメニューバーから”ファイル(F)”→”仮想アプライアンスのインポート(I)”を押してください。”ファイル(F)”→”仮想アプライアンスのインポート(I)”を押すと次の画面が表示されます。

この画面の” アプライアンスを開く” ボタンを押して、添付 DVD からインポートする\VirtualAppliance\KED-SH101.ova を選択してください。選択すると次の画面に変わりますので、”次へ(N)”ボタンを押して次へ進んでください。

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

59

6 開発環境を使ってみよう！
次の画面が表示されますので、”インポート”ボタンを押して、仮想アプライアンスのインポートを開始してください。

仮想アプライアンスのインポートを開始すると次の画面を表示します。

3 分ほど経過すると次の仮想マシン化ソフトウェア画面が表示されます。この画面が表示されれば仮想マシンの作成は終了です。

60

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

6 開発環境を使ってみよう！

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

61

6 開発環境を使ってみよう！
6.2 仮想マシンの起動
仮想マシン(CentOS)の起動方法について説明します。
仮想マシンは、仮想マシン化ソフトウェア(VM VirtualBox)から起動します。
起動する前には Windows
Virtual PC が起動されていないことを確認してください。
※Windows Virtual PC が起動されていると Windows がブルースクリーンになる場合があります。

仮想マシン化ソフトウェアのを押すかメニューバーの”仮想マシン(M)”→”起動(T)”を押して、仮想マシンを起動してください。仮想マシンを起動すると次の画面が表示されます。

62

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

6 開発環境を使ってみよう！

仮想マシン起動中にダイアログがいくつか表示されますが、いずれも”OK”ボタンを押してください。
仮想マシンが起動すると次画面が表示されます。

ここではログインを行いません。ログインはターミナルソフトで SSH 接続する際に行います。

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

63

6 開発環境を使ってみよう！
6.3 仮想マシンへのログイン(SSH接続)
仮想マシン：CentOS(セントオーエス）は、Red Hat Enterprise Linuxとの完全互換を目指したフリーのLinuxディストリビューションです。学習キットはCentOSが起動している状態で、ターミナルソフ
トからSSH接続して操作します。ここではターミナルソフトとしてTeraTerm(Ver4.77)を使用したSSH接続について説明します。
TeraTerm を起動すると次の画面が表示されます。TCP/IP、SSH を選択してホスト(T)に IP アドレス
192.168.56.123 を入力して、”OK”ボタンを押してください。
※下記画面が表示されない場合は、メニューバーの”ファイル(F)”→”新しい接続(N)…”をクリックしてください。

次のような SSH 認証画面が表示されます。ここでユーザー名とパスワードを入力後に”OK”ボタンを押して、ログインしてください。
ユーザー名：user
パスワード：KED-SH101※大文字、小文字に注意してください。

64

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

6 開発環境を使ってみよう！

ログインに成功すると次の画面が表示されます。サンプルプログラムのコンパイル・リンクは、この画面にコマンドを入力して行います。

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

65

6 開発環境を使ってみよう！
ログインに成功した後は、TeraTerm のメニューバー”設定(S)”→”端末(T)…”を押して、改行コードと漢字コードの設定を行います。
・”改行コード”の設定：”受信(R)”と”送信(M)”に CR を設定
・漢字コードの設定 ：”漢字-受信(K)”と”漢字-送信(J)”に UTF-8 を設定
以上の設定が終了したら、”OK”ボタンを押してください。

※シリアル接続での端末設定とは異なります。注意してください。
次に画面上で入力する Linux の基本的なコマンドを示します。
表 6-1 Linux コマンド
lsmkdir
mktempmvpwd
rmrmdir
cdcp
logoutexit

ファイルやディレクトリの情報を表示する
ディレクトリを作成する
適当なファイル名の空ファイルを作成する
ファイルやディレクトリの移動・名前の変更をする
現在のディレクトリの場所を確認する
ファイルやディレクトリを削除する
ディレクトリを削除する
ディレクトリを移動する
ファイルやディレクトリをコピーする
ログアウトする
終了する

実際にコマンドを使用してみましょう。

66

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

6 開発環境を使ってみよう！
CentOS を起動してターミナルソフトからSSH 接続したあとにプロンプトから以下のように入力します。
[user@localhost ~]$ pwd/home/user←現在のディレクトリの場所を確認する。
←現在のディレクトリの場所が/home/user だということが分かります。

[user@localhost ~]$ mkdir testdir ←testdir という名前のディレクトリを作成します。
[user@localhost ~]$ lstestdir←ファイルやディレクトリの情報を表示する。
←testdir という名前のディレクトリが出来ているのが確認できます。

[user@localhost ~]$ cd testdir←testdir に移動します。

[user@localhost testdir]$ pwd/home/user/testdir←現在のディレクトリの場所を確認する。
←/home/user/testdir に移ったのが確認できます。

[user@localhost testdir]$ mktemp test.c ←test.c という名前の空ファイルを作成します。
test.c[user@localhost testdir]$ ls←ファイルやディレクトリの情報を表示する。
test.c←test.c という名前のファイルが出来ているのが確認できます。
[user@localhost testdir]$ mv test.c test2.c[user@localhost testdir]$ ls
test2.c←ファイルの名前を変更する←ファイルやディレクトリの情報を表示する。
←test2.c というファイル名に変わっているのが確認できます。

[user@localhost testdir]$ cp test2.c test3.c ←test2.c を test3.c というファイル名でコピーする。
[user@localhost testdir]$ ls
test2.c test3.c←ファイルやディレクトリの情報を表示する。
←test3.c という名前のファイルが出来ているのが確認できます。

[user@localhost testdir]$ rm test2.c[user@localhost testdir]$ ls
test3.c←test2.c という名前のファイルを削除します。

←ファイルやディレクトリの情報を表示する。
←test2.c というファイルが削除されたのが確認できます。

[user@localhost testdir]$ rm test3.c←test3.c という名前のファイルを削除します。

[user@localhost testdir]$ cd ..

←一つ前のディレクトリに戻ります。

[user@localhost ~]$ rmdir testdir←testdir という名前のディレクトリを削除します。

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

67

6 開発環境を使ってみよう！
6.4 仮想マシンとのファイル共有
仮想マシンを起動した後は、Windows ファイル共有(Samba)での制御が可能です。ここでは Windows上でファイル共有する手順を説明します。
最初に Windows エクスプローラで、「\\192.168.56.123\」を直接入力します。

入力すると次のような画面が表示されます。ここでユーザー名とパスワードを入力して、”OK”ボタンを押してください。
ユーザー名:user
パスワード:KED-SH101※大文字、小文字の入力に注意してください。
これで Windows エクスプローラからファイルへのアクセスが可能になります。

68

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

6 開発環境を使ってみよう！
6.5 仮想マシンの終了
仮想マシンの終了は、SSH 接続を終了した後に行います。
SSH 接続を終了するときには、ターミナルソフト上で”exit”コマンドを入力します。
（”logout”コマンドでも終了できます。
）

続いて、仮想マシンのツールバーから”仮想マシン”→”閉じる…”を押します。
ここをクリックしても閉じることができます。

“閉じる…”を押すと次のダイアログボックスが表示されますので、”シャットダウン シグナルを送信(E)”を選択して、”OK”ボタンを押してください。

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

69

6 開発環境を使ってみよう！

6.6 サンプルプログラム一式のコピー
仮想マシンを作成すると次のようなディレクトリ構造が展開されます。
/
homeuserjsp
サンプルプログラム ワーキングディレクトリ
sample _MAIN
学習キットKED- SH1 0 1 サンプルプログラムディレクトリ
sample_OPTION
オプションカードKED-EXT102 サンプルプログラムディレクトリ
sample_センサー実習機KED-EXT102-S2 サンプルプログラムディレクトリ
sample_スマートグリッド学習キットKED-EXT102-SMG1 サンプルプログラムディレクトリ

この中から”sample_MAIN”ディレクトリにあるサンプルプログラムファイル一式を”jsp”ディレクトリへコピーします。コピーの手順は、以下の通りです。
1)”sample_MAIN”ディレクトリへ移動します。
2)コピーコマンド”CP”を実行して、”sample_MAIN”ディレクトリ内にあるすべてのファイルを”jsp”ディレクトリへコピーします。
[user@localhost ~]$ cd ~/sample_MAIN[user@localhost sample_MAIN]$ cp -r * ../jsp
これでコピーは終了です。
コピーが終了した後は、”jsp”ディレクトリに戻ってください。

70

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

6 開発環境を使ってみよう！
サンプルプログラムは、”jsp”ディレクトリをホームディレクトリとして作成します。このため次回以降ターミナルソフトで SSH 接続した後は、最初に”jsp”ディレクトリへ移動してから各サンプルプログラムのディレクトリへ移動してください。

次に gcc コマンドを使ってみましょう。ホームディレクトリの下に任意のディレクトリを作成し、テキストエディタで helloworld.c というファイルを作成してください。
そのファイルに以下のようなプログラムを記述してください。

/* This program prints "Hello World!". */int main(void){printf("HelloWorld\n");return 0;}

これをコンパイルしてみます。
[user@localhost jsp]$ cd helloworld[user@localhost helloworld]$ gcc helloworld.c[user@localhost helloworld]$ ls
a.out helloworld.c
すると、a.out というオブジェクトファイルが出来ていると思います。これを実行すると次のようになります。
[user@localhost jsp]$ ./a.outHelloWorld

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット

716 開発環境を使ってみよう！
HelloWorld というメッセージが表示されましたか？

72

エンベデッドシステム技術者育成のためのμiTRON（SH2）組み込み学習キット