Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] RP2350 port is in the wrong subdirectory vs the kernel import CMake script #1220

Closed
mcknly opened this issue Jan 9, 2025 · 3 comments
Labels
bug Something isn't working

Comments

@mcknly
Copy link
Contributor

mcknly commented Jan 9, 2025

Describe the bug
Support for RP2350 was merged into the FreeRTOS-Kernel-Community-Supported-Ports submodule, which originated from this commit on RPi's FreeRTOS fork (but was actually merged from @kilograham's fork of community ports here). However, adding the port into the nested submodule directory breaks the kernel import CMake script which assumes it is at the same location as the RP2040 port, portable/ThirdParty/GCC/, which would make sense. Symlinking the RP2350 port directory into the same place as the RP2040 port is a workaround for this issue. Ideally the RP2040 and RP2350 ports should be in the same spot.

Target

  • Development board: Raspberry Pi Pico2
  • Instruction Set Architecture: ARM Cortex-M33
  • IDE and version: VScode 1.96.2
  • Toolchain and version: cmake 3.25.1, gcc-arm-none-eabi 12.2.1

Host

  • Host OS: Linux
  • Version: Debian 12

To Reproduce

  • Pull latest main of this repo
  • Update submodules git submodule update --init
  • In a project, use set(freertos_port_path "portable/ThirdParty/Community-Supported-Ports/GCC/RP2350_ARM_NTZ/FreeRTOS_Kernel_import.cmake") for RP2350 port
  • Configure project using CMake

Expected behavior
Successful configuration (RP2350 port is found)

Screenshots
Error message from CMake:

[cmake] Using FREERTOS_KERNEL_PATH from environment ('/projects/FreeRTOS-Kernel')
[cmake] CMake Error at /projects/FreeRTOS-Kernel/portable/ThirdParty/Community-Supported-Ports/GCC/RP2350_ARM_NTZ/FreeRTOS_Kernel_import.cmake:66 (message):
[cmake]   Directory '/projects/FreeRTOS-Kernel' does not contain a
[cmake]   'rp2350-arm-s' port here: portable/ThirdParty/GCC/RP2350_ARM_NTZ

Additional context
The issue was originally produced in my Breadboard-OS project, and I have also been tracking the issue here. Building the project on this branch is another way to reproduce this issue.

@mcknly
Copy link
Contributor Author

mcknly commented Jan 10, 2025

Some more information on this - I noticed that the RP2040 kernel import script had already been updated to dynamically look for RP2040/RP2350_ARM_NTZ/RP2350_RISCV both inside and outside the submodule. I assume the intention was to also include this more dynamic script within the community supported ports submodule as well. I opened a PR - FreeRTOS/FreeRTOS-Kernel-Community-Supported-Ports#18 - probably should get @kilograham's take on it.

@kstribrnAmzn
Copy link
Member

Thanks for taking the time to report this! I see you've raised a corresponding PR. I'll take a look at it and let you know if I have any feedback.

@aggarg
Copy link
Member

aggarg commented Jan 14, 2025

Thank you for your contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants