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:
-
Hardware/Basic Software Verified: I have successfully compiled and run the basic Blink sample project on this machine. Hardware and cables are confirmed working.
-
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.
-
-
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.
-
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?