CAT760_PALMiCE2

本ページは CAT760 と コンピューテックス社 PALMiCE2 の接続方法について記述したものです。PALMiCE及びCSIDEの使い方については各製品のマニュアルを参照してください。

2008年3月4日

接続

EB760

  1. EB760のCN10が 14Pin-HUDI 端子となっています。PALMiCEと接続します。
  2. PALMiCEのリセット・プローブをTP2 (RES_IN)に接続します。
  3. 最後にEB760に電源を投入します。

DIPSW等の設定は不要です。

MB760

PALMICE_PIC1.jpg

  1. MB760 CN4 の 1〜14 Pin が HUDI 端子になっています。PALMiCEと接続します。
  2. PALMiCEのリセット・プローブを MB760 CN4 15番ピン(RES_IN)に接続します。
  3. コンソールは シリアル・ストレートケーブルでPCと接続します(115200bps)
  4. 最後にEB760に電源を投入します。

DIPSW等の設定は不要です。
結線はこちらを参考にしてください→ fileMB760_connector.pdf

CSIDEの設定

CAT760ハードウェア情報を CSIDEへ登録

  • メニュー「設定」→「ターゲットシステムの設定」
    H-UDIクロック     15MHz
    エンディアン      little
    MMUの使用         MMUの機能を使用しない
    
    A0000000〜A0FFFFFF  16bit  フラッシュメモリ  東芝 TC58FVM7B2A
    AC000000〜AFFFFFFF  32bit  ユーザRAM
    残りは使用しないのでディセイブルでもかまいません。
    フラッシュROMの詳細型番は製造時期によって異なります。
    新 TC58FVM7B5B
    旧 TC58FVM7B2A

cside_pic1.jpg

CAT760初期化マクロ

以下を cat760.mcr マクロとしてテキストファイル保存します。

// SDRAM等のバスステートコントローラの設定
// Outport(3=32bit  2=16bit   1=8bit, addr, data)
Outport(3,0xFF800000,0x00100009)	// ;BCR1
Outport(2,0xFF800004,0xAAF8    )	// ;BCR2
Outport(2,0xFF800050,0x0001    )	// ;BCR3
Outport(3,0xFF800008,0x11111111)	// ;WCR1
Outport(3,0xFF80000C,0xFFF445d7)	// ;WCR2
Outport(3,0xFF800010,0x06666666)	// ;WCR3
Outport(3,0xFE0A0028,0x00000002)	// ;WCR4
Outport(3,0xFE0A00F0,0x0	   )  	// ;BCR4
Outport(3,0xFF800014,0x080925F4)	// ;MCR (MRSET=0)
Outport(1,0xFF940088,0x0	   )  	// ;SDRAM モードセット
Outport(2,0xFF80001C,0xA508    )	// ;RTCSR
Outport(2,0xFF800024,0xA508    )	// ;RTCOR (短い)
Outport(3,0xFF800014,0x480925F4)	// ;MCR (MRSET=1)
Outport(1,0xFF940088,0x0	   )	// ;SDRAM モードセット
Outport(2,0xFF800024,0xA582    )	// ;RTCOR
Outport(2,0xFF800018,0xFFFF    )	// ;PCR (ウェイト最大)
//レジスタの初期化(ベクタの内容からPCとSPを設定する)
RegisterReset()

注意;このマクロは動くことを第一に考えた定数になっています。ウェイト等は最大になっていますので速度重視の設定ではありません。

「ターゲットシステムの設定」→「初期値の設定」→「ハードウェア初期化時のマクロ設定」で、
ハードウェアの初期化時に実行されるマクロファイルの登録 に上記の cat760.mcr を登録します。

当社で確認したこと

  • フラッシュROMへの書き込み(バイナリ形式 boot.bin)
  • カーネルのソースコードデバッグ(ブレイク、ステップ実行、変数ウォッチ)

CSIDEでカーネルデバッグのコツ

  1. デバッグしたいカーネルを -g オプションでビルドする
    Kernel hacking  --->
       [*] Kernel debugging
       [*]   Compile the kernel with debug info
  2. ICEでデバッグするときはbootloaderからカーネルの起動オプションが渡せないのでカーネルに組み込んでおく
    Boot options  --->
      [*] Default bootloader kernel arguments
        console=ttySC0,115200 root=/dev/mtdblock2 rootfstype=jffs2 ro mb760=1
  3. カーネルソース TOP の Makefile に -gdwarf-22 を追加する
    ifdef CONFIG_DEBUG_INFO
    CFLAGS          += -g -gdwarf-22
    endif
  4. DIPSW1をOFFにしておき自動起動を無効にする
  5. 普通にcatbootを起動して少し走らせる(bootloaderで周辺レジスタの初期化を行う)
  6. catbootのプロンプトで止まっているときに、CSIDEで強制ブレイクする
  7. メニュー 「ファイル」→「ロード」
    「共通設定」で 「ファイルロード後にレジスタを初期化する」のチェックマークを外す
    これがあると PCが A0000000 になってしまう。
          vmlinux                           DBGのみ 
          arch/sh/boot/compressed/vmlinux   OBJ+DBG
    を指定する(この順でロードすること)
  8. 最初に止めたい個所に「ハードウェアブレイク」を張る。
    例)
    コードウィンドウを開く(ALT+1)
    init/main.c の start_kernel() 関数を開く
    左側をWクリックすると赤▼(ソフトブレイク)が貼られる。^
    これを右クリックして「UBCブレイクの設定」 緑▼ にする。
  9. 最初のブレイクで止まったら、次以降はソフトウェアブレイクが使える

関連