本ページは CAT760 と コンピューテックス社 PALMiCE2 の接続方法について記述したものです。PALMiCE及びCSIDEの使い方については各製品のマニュアルを参照してください。
2008年3月4日
接続 †
EB760 †
- EB760のCN10が 14Pin-HUDI 端子となっています。PALMiCEと接続します。
- PALMiCEのリセット・プローブをTP2 (RES_IN)に接続します。
- 最後にEB760に電源を投入します。
DIPSW等の設定は不要です。
MB760 †
- MB760 CN4 の 1〜14 Pin が HUDI 端子になっています。PALMiCEと接続します。
- PALMiCEのリセット・プローブを MB760 CN4 15番ピン(RES_IN)に接続します。
- コンソールは シリアル・ストレートケーブルでPCと接続します(115200bps)
- 最後にEB760に電源を投入します。
DIPSW等の設定は不要です。
結線はこちらを参考にしてください→ MB760_connector.pdf
CSIDEの設定 †
CAT760ハードウェア情報を CSIDEへ登録 †
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でカーネルデバッグのコツ †
- デバッグしたいカーネルを -g オプションでビルドする
Kernel hacking --->
[*] Kernel debugging
[*] Compile the kernel with debug info
- ICEでデバッグするときはbootloaderからカーネルの起動オプションが渡せないのでカーネルに組み込んでおく
Boot options --->
[*] Default bootloader kernel arguments
console=ttySC0,115200 root=/dev/mtdblock2 rootfstype=jffs2 ro mb760=1
- カーネルソース TOP の Makefile に -gdwarf-22 を追加する
ifdef CONFIG_DEBUG_INFO
CFLAGS += -g -gdwarf-22
endif
- DIPSW1をOFFにしておき自動起動を無効にする
- 普通にcatbootを起動して少し走らせる(bootloaderで周辺レジスタの初期化を行う)
- catbootのプロンプトで止まっているときに、CSIDEで強制ブレイクする
- メニュー 「ファイル」→「ロード」
「共通設定」で 「ファイルロード後にレジスタを初期化する」のチェックマークを外す
これがあると PCが A0000000 になってしまう。
vmlinux DBGのみ
arch/sh/boot/compressed/vmlinux OBJ+DBG
を指定する(この順でロードすること)
- 最初に止めたい個所に「ハードウェアブレイク」を張る。
例)
コードウィンドウを開く(ALT+1)
init/main.c の start_kernel() 関数を開く
左側をWクリックすると赤▼(ソフトブレイク)が貼られる。^
これを右クリックして「UBCブレイクの設定」 緑▼ にする。
- 最初のブレイクで止まったら、次以降はソフトウェアブレイクが使える
関連 †