カスタマーサポートセンター

FAQ~よくある質問~ | FAQマスタ詳細表示

FAQ詳細情報

ID 10810293
FAQカテゴリ(大) 便利な使い方
最終更新日 2013-03-09

質問内容

SDRAMを使ってデバッグする時の注意を教えてください。

回答内容

デバッグ中のボードにSDRAMが実装されている場合、その領域の一部をデバッグ用のプログラム領域とすると以下のようなメリットがあります。

1.  フラッシュROMより高速にプログラムをダウンロードできる

2.  一般にSDRAMは容量が大きいので、デバッグルーチン等をリンクする場合の制約が少ない。

3.  ブレークポイントの数の制限がない

一方、SRAMと違いプログラムをダウンロードする前にSDRAMコントローラの初期化を行う必要があります。C-SPYでは、I/Oレジスタに自由に読み書きすることのできるマクロ言語が用意されていて、プログラムのロード前にSDRAMコントローラの初期化を行うことができます。

下記がSDRAMの初期化マクロの例(一部)です。

execUserPreload()
{
   . . .
  //EMCDYNAMICRASCAS0_bit.RAS = 3;
  __writeMemory32((3UL << 0) | (3UL << 8), 0xFFE08104, "Memory");
  //EMCDYNAMICRP = P2C(SDRAM_TRP);
  __writeMemory32(0x00000002, 0xFFE08030, "Memory");
  //EMCDYNAMICRAS = P2C(SDRAM_TRAS);
  __writeMemory32(0x00000004, 0xFFE08034, "Memory");
   . . .

マクロファイルが完成したら、適当なフォルダに置いて、
プロジェクトメニュー > オプション > デバッガカテゴリを選択し、設定タブを開き、マクロのセットアップセクションのマクロファイルの使用にチェックを入れ、その下のテキストボックスにマクロファイルのパス+ファイル名を記入します。

C-SPYのマクロについての詳細は、

IAR Embedded Workbench® IDEユーザガイド

(EWARMのインストールされているフォルダ\arm\doc\EWARM_UserGuide.JPN.pdf)

の、「C-SPY® マクロリファレンス」の章をご参照ください。

参考資料URL