Seeking Help: Pico VS Code Extension "Buttons Grayed Out" & Configuration Failures (Restricted Environment)

I am attempting to build and run the FreeRTOS SMP (Symmetric Multi-Processing) Demo (CORTEX_M0+_RP2040) on a Raspberry Pi Pico. At first, I installed the Raspberry Pi Pico extension, then downloaded the example blink project and made it run. Then from GitHub, I downloaded the (CORTEX_M0+_RP2040) project but when I imported it, I am not able to do anything because all the project related buttons are grayed out.

Environmental Constraints:

  • Host OS: Windows (Company laptop with strict Group Policy).

  • Restrictions: No write access to C:\Users\%USERNAME%\AppData, no ability to run standard installers, and several standard build tools (Ninja, NMake) are blocked or missing.

  • Workaround: All tools and the SDK have been manually placed on a non-restricted D: drive.

Current Progress & Successful Workarounds:

  1. Hardware/Basic Software Verified: I have successfully compiled and run the basic Blink sample project on this machine. Hardware and cables are confirmed working.

  2. Manual Toolchain Setup: * SDK: Version 2.2.0 located at D:\Pico\pico-sdk.

    • Compiler: ARM GNU Toolchain 15.2 located at D:\Pico\gcc-arm\bin.

    • CMake: Portable binary version 3.x located at D:\Pico\cmake\bin.

  3. Path Overrides: In settings.json, I have hardcoded raspberry-pi-pico.toolchainPath, raspberry-pi-pico.sdkPath, and cmake.cmakePath to point to the D: drive.

  4. CMakeLists.txt Patch: Manually updated the project CMakeLists.txt to point picoVscode directly to the pico-vscode.cmake file found in the hidden .pico-sdk folder to bypass ${USERHOME} resolution errors.

The Issues We Are Facing Now:

1. Grayed-Out Sidebar Buttons:

Despite the manual paths, the Raspberry Pi Pico extension sidebar buttons (Compile, Run, Configure) remain dull/disabled. The extension does not seem to “activate” for this specific FreeRTOS SMP folder, even though it worked for the Blink project.

2. “nmake” and Generator Failures:

When attempting to use the CMake Tools “Build” button in the status bar, the process fails because it defaults to nmake, which is blocked/missing.

  • Current status: We are attempting to force the MinGW Makefiles generator and point cmake.makePath to a portable make.exe (from w64devkit) on the D: drive.

3. “Bad CMake Executable” Errors:

We frequently encounter “Bad CMake executable” errors if the extension tries to revert to the version stored in the restricted C: drive user profile.

Request:

How can I force the Raspberry Pi Pico extension to “wake up” and recognize this manually configured environment so I can use the integrated Build/Run buttons? Is there a specific workspace setting that overrides the User settings in these restricted environments?

Can you try cloning FreeRTOS/FreeRTOS repo with submodules and build CORTEX_M0+_RP2040 using these instructions?

I also ran into similar problems recently when I tried to compile the demo. I don’t know for sure but I got the impression that the demo project is either not compatible with the standard toolchain on Windows or just uses some custom toolchain in general. One example as you noted nmake is not part of the toolchain on Windows.

If you are looking to get up and running with something see this issue for some example code and cmake configuration: [BUG] RP2040 Port SMP Compile Error · Issue #1354 · FreeRTOS/FreeRTOS-Kernel · GitHub

In the issue I give the CMake file, the config file, and a small program to show SMP operation. As noted in the issue there is a small issue in the port that causes compile error using 11.2 version. The compile error should be fixed if you use main branch, or you can apply the small change to the 11.2 version to fix the compile error.

1 Like

Hi, thank you for your response. But I already did the initial configurations using those instructions.