==============================================================================
 Hyper Operating System V4 Advance
  sh7144用サンプル

                                            Copyright (C) 2008 by Project HOS
==============================================================================


＜概要＞
  お題は例によって、「哲学者の食事の問題」です。
  ５つのタスクを哲学者、５つのセマフォをフォークに見立てて、
動作します。

  哲学者はランダムな時間考え事をするとおもむろに両サイドの
フォークを取って食事を始めます。しかし左右どちらかの哲学者が
すでにフォークを使って食事をしていると、フォークが使えず
空腹状態になります。


＜環境＞
  ボード：Interface 2006年6月号付録基板＋メモリ増設環境
          (未確認ですが株式会社イーエスピー企画さんの
           互換ボードでも動くと思います)

  コンパイラ：shc (ルネサスのコンパイラ  当方は評価版で確認)
            もしくは
              sh-elf-gcc

  メイク：cygwinからGNU makeを使用
          (すいません、そのうち nmake とかの対応も考えます)

  シリアル：38400bps 8bit ノンパリ ストップビット1bit。


＜使い方＞
  GNU make が利用できる環境で

  shc の場合：  hos-v4a/sample/sh/sh7144/shc
  gcc の場合：  hos-v4a/sample/sh/sh7144/gcc


  に移動して、gmake -f gmake.mak

  と打ち込みます。

  出来上がった、sample.mot をルネサスさんの Flash Development Toolkit
などを用いてフラッシュメモリに焼きこんでください。

  ５人の哲学者がそれぞれ、考えたり、お腹を空かせたり、食事したりする様子が
シリアルに表示されれば成功です。


＜備考＞
  当方でフラッシュメモリの書き換え寿命の問題もあり、基板にRAM増設を
行った後に、主にルネサスさんのモニタプログラムを利用して開発して
おります。

  ビルド時に

  gmake -f gmake.mak MEMMAP=ram

  とすることで、RAMロード用の sample_ram.mot が出来上がります。

  参考までに動作確認したモニタプログラムの設定です。

   Monitor Vector  00000000  -  000002BF
   Monitor ROM     00000400  -  000057A1
   Monitor RAM     FFFFE000  -  FFFFE15F
   User    Vector  FFFFE160  -  FFFFE41F

  外部RAMアクセスに必要な設定はモニタプログラム側で行う
必要があります。
  上記以外の設定の場合は、ご使用のメモリマップに合わせて
サンプルを変更してください。


==============================================================================
 end of file
==============================================================================
