VSCode内でGNU-RXビルドしたプログラムのSimulatorデバックでタイマー割り込みできない

無茶苦茶久しぶりのLunaJamと申します。

e2studioでGNU-RXでのビルドとSimulatorデバックでICUとCMTを有効にすればタイマー割り込みが確認できますがVSCode+Renesasプラグインの場合ではどうやってもタイマー割り込みが発生しません。タイマー割り込み以外は普通にデバックできます。
こういう仕様なのか設定の問題なのかどうなんでしょうか。

起動時に引数が表示されるのですが規定値の後に設定値が追記される感じで認識されていないように見えます。

launch.jsonはこんな感じ

    "version": "0.2.0",
    "configurations": [
    {
        "type": "renesas-simulator",
        "request": "launch",
        "name": "Renesas GDB Simulator Debugging2",
        "gdb": "C:/Users/w420a/.eclipse/com.renesas.platform_1435879475/DebugComp/RX/rx-elf-gdb.exe",
        "target": {
            "deviceFamily": "RX",
            "device": "R5F52105",
            "debuggerType": "SIMULATOR",
            "type": "remote",
            "server": "C:/Users/w420a/.eclipse/com.renesas.platform_1435879475/DebugComp/RX/e2-server-gdb",
            "serverParameters": [
                "-uIOModule=", "IodllForCMT.dll",
                "-uIOModule=", "aaaIodllForICU.dll",
                "-uPeripheralClkRatio=", "1",
                "-uCpuClkFreq=", "16",
                "-uRegisterSetting=", "0",
                "-uModePin=", "0",
                "-uCacheDecode=", "1",
                "-n", "0",
                "-uWorkRamAddress=", "0",
                "-uEmStopInt=", "1",
                "-uEmStopInterrupt=", "0",
                "-uEmStopFPexp=", "1",
                "-uCore=", "SINGLE_CORE|enabled|1|main",
                "-uSyncMode=", "async",
                "-uFirstGDB=", "main",
                "-uConnectionTimeout=", "30",
                "-l",
                "--gdbVersion=", "12.1"
            ]
    }

起動時のログ
GDB Server for Renesas targets.
    Version 10.1.0.v20241218-130351 [2b0b72b9] (Dec 18 2024 15:32:34)


Starting server with the following options:
        Raw options                : C:\Users\w420a\.eclipse\com.renesas.platform_1435879475\DebugComp\RX\e2-server-gdb -g SIMULATOR -t R5F52105 -uConnectionTimeout= 30 -uPeripheralClkRatio= 1 -uCpuClkFreq= 12 -uRegisterSetting= 0 -uModePin= 0 -uCacheDecode= 1 -n 0 -uWorkRamAddress= 0 -uEmStopInt= 1 -uEmStopInterrupt= 1 -uEmStopFPexp= 1 -l -uCore= SINGLE_CORE|enabled|1|main -uSyncMode= async -uFirstGDB= main --english --gdbVersion= 12.1 -uIOModule= IodllForCMT.dll -uIOModule= aaaIodllForICU.dll -uPeripheralClkRatio= 1 -uCpuClkFreq= 16 -uRegisterSetting= 0 -uModePin= 0 -uCacheDecode= 1 -n 0 -uWorkRamAddress= 0 -uEmStopInt= 1 -uEmStopInterrupt= 0 -uEmStopFPexp= 1 -uCore= SINGLE_CORE|enabled|1|main -uSyncMode= async -uFirstGDB= main -uConnectionTimeout= 30 -l --gdbVersion= 12.1
Replacing core settings for 'single core'
Old:core settings for single core, state=enabled, id=1, gdb name=main
New:core settings for single core, state=enabled, id=1, gdb name=main

Connecting to SIMULATOR, RX Target
        GDBServer endian           : little
        Target power from emulator : Off
Starting target connection
Finished target connection
GDB: 49841
GNU gdb (GDB) 12.1-20241209-ef50df6a
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <gnu.org/.../gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=x86_64-w64-mingw32 --target=rx-elf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<llvm-gcc-renesas.com>.
Find the GDB manual and other documentation resources online at:
    <www.gnu.org/.../>.
For help, type "help".

Parents
  • > e2studioでGNU-RXでのビルドとSimulatorデバックでICUとCMTを有効にすればタイマー割り込みが確認できますが
    e² studioやCS+ではデバッガにCMTっぽい動作をするような機能をわざわざ載せてあるからそうなっているだけで、GDB にその機能はないのでシミュレートできないだけです。

    VS Codeでビルドしたものでもe² studioでデバッグ可能です。VS Codeだけでどうにかしようと頑張るよりそっちの方が早いかと思います。
    (参考) FAQ - e² studio以外でビルドしたロードモジュールをe² studioでデバッグしたい
    https://ja-support.renesas.com/knowledgeBase/18454487

Reply
  • > e2studioでGNU-RXでのビルドとSimulatorデバックでICUとCMTを有効にすればタイマー割り込みが確認できますが
    e² studioやCS+ではデバッガにCMTっぽい動作をするような機能をわざわざ載せてあるからそうなっているだけで、GDB にその機能はないのでシミュレートできないだけです。

    VS Codeでビルドしたものでもe² studioでデバッグ可能です。VS Codeだけでどうにかしようと頑張るよりそっちの方が早いかと思います。
    (参考) FAQ - e² studio以外でビルドしたロードモジュールをe² studioでデバッグしたい
    https://ja-support.renesas.com/knowledgeBase/18454487

Children
  • ありがとうございます。VS Codeでビルドしたものをe² studioでデバッグ確認できましたので使い分けしていこうと思います。

    ただVScodeから指定しているGDBはe2studioで使っているもの(%HOMEPATH%/.eclipse以下のGDB)を使っているにも関わらずパラメータがきちんと渡っていないのか機能しなかったので何か指定上の問題なんかがあると思い散々調べても無かったので質問しました。