pico-sdk icon indicating copy to clipboard operation
pico-sdk copied to clipboard

No mention of `PICO_DEOPTIMIZED_DEBUG` in SDK documentation

Open recursivenomad opened this issue 9 months ago • 3 comments

The CMake variable PICO_DEOPTIMIZED_DEBUG is not mentioned in the Pico SDK documentation, nor the Getting Started guide.

It is an important part of configuration, especially since leaving it unset results in some debug features not working (at least as of SDK version <1.5.0 when I last checked). I would have expected it to be listed in Section 6.1 - Full List of SDK Configuration Variables.

While I'm at it, I went ahead and assembled a list linking to that and other possible contenders from the SDK source that you may or may not want to make note of in the documentation:

(SDK searched with regex if.*NOT.*PICO_ )

recursivenomad avatar Apr 09 '25 22:04 recursivenomad

  • PICO_BTSTACK_PATH
  • PICO_CYW43_DRIVER_PATH
  • PICO_LWIP_PATH
  • PICO_MBEDTLS_PATH
  • PICO_TINYUSB_PATH

These ones were added in #2405 🙂

lurch avatar Apr 26 '25 11:04 lurch

  • PICO_FLASH_SIZE_BYTES

This one has a PICO_CONFIG: entry here i.e. it appears in section 5.1 of https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf

(SDK searched with regex if.*NOT.*PICO_ )

I decided to use a slightly fancier approach find_unlabelled_pico_cmake_vars.py.txt 😃 which found some variables not included in your list above... but I have NO idea which of these should be documented, and which are "false positives" i.e. internal-use-only.

  • PICO_32BIT
  • PICO_BOARD_CMAKE_FILE
  • PICO_BOARD_HEADER_FILE
  • PICO_BOOT_STAGE2_COMPILE_TIME_CHOICE_NAME
  • PICO_BUILD_DOCS
  • PICO_CMSIS_CORE_PATH
  • PICO_CMSIS_DEVICE
  • PICO_COMBINED_DOCS
  • PICO_COMPILER_SYSROOT
  • PICO_CYW43_SUPPORTED
  • PICO_C_COMPILER_IS_CLANG
  • PICO_C_COMPILER_IS_GNU
  • PICO_DEBUG_INFO_IN_RELEASE
  • PICO_DEFAULT_COMPILER
  • PICO_DEFAULT_FLASH_SIZE_BYTES
  • PICO_MBEDTLS_CONFIG_FILE
  • PICO_PLATFORM_PREFIX
  • PICO_PREVIOUS_CMAKE_TOOLCHAIN_FILE
  • PICO_PREVIOUS_PLATFORM
  • PICO_PROMOTE_COMMON_SCOPE_VARS
  • PICO_RISCV
  • PICO_RP2040
  • PICO_RP2350
  • PICO_SAVED_PLATFORM
  • PICO_SAVED_PLATFORM_PREFIX
  • PICO_SDK_INIT_CMAKE_FILE
  • PICO_SDK_TESTS_ENABLED
  • PICO_SDK_TOP_LEVEL_PROJECT
  • PICO_SYMLINK_ELF_AS_FILENAME

lurch avatar Apr 26 '25 21:04 lurch

This one has a PICO_CONFIG: entry here i.e. it appears in section 5.1 of https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf

Actually that one lives in Section 6.1 🙂 Good catch, I missed that when drafting my list above.

I decided to use a slightly fancier approach find_unlabelled_pico_cmake_vars.py.txt 😃

😁 My reasoning for searching for if.*NOT.*PICO_ was that would specifically show me CMake options which (probably) have a default value (but imply that the user can override them). I also do not know which of my list (or yours) are relevant, but a few seem important on first glance.

And just to clarify for the curious, both sections in the documentation exist:

recursivenomad avatar Apr 26 '25 22:04 recursivenomad

fix merged into develop; will be in the next docs release

kilograham avatar Jul 25 '25 14:07 kilograham