Skip to content

Releases: raspberrypi/pico-sdk

SDK version 1.1.0

05 Mar 15:16
fc10a97
Compare
Choose a tag to compare

New Feature Highlights

  • Added board headers for Adafruit, Pimoroni & SparkFun boards

    • new values for PICO_BOARD are adafruit_feather_rp2040, adafruit_itsybitsy_rp2040, adafruit_qtpy_rp2040,
      pimoroni_keybow2040, pimoroni_picosystem, pimoroni_tiny2040, sparkfun_micromod,
      sparkfun_promicro, sparkfun_thingplus, in addition to the existing pico and vgaboard.
    • Added additional definitions for a default SPI, I2C pins as well as the existing ones for UART
    • Allow default pins to be undefined (not all boards have UART for example), and SDK will compile but warn as needed in the absence of default.
    • Added additional definition for a default WS2812 compatible pin (currently unused).
  • New reset options

    • Added pico_bootsel_via_double_reset library to allow reset to BOOTSEL mode via double press of a RESET button
    • When using pico_stdio_usb i.e. stdio connected via USB CDC to host, setting baud rate to 1200 (by default)
      can optionally be used to reset into BOOTSEL mode.
    • When using pico-stdio_usb i.e. stdio connected via USB CDC to host, an additional interface may be added
      to give picotool control over resetting the device.
  • Build improvement for non SDK or existing library builds

    • Removed additional compiler warnings (note register headers now use _u(x) macro for unsigned values though).
    • Made build more clang friendly.

This release also contains many bug fixes, documentation updates and minor improvements.

Note: there are some nominally backwards incompatible changes not worthy of a major version bump:
- PICO_DEFAULT_UART_ defines now default to undefined if there is no default rather than -1 previously
- The broken multicore_sleep_core1() API has been removed; multicore_reset_core1
is already available to put core 1 into a deep sleep.

SDK version 1.0.1

01 Feb 21:07
Compare
Choose a tag to compare
  • add pico_get_unique_id method to return a unique identifier for a Pico board using the identifier of the external flash
  • exposed all 4 pacing timers on the DMA peripheral (previously only 2 were exposed)
  • fixed ninja build (i.e. cmake -G ninja .. ; ninja)
  • minor other improvements and bug fixes

Additionally, a low level change was made to the way flash binaries start executing after boot_stage2. This was at the request of folks implementing other language runtimes. It is not generally of concern to end users, however it did require a change to the linker scripts so if you have cloned those to make modifications then you need to port across the relevant changes. If you are porting a different language runtime using the SDK boot_stage2 implementations then you should be aware that you should now have a vector table (rather than executable code) - at 0x10000100