You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you're using Pico W or Pico 2 W with the Bazel build, cyw43_arch_init() will immediately crash if --@pico-sdk//bazel/config:PICO_MULTICORE_ENABLED=False is not also set.
Affected Pico SDK version: 2.1.0
Details
By default, the Bazel build enables multicore support to make the use of the additional cores easier. Unfortunately, this default behavior doesn't play well with the wireless libraries for reasons I haven't fully investigated. When multicore support is enabled, PICO_FLASH_SAFE_EXECUTE_PICO_SUPPORT_MULTICORE_LOCKOUT is also enabled, which, if I'm reading correctly requires an explicit call to flash_safe_execute_core_init() OR for one of PICO_FLASH_ASSUME_CORE0_SAFE or PICO_FLASH_ASSUME_CORE1_SAFE to be set. For reasons I'd have to re-dig up later, this all matters because cyw43_arch_init() hits the flash init path. The easiest solution to get the Pico W working with existing examples is usually to just disable multicore support, but the other mentioned workarounds may also be viable if you need both multicore support and wireless libraries.
The text was updated successfully, but these errors were encountered:
If you're using Pico W or Pico 2 W with the Bazel build,
cyw43_arch_init()
will immediately crash if--@pico-sdk//bazel/config:PICO_MULTICORE_ENABLED=False
is not also set.Affected Pico SDK version: 2.1.0
Details
By default, the Bazel build enables multicore support to make the use of the additional cores easier. Unfortunately, this default behavior doesn't play well with the wireless libraries for reasons I haven't fully investigated. When multicore support is enabled,
PICO_FLASH_SAFE_EXECUTE_PICO_SUPPORT_MULTICORE_LOCKOUT
is also enabled, which, if I'm reading correctly requires an explicit call toflash_safe_execute_core_init()
OR for one ofPICO_FLASH_ASSUME_CORE0_SAFE
orPICO_FLASH_ASSUME_CORE1_SAFE
to be set. For reasons I'd have to re-dig up later, this all matters becausecyw43_arch_init()
hits the flash init path. The easiest solution to get the Pico W working with existing examples is usually to just disable multicore support, but the other mentioned workarounds may also be viable if you need both multicore support and wireless libraries.The text was updated successfully, but these errors were encountered: