Visual Studio 2022 Community EditionでRX MCUやRL78 MCUのSoftware Developmentが出来るか試してみようと思います

こんにちは。NoMaYです。

昨日Visual Studio 2022 Community Editionをインストールしたのですが、ゴソゴソと触っていたところ、以下のブログ記事に辿り付きました。ちょうど、別スレッドにてVSCodeでRX MCU/RL78 MCUのCC-RX/CC-RLを使っていてもプログラムのビルド/デバッグが出来るようになり始めたところですが(多分ですけどRH850のCC-RHでも出来そう)、どうやら、そちらでやっていたことと話が重なるようでした。ひょっとしたら、Visual Studio 2022でもVSCodeと同様にCC-RX/CC-RL(及びCC-RH)でもビルド/デバッグが出来るようになるかも知れない、という気がして来ました。そこで、これから試して行こうと思います。

なお、以下のブログ記事はVisual Studio 2017について書かれたものですが、Visual Studio 2022で試してみると同じようには出来ないようだ、ということまでは分かって来ました。ただ、Makefileでは無く、CMakeLists.txtであれば、出来るようになるかも知れない、という気がして来たところです。(まだ、気がする、程度ですけれど。)

ARM GCC Cross Compilation in Visual Studio
devblogs.microsoft.com/cppblog/arm-gcc-cross-compilation-in-visual-studio/

Debugging an embedded ARM device in Visual Studio
devblogs.microsoft.com/cppblog/debugging-an-embedded-arm-device-in-visual-studio/

[追記]

あぁっ、以下の記事のようにすればCMakeを使わなくてもやれるのかも、、、

