e2studioのデバッグ接続時に汎用レジスタを叩きたい

こんにちは、OSOSと申します。

最新のe2studio(v2022ー04)を使って RZ/Aの開発を進めているのですが、
デバッガをCPUに接続した直後、プログラムを実行する前にCPSRレジスタの
値を指定することはできるのでしょうか。

例えば、ダウンロードするプログラムがSDRAM空間にある場合は
デバッガは CPUに接続してからプログラムダウンロード前に、
「デバッグ構成 > Startupタブ > 初期化コマンド」に記述した GDBコマンドを
実行するため、SDRAM初期化用の GDBコマンドを複数並べておけば
CPU接続直後に SDRAM空間を初期化して無事プログラムをダウンロードできる
ことは理解しています。

GDBコマンド例:「set {short}0xFCFFE000 = 0x0000」で、アドレス0xFCFF E0000に 0x0000を書き込む

同じようなことが、汎用レジスタ(特に CPSRレジスタ)でもできるのか、
できる場合はコマンドの指定方法含めて、何かご存じのことがあれば教えていただけますでしょうか。

Parents
  • 汎用レジスタはレジスタ名で指定できます。
    set $cpsr=値
    ですね。(変数と同じ書式)
    Debugger Consoleでコマンドを打てば実行できるので、ひとまずそちらで試してみると良いですよ。
    値を見るなら p $cpsr  (または print $cpsr)。
    Debugger Console内はコピペも利きます。

    IRQ禁止とか、一部のビットだけ触りたいなら $cpsr.I とか、ビット名を指定してください。 

Reply
  • 汎用レジスタはレジスタ名で指定できます。
    set $cpsr=値
    ですね。(変数と同じ書式)
    Debugger Consoleでコマンドを打てば実行できるので、ひとまずそちらで試してみると良いですよ。
    値を見るなら p $cpsr  (または print $cpsr)。
    Debugger Console内はコピペも利きます。

    IRQ禁止とか、一部のビットだけ触りたいなら $cpsr.I とか、ビット名を指定してください。 

Children
  • ほや様

    確かにDebugger Consoleでコマンド実行して確かに「set $cpsr=~」をしたら
    汎用レジスタの CPSRレジスタにアクセスができました。

    改めて教えていただいた記述でデバッグ構成設定を見直したところ、期待通りに
    デバッグ接続開始と同時に自動でCPSRレジスタを指定でき、プログラム実行が
    スムーズに行えるようになりました。

    ご回答ありがとうございました。