arduino / arduino/ArduinoCore-mbed
Question: Is it possible to manually extend the ArduinoCore to support pico_multicore?
- Dominant language
- C
- Stars
- 411
- Forks
- 225
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
I am using the latest ArduinoCore-mbed 2.0.0 on my Raspberry Pi Pico and would like to be able to use the multicore function as is described in the official SDK.
I have tried copying the requisite parts of the SDK to:
`Arduino15\packages\arduino\hardware\mbed_rp2040\2.0.0\cores\arduino\mbed\targets\TARGET_RASPBERRYPI\TARGET_RP2040\pico-sdk`
I have also modified the following file so that the compiler can find all the library files:
`Arduino15\packages\arduino\hardware\mbed_rp2040\2.0.0\variants\RASPBERRY_PI_PICO\includes.txt`
When I go to compile however it fails at the following point:
`Compiling sketch...
"C:\\Users\\AlexStewart\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -c -Wall -Wextra -g3 -nostdlib "@C:\\Users\\AlexStewart\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed_rp2040\\2.0.0\\variants\\RASPBERRY_PI_PICO/defines.txt" "@C:\\Users\\AlexStewart\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed_rp2040\\2.0.0\\variants\\RASPBERRY_PI_PICO/cxxflags.txt" -DARDUINO_ARCH_RP2040 -MMD -mcpu=cortex-m0plus -DARDUINO=10607 -DARDUINO_RASPBERRY_PI_PICO -DARDUINO_ARCH_MBED_RP2040 -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=0 "-IC:\\Users\\AlexStewart\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed_rp2040\\2.0.0\\cores\\arduino" "-IC:\\Users\\AlexStewart\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed_rp2040\\2.0.0\\variants\\RASPBERRY_PI_PICO" "-IC:\\Users\\AlexStewart\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed_rp2040\\2.0.0\\libraries\\SPI" "-IC:\\Users\\AlexStewart\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed_rp2040\\2.0.0\\libraries\\Wire" "-IC:\\Users\\AlexStewart\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed_rp2040\\2.0.0\\cores\\arduino/api/deprecated" "-IC:\\Users\\AlexStewart\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed_rp2040\\2.0.0\\cores\\arduino/api/deprecated-avr-comp" "-iprefixC:\\Users\\AlexStewart\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed_rp2040\\2.0.0\\cores\\arduino" "@C:\\Users\\AlexStewart\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed_rp2040\\2.0.0\\variants\\RASPBERRY_PI_PICO/includes.txt" "C:\\Users\\ALEXST~1\\AppData\\Local\\Temp\\arduino-sketch-4087D06F8A8419D4493F714B6F85855D\\sketch\\2021_AURA_Front_Lamp.ino.cpp" -o "C:\\Users\\ALEXST~1\\AppData\\Local\\Temp\\arduino-sketch-4087D06F8A8419D4493F714B6F85855D\\sketch\\2021_AURA_Front_Lamp.ino.cpp.o"
arm-none-eabi-g++: error: CreateProcess: No such file or directory`
Is there something more I need to do to enable this functionality? I'd like to be able to run code on core1 as described in the SDK documentation linked below whilst staying within the Arduino ecosystem (the rest of my code requires the use of Arduino compatible libraries).
`https://datasheets.raspberrypi.org/pico/raspberry-pi-pico-c-sdk.pdf#page=194`
Thank you for your help!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the ArduinoCore-mbed 2.0.0 RP2040 core and the RASPBERRY_PI_PICO variant, especially cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk and variants/RASPBERRY_PI_PICO/includes.txt. Reproduce the reported arm-none-eabi-g++ CreateProcess failure, then determine whether the copied SDK and include changes are sufficient for a multicore sketch to compile and run within Arduino.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cpp
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100