Releases: raspberrypi/pico-sdk
SDK version 1.1.0
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 existingpico
andvgaboard
. - 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 values for PICO_BOARD are
-
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.
- Added
-
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
- 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