- The divider state needs to be saved for __aeabi_ddiv, __aeabi_fdiv, __aeabi_dtan and __aeabi_ftan or they won't work in interrupts *(probably not used much youd hope), or on an RTOS context switch
- Refactored code out for the integer and floating point cases
- Improved the floating point 'tests' in passing to check more return values against GCC implementations
- Added floating point usage to the IRQ nesting test case
Adds a new cmsis_core INTERFACE library, which provides the basic CMSIS macros/definitions, and RP2040.h and system_RP2040.h
By default the isr_ methods in the vector table are renamed to their CMSIS versions, but this can be overridden by defining PICO_CMSIS_RENAME_EXCEPTIONS=0
- Add recursive_mutex
- Make all locking primitives and sleep use common overridable wait/notify support to allow RTOS
implementations to replace WFE/SEV with something more appropriate
- Add busy_wait_ms
* Change some cmake output to DEBUG level
Make SDK build more consistent with other libraries (use an INTERFACE marker library for inclusion tests)
Add PICO_SDK_PRE_LIST_FILES, PICO_SDK_POST_LIST_FILES build vars
* fix typo
* remove leftover debugging message
* SPI Definitions for SparkFun boards
Added the #defines for the default SPI pins on SparkFun boards
* SPI Definitions for SparkFun boards
Added the #defines for the default SPI pins on SparkFun boards
Co-authored-by: Kirk <blowme@cow.com>
This prevents a comparison between a signed and an unsigned number which
will create a warning tripping -Werror.
Also added a check for the alignment of the spin lock structure
* i2c: set hold time of SDA during transmit to 2 for TCS34725 color sensor
* i2c: fix issues in i2c_write_blocking_internal
* i2c: rename sda_hold_count to sda_tx_hold_count
* use assert rather than invalid_params_if for internal consistency checks
* i2c: use a more appropriate sda tx hold time at higher baudrates
* i2c: reduce 120/1e9 to the smallest possible integer numerator and denominator
* Don't use implicit 0 for field LSB
Co-authored-by: Luke Wren <wren6991@gmail.com>
* move PLL reset code from clocks driver to pll driver
* Don't clear PLL PWR/FBDIV after reset as unnecessary. Call out in runtime.c why USB/syscfg aren't reset.
Co-authored-by: Peter Lawrence <12226419+majbthrd@users.noreply.github.com>
Co-authored-by: Luke Wren <wren6991@gmail.com>