最近Atom IDEとかVisual Studio Codeとか新しい開発環境が出て来てますね(Renesas CSplusと連携させる方法を探したいですね)

最近、Atom IDE(まだC/C++サポートは無い模様)とかVisual Studio Code(C/C++サポートのプレビュー版は有る模様)とか、新しい開発環境が出て来ていますね。ルネサスCS+と連携させる方法を探してみたいですね。

Google検索: Atom IDE site:マイナビニュース
www.google.co.jp/search?q=Atom+IDE+site%3Anews.mynavi.jp

Google検索: Visual Studio Code site:マイナビニュース
www.google.co.jp/search?q=Visual+Studio+Code+site%3Anews.mynavi.jp

[リンク]

C/C++ for VS Code (Preview)
code.visualstudio.com/docs/languages/cpp

[案(当面)]

・ ビルドはCS+のコマンドラインモードを使用する
・ ビルドエラーメッセージパーサはVisual Studio Codeのソースを改造する
・ もちろんCS+のコマンドラインモードでビルドした.absファイルはCS+のGUIモードでデバッグ可能
・ e² studio同梱のrenesas_cc_converter.exeでCC-RXやCC-RLの.absファイルをGDBで読める.xファイルに変換可能
・ e² studio同梱のe2-server-gdb.exeでGDBとE1/E2Lite等を接続可能
・ Visual Studio CodeはGDBと接続可能(任意のGDBと接続可能かは分からないが少なくともARM GDBとは接続可能な模様)

[案(将来)]

・ Visual Studio CodeをルネサスCS+と接続出来れば、、、(出来ればGDBを介さずに、、、)
・ Visual Studio CodeをルネサスCS+のmtpjファイル内のソース情報が読めるように改造出来れば、、、

