=====================================================================
                         CQ-STARMターゲット依存部 (ssp-1.0.0対応）
                                  Last Modified: '11/03/24
=====================================================================

○概要

CQ-STARMターゲット依存部は，プロセッサにSTM32F10x(Cortex-M3)を搭載した，
（株）ESP企画製のCQ-STARM+CQ-STARMBBをサポートしている．


○カーネルの使用リソース

カーネルは以下のリソースを使用する．

  ・ROM
     コードを配置する．
     使用量は使用するAPIの数に依存する．

  ・RAM
     データを配置する．
  	 使用量はオブジェクト数に依存する．
  
  ・SysTick
     カーネル内部のティックの生成に用いる．
     
  ・USARTチャネル1
     コンソールの出力に使用．


○他のターゲットへの移植

CQ-STARMターゲット依存部で使用するシリアルは，STM32F10xの内蔵機能の
みを使用するため，STM32F10x系のCotex-M3を用いた環境には容易にポーティ
ングが可能である．ポーティングに関しては，以下の初期化ルーチンにターゲ
ット毎の初期化を追加すればよい．

  ・target_initialize() : target_config.c
    ターゲット依存部の初期化（C言語）
  ・_hardware_init_hook : target_support.S
    低レベルのターゲット依存の初期化
    スタートアップモジュールの中で，メモリの初期化の前に呼び出される


○デバッグ環境

デバッグ環境としては，JTAGデバッガの使用を前提とする．
デバッガはGDBを使用.
JTAGハードウェアは，limex製のARM-USB-TINYを使用.
ソフトウェアとして，OpenOCDを使用.バージョンは、r657-20080516.

OpenOCDについては、以下のサイトを参照
   http://openocd.berlios.de/web/

OpenOCDを使用してデバッグする場合，TOPPERS_CUSTOM_IDELを定義して，アイドル時に
サスペンドしないように注意すること．WFI命令でサスペンドした場合，OpenOCDを使っ
てデバックできなくなるという問題があるためである．

○コンパイラ

GCC 4.2.3 で動作確認を行った．動作確認した GCC 4.2.3 は，以下のサイトから
バイナリパッケージをダウンロードして用いた．

   http://www.codesourcery.com/gnu_toolchains/arm/download.html


○割込み優先度

割込み優先度として指定可能な範囲は，-15 〜 -1 である．

○コンソール出力

コンソール出力には，USARTのチャネル1を用いる．CQ-STRM+CQ-STARMBB上ではUSARTの
チャネル1は，P2に接続されている．通信フォーマットは以下の通りである．

  ・1152200bps, Data 8bit, Parity none, Stop 1bit, Flow control none

○アドレスマッピング

　0x0800,0000 - 0x0802,0000 内蔵FlashROM 128KB
　　　　　　　　　　　　　　　・vectorセクション
　　　　　　　　　　　　　　　・textセクション
　　　　　　　　　　　　　　　・rodataセクション
　0x2000,0000 - 0x2000,5000 内蔵RAM 20KB
　　　　　　　　　　　　　　　・dataセクション
　　　　　　　　　　　　　　　・bssセクション

○各種設定の変更

幾つかのパラメータは変更可能になっている．設定ファイル毎に設定可能項目
は次のようになっている．

●Makefile.target の設定項目

・GCC_TARGET
  GCCの suffix を定義

・TEXT_START_ADDRESS/DATA_START_ADDRESS
  テキストセクション，データセクションの開始アドレス

・DEFAULT_STK_TOP
  ディフォルトの非タスクコンテキスト用のスタックの終了番地
  　・非タスクコンテキスト用スタックポインタの初期値（底）

・INCLUDES
  インクルード指定

・COPTS
  Cコンパイラへのオプション

・LDFLAGS
  リンカへのオプション

●target_config.h の設定項目

・DEFAULT_ISTKSZ
  ディフォルトの非タスクコンテキスト用のスタックサイズ

・SIL_DLY_TIM1/2
  微少時間待ちのための定義

●target_syssvc.h の設定項目

・BPS_SETTING
  コンソールに使用するポート（SCIFのポート1）のボーレート


○変更履歴