Docs / Visual Studio / IDE / 開発 / プロジェクトやソリューションなしで開発する / ビルドのカスタマイズとタスクのデバッグ
"フォルダーを開く" の開発のためにビルド タスクとデバッグ タスクをカスタマイズする
docs.microsoft.com/visualstudio/ide/customize-build-and-debug-tasks-in-visual-studio?view=vs-2022
 

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

    今回、以下の対応をしてみました。ファイル一式を以下のzipファイルに固めました。

    e2 studio側

    (1) Visual Studioの設定ファイルCppProperties.jsonをe2 studioの設定に合わせるよう更新するlaunchファイルを追加
    (2) e2 studioからVisual Studioを起動してプロジェクトフォルダを開くlaunchファイルを追加
    補: Eclipseの常ですが(1)も(2)もProject Explorerでプロジェクトをクリックしてからファイルを実行して下さい

    Visual Studio 2022側

    (3) Visual Studioからe2 studioを起動するコンテキストメニューを追加
    (4) Visual Studioからブラウザを起動してルネサス検索ページを開くコンテキストメニューを追加



    (5) Visual StudioでもVSCodeっぽくプロジェクトフォルダ名でプロジェクト名を代用させる手が使えるようにしてみました
    (5') たまたま出来そうなことに気付いて対処してみたのですが、表記として !ProjectRootBaseName! という表記になります

    visualstudio2022_helper_files_rl78_20211209.zip
    visualstudio2022_helper_files_rx_20211209.zip

    Visual Studio MCU.elf ← 注: Visual Studio 2022にMCU向けプロジェクトだと判定させる小細工のダミーファイルです
    CppProperties.json
    .vs/c_cpp_intellisense_helper.h
    .vs/launch.vs.json
    .vs/tasks.vs.json
    .vs/VS setup for e2 studio.launch
    .vs/VS start and open this folder.launch
    .vs/.script/build.bat
    .vs/.script/build.ps1
    .vs/.script/exec.bat
    .vs/.script/gdb.bat
    .vs/.script/gdbserver.bat
    .vs/.script/gdb_custom_launch_setup.gdb
    .vs/.script/gdb_setup.gdb
    .vs/.script/inherit_environments.bat
    .vs/.script/update_properties_json.bat

     
    以下、今回のやり方でのe2 studioとVisual Studio 2022の画面コピーです。






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

    CppProperties.json

    CC-RX用

    {
      // docs.microsoft.com/.../open-folder-projects-cpp
      // docs.microsoft.com/.../cppproperties-schema-reference
      "configurations": [
        {
          "name": "CC-RX",
          "includePath": [
            "${env.TCINSTALL}\\include\\**",
            "${env.PROJECT_ROOT}\\src\\**"
          ],
          "defines": [
          ],
          // docs.microsoft.com/.../std-specify-language-standard-version
          // Unfortunately MSVC cannot accept C99 standard.
          // "compilerSwitches": "/std:c99",
          "compilerSwitches": "/std:c11",
          "intelliSenseMode": "windows-msvc-x86",
          "forcedInclude": [
            ".\\.vs\\c_cpp_intellisense_helper.h"
          ],
          "environments": [
            {
              // Do not edit the following line if you use 'VS setup for e2 studio.launch' program.
              "PROJECT_NAME": "!ProjectRootBaseName!",
              //
              "PROGRAM_NAME": "${env.PROJECT_NAME}",
              "PROGRAM_EXT": ".x",
              //
              // Do not edit the following line if you use 'VS 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": "",
              "DEBUG_CONFIG_SIMULATORDEBUG_NAME": "RenesasSimDebug",
              "DEBUG_CONFIG_SIMULATORDEBUG_LCFG": "${env.PROJECT_NAME} ${env.DEBUG_CONFIG_SIMULATORDEBUG_NAME}.launch",
              "DEBUG_CONFIG_SIMULATORDEBUG_SOPT": "",
              //
              "PROJECT_ROOT": "${projectRoot}.", // Note that this pre-defined dynamic macro ends with '\'.
              "MAKE_OPTIONS": "-r -j8 -k",
              //
              // Do not edit the following four lines if you use 'VS 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\\CS+\\CC\\CC-RX\\V3.03.00",
              //
              "environment": "Renesas_R_CPUs"
            }
          ],
          "inheritEnvironments": [
            "Renesas_R_CPUs"
          ]
        }
      ]
    }

     
    CC-RL用

    {
      // docs.microsoft.com/.../open-folder-projects-cpp
      // docs.microsoft.com/.../cppproperties-schema-reference
      "configurations": [
        {
          "name": "CC-RL",
          "includePath": [
            "${env.TCINSTALL}\\inc\\**",
            "${env.PROJECT_ROOT}\\src\\**"
          ],
          "defines": [
          ],
          // docs.microsoft.com/.../std-specify-language-standard-version
          // Unfortunately MSVC cannot accept C99 standard.
          // "compilerSwitches": "/std:c99",
          "compilerSwitches": "/std:c11",
          "intelliSenseMode": "windows-msvc-x86",
          "forcedInclude": [
            ".\\.vs\\c_cpp_intellisense_helper.h"
          ],
          "environments": [
            {
              // Do not edit the following line if you use 'VS setup for e2 studio.launch' program.
              "PROJECT_NAME": "!ProjectRootBaseName!",
              //
              "PROGRAM_NAME": "${env.PROJECT_NAME}",
              "PROGRAM_EXT": ".x",
              //
              // Do not edit the following line if you use 'VS 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": "${projectRoot}.", // Note that this pre-defined dynamic macro ends with '\'.
              "MAKE_OPTIONS": "-r -j8 -k",
              //
              // Do not edit the following four lines if you use 'VS 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\\CS+\\CC\\CC-RL\\V1.10.00",
              //
              "environment": "Renesas_R_CPUs"
            }
          ],
          "inheritEnvironments": [
            "Renesas_R_CPUs"
          ]
        }
      ]
    }

     

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

    今回、以下の対応をしてみました。ファイル一式を以下のzipファイルに固めました。

    e2 studio側

    (1) Visual Studioの設定ファイルCppProperties.jsonをe2 studioの設定に合わせるよう更新するlaunchファイルを追加
    (2) e2 studioからVisual Studioを起動してプロジェクトフォルダを開くlaunchファイルを追加
    補: Eclipseの常ですが(1)も(2)もProject Explorerでプロジェクトをクリックしてからファイルを実行して下さい

    Visual Studio 2022側

    (3) Visual Studioからe2 studioを起動するコンテキストメニューを追加
    (4) Visual Studioからブラウザを起動してルネサス検索ページを開くコンテキストメニューを追加



    (5) Visual StudioでもVSCodeっぽくプロジェクトフォルダ名でプロジェクト名を代用させる手が使えるようにしてみました
    (5') たまたま出来そうなことに気付いて対処してみたのですが、表記として !ProjectRootBaseName! という表記になります

    visualstudio2022_helper_files_rl78_20211209.zip
    visualstudio2022_helper_files_rx_20211209.zip

    Visual Studio MCU.elf ← 注: Visual Studio 2022にMCU向けプロジェクトだと判定させる小細工のダミーファイルです
    CppProperties.json
    .vs/c_cpp_intellisense_helper.h
    .vs/launch.vs.json
    .vs/tasks.vs.json
    .vs/VS setup for e2 studio.launch
    .vs/VS start and open this folder.launch
    .vs/.script/build.bat
    .vs/.script/build.ps1
    .vs/.script/exec.bat
    .vs/.script/gdb.bat
    .vs/.script/gdbserver.bat
    .vs/.script/gdb_custom_launch_setup.gdb
    .vs/.script/gdb_setup.gdb
    .vs/.script/inherit_environments.bat
    .vs/.script/update_properties_json.bat

     
    以下、今回のやり方でのe2 studioとVisual Studio 2022の画面コピーです。






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

    CppProperties.json

    CC-RX用

    {
      // docs.microsoft.com/.../open-folder-projects-cpp
      // docs.microsoft.com/.../cppproperties-schema-reference
      "configurations": [
        {
          "name": "CC-RX",
          "includePath": [
            "${env.TCINSTALL}\\include\\**",
            "${env.PROJECT_ROOT}\\src\\**"
          ],
          "defines": [
          ],
          // docs.microsoft.com/.../std-specify-language-standard-version
          // Unfortunately MSVC cannot accept C99 standard.
          // "compilerSwitches": "/std:c99",
          "compilerSwitches": "/std:c11",
          "intelliSenseMode": "windows-msvc-x86",
          "forcedInclude": [
            ".\\.vs\\c_cpp_intellisense_helper.h"
          ],
          "environments": [
            {
              // Do not edit the following line if you use 'VS setup for e2 studio.launch' program.
              "PROJECT_NAME": "!ProjectRootBaseName!",
              //
              "PROGRAM_NAME": "${env.PROJECT_NAME}",
              "PROGRAM_EXT": ".x",
              //
              // Do not edit the following line if you use 'VS 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": "",
              "DEBUG_CONFIG_SIMULATORDEBUG_NAME": "RenesasSimDebug",
              "DEBUG_CONFIG_SIMULATORDEBUG_LCFG": "${env.PROJECT_NAME} ${env.DEBUG_CONFIG_SIMULATORDEBUG_NAME}.launch",
              "DEBUG_CONFIG_SIMULATORDEBUG_SOPT": "",
              //
              "PROJECT_ROOT": "${projectRoot}.", // Note that this pre-defined dynamic macro ends with '\'.
              "MAKE_OPTIONS": "-r -j8 -k",
              //
              // Do not edit the following four lines if you use 'VS 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\\CS+\\CC\\CC-RX\\V3.03.00",
              //
              "environment": "Renesas_R_CPUs"
            }
          ],
          "inheritEnvironments": [
            "Renesas_R_CPUs"
          ]
        }
      ]
    }

     
    CC-RL用

    {
      // docs.microsoft.com/.../open-folder-projects-cpp
      // docs.microsoft.com/.../cppproperties-schema-reference
      "configurations": [
        {
          "name": "CC-RL",
          "includePath": [
            "${env.TCINSTALL}\\inc\\**",
            "${env.PROJECT_ROOT}\\src\\**"
          ],
          "defines": [
          ],
          // docs.microsoft.com/.../std-specify-language-standard-version
          // Unfortunately MSVC cannot accept C99 standard.
          // "compilerSwitches": "/std:c99",
          "compilerSwitches": "/std:c11",
          "intelliSenseMode": "windows-msvc-x86",
          "forcedInclude": [
            ".\\.vs\\c_cpp_intellisense_helper.h"
          ],
          "environments": [
            {
              // Do not edit the following line if you use 'VS setup for e2 studio.launch' program.
              "PROJECT_NAME": "!ProjectRootBaseName!",
              //
              "PROGRAM_NAME": "${env.PROJECT_NAME}",
              "PROGRAM_EXT": ".x",
              //
              // Do not edit the following line if you use 'VS 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": "${projectRoot}.", // Note that this pre-defined dynamic macro ends with '\'.
              "MAKE_OPTIONS": "-r -j8 -k",
              //
              // Do not edit the following four lines if you use 'VS 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\\CS+\\CC\\CC-RL\\V1.10.00",
              //
              "environment": "Renesas_R_CPUs"
            }
          ],
          "inheritEnvironments": [
            "Renesas_R_CPUs"
          ]
        }
      ]
    }

     

Children
No Data