Parents
  • こんにちは。NoMaYです。

    今回、主に以下の対応をしてみました。ファイル一式を以下のzipファイルに固めました。(ファイルの合わせ込み/修正でRX版も更新しました。)

    (1) GNURL78とLLVM-RL78に対応させた
    (1') CC-RL版とファイルを共通にしたので以下の画面コピーのようにVSCode上で“構成”を切り替えて下さい

    (2) VSCode上からCC-RLのヘルプファイルを開くタスクメニューを追加した
    (2') なおGNURL78時やLLVM-RL78時にもメニューが表示されてしまいますが、これらではメニューを実行しても何も起きません

    vscode_helper_files_rl78_20211227.zip
    vscode_helper_files_rx_20211227.zip

    Visual Studio MCU.elf ← 注: 実装上の事情でVisual Studio 2022の場合と同様な小細工のダミーファイルを追加しました
    .vscode/c_cpp_intellisense_helper.h
    .vscode/c_cpp_properties.json
    .vscode/launch.json
    .vscode/tasks.json
    .vscode/VSCode setup for e2 studio.launch
    .vscode/VSCode start and open this folder.launch
    .vscode/.script/build.bat
    .vscode/.script/build.ps1
    .vscode/.script/exec.bat
    .vscode/.script/gdb.bat
    .vscode/.script/gdbserver.bat
    .vscode/.script/gdb_custom_launch_setup.gdb
    .vscode/.script/gdb_setup.gdb
    .vscode/.script/inherit_environments.bat
    .vscode/.script/update_properties_json.bat

     
    以下、今回のやり方でのVSCodeの画面コピーです。

    VSCode上で“構成”を切り替えて下さい



    以下、e2 studioやCC-RLの各種パス設定やプロジェクトの各種設定をまとめた.vscode/c_cpp_properties.jsonファイルの内容です。赤文字箇所がVSCode setup for e2 studio.launchの実行により更新されます。

    .vscode/c_cpp_properties.json

    CC-RL/GNURL78/LLVM-RL78用

    {
        // code.visualstudio.com/.../customize-default-settings-cpp
        // code.visualstudio.com/.../c-cpp-properties-schema-reference
        "configurations": [
            {
                "name": "CC-RL",
                "includePath": [
                    "${env:TCINSTALL}\\inc\\**",
                    "${env:PROJECT_ROOT}\\src\\**"
                ],
                "defines": [
                ],
                "compilerPath": "",
                "cStandard": "c99",
                "intelliSenseMode": "windows-msvc-x86",
                "forcedInclude": [
                    ".vscode\\c_cpp_intellisense_helper.h"
                ]
            },
            {
                "name": "GNURL78",
                "includePath": [
                    "${env:PROJECT_ROOT}\\src\\**"
                ],
                "defines": [
               ],
                "compilerPath": "${env:TCINSTALL}\\bin\\rl78-elf-g++.exe",
                "compilerArgs": [
                    "-mg14 -mmul=g14"
                ],
                "cStandard": "gnu99",
                "cppStandard": "gnu++14",
                "intelliSenseMode": "linux-gcc-x86",
                "forcedInclude": [
                    ".vscode\\c_cpp_intellisense_helper.h"
                ]
            },
            {
                "name": "LLVM-RL78",
                "includePath": [
                    "${env:PROJECT_ROOT}\\src\\**"
                ],
                "defines": [
                ],
                "compilerPath": "${env:TCINSTALL}\\bin\\clang++.exe",
                "compilerArgs": [
                    "--target=rl78 -mcpu=s3 -frenesas-extensions"
                ],
                "cStandard": "gnu99",
                "cppStandard": "gnu++17",
                "intelliSenseMode": "windows-clang-x86",
                "forcedInclude": [
                    ".vscode\\c_cpp_intellisense_helper.h"
                ]
            }
        ],
        "env": {
            // Do not edit the following line if you use 'VSCode setup for e2 studio.launch' program.
            "PROJECT_NAME": "${workspaceFolderBaseName}",
            //
          // Do not edit the following two lines if you use 'VSCode setup for e2 studio.launch' program.
            "PROGRAM_NAME": "${env.PROJECT_NAME}",
            "PROGRAM_EXT": ".elf",
            //
            // Do not edit the following line if you use 'VSCode setup for e2 studio.launch' program.
            "E2STUDIO_WORKSPACE_FOLDER": "C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202110",
            //
            "BUILD_CONFIG_RELEASE_NAME": "Release", // Reserved for future use.
            "BUILD_CONFIG_DEBUG_NAME": "HardwareDebug",
            //
            "DEBUG_CONFIG_HARDWAREDEBUG_NAME": "HardwareDebug",
            "DEBUG_CONFIG_HARDWAREDEBUG_LCFG": "${env.PROJECT_NAME} ${env.DEBUG_CONFIG_HARDWAREDEBUG_NAME}.launch",
            "DEBUG_CONFIG_HARDWAREDEBUG_SOPT": "-uComPort= COM9",
            "DEBUG_CONFIG_SIMULATORDEBUG_NAME": "RenesasSimDebug",
            "DEBUG_CONFIG_SIMULATORDEBUG_LCFG": "${env.PROJECT_NAME} ${env.DEBUG_CONFIG_SIMULATORDEBUG_NAME}.launch",
            "DEBUG_CONFIG_SIMULATORDEBUG_SOPT": "",
            //
            "PROJECT_ROOT": "${workspaceFolder}",
            "MAKE_OPTIONS": "-r -j8 -k",
            //
            // Do not edit the following five lines if you use 'VSCode setup for e2 studio.launch' program.
            "ECLIPSE_HOME": "C:\\Renesas\\e2studio64_v202110\\eclipse",
            "SUPPORT_AREA": "C:\\Renesas\\e2studio64\\SupportFiles\\.eclipse\\com.renesas.platform_1643561029",
            "PYTHONHOME": "${env.ECLIPSE_HOME}\\runtimes\\python\\2.7.12_x86",
            "TCINSTALL": "C:\\Renesas\\GCCLLVM\\LLVM-RL78\\10.0.0.202111",
            "TC_NAME": "LLVM-RL78",
            //
            "environment": "Renesas_R_CPUs" // Not used but for similarity to Visual Studio's 'CppProperties.json'.
        },
        "version": 4
    }

     

Reply
  • こんにちは。NoMaYです。

    今回、主に以下の対応をしてみました。ファイル一式を以下のzipファイルに固めました。(ファイルの合わせ込み/修正でRX版も更新しました。)

    (1) GNURL78とLLVM-RL78に対応させた
    (1') CC-RL版とファイルを共通にしたので以下の画面コピーのようにVSCode上で“構成”を切り替えて下さい

    (2) VSCode上からCC-RLのヘルプファイルを開くタスクメニューを追加した
    (2') なおGNURL78時やLLVM-RL78時にもメニューが表示されてしまいますが、これらではメニューを実行しても何も起きません

    vscode_helper_files_rl78_20211227.zip
    vscode_helper_files_rx_20211227.zip

    Visual Studio MCU.elf ← 注: 実装上の事情でVisual Studio 2022の場合と同様な小細工のダミーファイルを追加しました
    .vscode/c_cpp_intellisense_helper.h
    .vscode/c_cpp_properties.json
    .vscode/launch.json
    .vscode/tasks.json
    .vscode/VSCode setup for e2 studio.launch
    .vscode/VSCode start and open this folder.launch
    .vscode/.script/build.bat
    .vscode/.script/build.ps1
    .vscode/.script/exec.bat
    .vscode/.script/gdb.bat
    .vscode/.script/gdbserver.bat
    .vscode/.script/gdb_custom_launch_setup.gdb
    .vscode/.script/gdb_setup.gdb
    .vscode/.script/inherit_environments.bat
    .vscode/.script/update_properties_json.bat

     
    以下、今回のやり方でのVSCodeの画面コピーです。

    VSCode上で“構成”を切り替えて下さい



    以下、e2 studioやCC-RLの各種パス設定やプロジェクトの各種設定をまとめた.vscode/c_cpp_properties.jsonファイルの内容です。赤文字箇所がVSCode setup for e2 studio.launchの実行により更新されます。

    .vscode/c_cpp_properties.json

    CC-RL/GNURL78/LLVM-RL78用

    {
        // code.visualstudio.com/.../customize-default-settings-cpp
        // code.visualstudio.com/.../c-cpp-properties-schema-reference
        "configurations": [
            {
                "name": "CC-RL",
                "includePath": [
                    "${env:TCINSTALL}\\inc\\**",
                    "${env:PROJECT_ROOT}\\src\\**"
                ],
                "defines": [
                ],
                "compilerPath": "",
                "cStandard": "c99",
                "intelliSenseMode": "windows-msvc-x86",
                "forcedInclude": [
                    ".vscode\\c_cpp_intellisense_helper.h"
                ]
            },
            {
                "name": "GNURL78",
                "includePath": [
                    "${env:PROJECT_ROOT}\\src\\**"
                ],
                "defines": [
               ],
                "compilerPath": "${env:TCINSTALL}\\bin\\rl78-elf-g++.exe",
                "compilerArgs": [
                    "-mg14 -mmul=g14"
                ],
                "cStandard": "gnu99",
                "cppStandard": "gnu++14",
                "intelliSenseMode": "linux-gcc-x86",
                "forcedInclude": [
                    ".vscode\\c_cpp_intellisense_helper.h"
                ]
            },
            {
                "name": "LLVM-RL78",
                "includePath": [
                    "${env:PROJECT_ROOT}\\src\\**"
                ],
                "defines": [
                ],
                "compilerPath": "${env:TCINSTALL}\\bin\\clang++.exe",
                "compilerArgs": [
                    "--target=rl78 -mcpu=s3 -frenesas-extensions"
                ],
                "cStandard": "gnu99",
                "cppStandard": "gnu++17",
                "intelliSenseMode": "windows-clang-x86",
                "forcedInclude": [
                    ".vscode\\c_cpp_intellisense_helper.h"
                ]
            }
        ],
        "env": {
            // Do not edit the following line if you use 'VSCode setup for e2 studio.launch' program.
            "PROJECT_NAME": "${workspaceFolderBaseName}",
            //
          // Do not edit the following two lines if you use 'VSCode setup for e2 studio.launch' program.
            "PROGRAM_NAME": "${env.PROJECT_NAME}",
            "PROGRAM_EXT": ".elf",
            //
            // Do not edit the following line if you use 'VSCode setup for e2 studio.launch' program.
            "E2STUDIO_WORKSPACE_FOLDER": "C:\\Renesas\\GitHubDesktop\\workspaces\\workspace_e2v202110",
            //
            "BUILD_CONFIG_RELEASE_NAME": "Release", // Reserved for future use.
            "BUILD_CONFIG_DEBUG_NAME": "HardwareDebug",
            //
            "DEBUG_CONFIG_HARDWAREDEBUG_NAME": "HardwareDebug",
            "DEBUG_CONFIG_HARDWAREDEBUG_LCFG": "${env.PROJECT_NAME} ${env.DEBUG_CONFIG_HARDWAREDEBUG_NAME}.launch",
            "DEBUG_CONFIG_HARDWAREDEBUG_SOPT": "-uComPort= COM9",
            "DEBUG_CONFIG_SIMULATORDEBUG_NAME": "RenesasSimDebug",
            "DEBUG_CONFIG_SIMULATORDEBUG_LCFG": "${env.PROJECT_NAME} ${env.DEBUG_CONFIG_SIMULATORDEBUG_NAME}.launch",
            "DEBUG_CONFIG_SIMULATORDEBUG_SOPT": "",
            //
            "PROJECT_ROOT": "${workspaceFolder}",
            "MAKE_OPTIONS": "-r -j8 -k",
            //
            // Do not edit the following five lines if you use 'VSCode setup for e2 studio.launch' program.
            "ECLIPSE_HOME": "C:\\Renesas\\e2studio64_v202110\\eclipse",
            "SUPPORT_AREA": "C:\\Renesas\\e2studio64\\SupportFiles\\.eclipse\\com.renesas.platform_1643561029",
            "PYTHONHOME": "${env.ECLIPSE_HOME}\\runtimes\\python\\2.7.12_x86",
            "TCINSTALL": "C:\\Renesas\\GCCLLVM\\LLVM-RL78\\10.0.0.202111",
            "TC_NAME": "LLVM-RL78",
            //
            "environment": "Renesas_R_CPUs" // Not used but for similarity to Visual Studio's 'CppProperties.json'.
        },
        "version": 4
    }

     

Children
No Data