PUPPYには開発環境としてCコンパイラ、アセンブラ、リンカ等が付属しますので付属CD収録内容のみで開発を進めることができます。しかしながらこの開発環境はコンパイラやアセンブラなどを直接個別で実行したり、リンカオプションなども指定したりで、少々とっつき難いかもしれません。
ここではH8/3687Fの使用を例にして、ルネサステクノロジ製の統合開発環境である「High-performance Embedded Workshop」にPUPPYの開発環境を移植する方法を紹介します。
注 ここで紹介する手順は設定の一例ですので必ずしもここに書いてある内容のとおりにしなければならないということはありません。また「High-performance Embedded Workshop」のバージョンによっては一部画面が異なることがあります。
「High-performance Embedded Workshop」を立ち上げます。「ようこそ!」ダイアログが出てきますので、「新規プロジェクトワークスペースの作成」にチェックをした後[OK]ボタンをクリックします。
プロジェクト名、プロジェクトを置く場所を決めます。ココではプロジェクト名を「PUPPY」としました。CPU種別を「H8S,H8/300」、ツールチェインを「Hitach H8S,H8/300 Standard」にし[OK]ボタンをクリックします。
CPUシリーズに「300H」、CPUタイプに「3687」を選び[次へ]をクリックします。
このダイアログでは特に設定する項目はありませんので[次へ]をクリックします。
生成ファイルの設定をします。main関数、I/OレジスタはPUPPYについているものを使いますので「main()関数生成」は「None」に、「I/Oレジスタ定義ファイル」もチェックを外し、さらにヒープメモリも使用しないのでチェックを外します。[次へ]をクリックします。
標準ライブラリも使用しませんので「全て無効」をクリックして[次へ]をクリックします。
スタック領域も特に設定する必要はありません。[次へ]をクリックします。
ベクタテーブルはPUPPYのものを使いますので「ベクタテーブル定義」のチェックを外し、[次へ]をクリックします。
デバッガもとりあえず使用しないということにして[次へ]をクリックします。
dbsct.cというファイルのみ生成されたのを確認して[完了]をクリックします。
プロジェクトの初期設定が完了すると「PUPPY」プロジェクトのワークスペースが生成されます。このプロジェクトはまだ中身がありませんので、PUPPY付属のサンプルプログラムをプロジェクトに追加していきます。まず、プロジェクトがあるフォルダにPUPPYサンプルプログラムの
3687s.h acrobat.c acrobat.h hardware.c(init.c) hardware.h(init.h)
sci.c sci.h main.c start.src ( )はver1.0.0
をコピーします。
メニューの[プロジェクト]-[ファイルの追加]をクリックします。
先ほどコピーしたファイルを選択し[追加]ボタンをクリックします。
ここまでで一通り移植は完了です。メニューから[ビルド]-[ビルド]をクリックします。
ビルドを実行すると「0 Errors, 2 Warnings」とでて、その上にワーニングの内容が表示されます。このワーニングは「High-performance Embedded Workshop」で自動的にメモリマップに割り振られる"S"セクションが定義されていないこと、PUPPYサンプルプログラム中で使用している"VECTOR"セクションのアドレスが定義されていないことによるものです。
これらのワーニングをなくすにはメニューの[ビルド]-[H8S,H8/300 Standard Toolchain]をクリックして
でてきたダイアログの[最適化リンカ]タグをクリック、「カテゴリ」に「セクション」を選択し「Address」の「0x00000800」を選択後[追加ボタン]をクリックします。
「アドレス」に「0x0000」と入力しOKボタンをクリックします。
ワーニングが出ます。
「0X0000」の横の空白を選択し、[追加]ボタンをクリックします。
セクション名に「VECTOR」と入力後[OK]ボタンをクリックします。
次に"S"セクションを削除します。0X0000EF00横の「S」を選択し[削除]ボタンをクリックします。
これでセクションの設定は完了です。[OK]ボタンをクリックします。
ビルドしてみると先ほどのワーニングが消えているはずです。