diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 65b1d8c5..f058fab0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -165,9 +165,7 @@ macro(pico_simple_hardware_impl_target NAME) ) pico_mirrored_target_link_libraries(hardware_${NAME} INTERFACE pico_platform) - if (NOT PICO_NO_HARDWARE) - target_link_libraries(hardware_${NAME} INTERFACE hardware_claim) - endif() + target_link_libraries(hardware_${NAME} INTERFACE hardware_claim) endif() endmacro() diff --git a/src/common/pico_util/pheap.c b/src/common/pico_util/pheap.c index c7c9575e..d53c72e6 100644 --- a/src/common/pico_util/pheap.c +++ b/src/common/pico_util/pheap.c @@ -134,5 +134,5 @@ static uint ph_dump_node(pheap_t *heap, pheap_node_id_t id, void (*dump_key)(phe void ph_dump(pheap_t *heap, void (*dump_key)(pheap_node_id_t, void *), void *user_data) { uint count = ph_dump_node(heap, heap->root_id, dump_key, user_data, 0); - printf("node_count %d\n", count); -} \ No newline at end of file + printf("node_count %u\n", count); +} diff --git a/src/host/hardware_irq/CMakeLists.txt b/src/host/hardware_irq/CMakeLists.txt index d5c54237..7b23468a 100644 --- a/src/host/hardware_irq/CMakeLists.txt +++ b/src/host/hardware_irq/CMakeLists.txt @@ -1,2 +1 @@ -pico_simple_hardware_target(irq) -target_link_libraries(hardware_irq INTERFACE hardware_claim) \ No newline at end of file +pico_simple_hardware_target(irq) \ No newline at end of file diff --git a/src/rp2_common/hardware_adc/include/hardware/adc.h b/src/rp2_common/hardware_adc/include/hardware/adc.h index c5d3fced..7dec7f61 100644 --- a/src/rp2_common/hardware_adc/include/hardware/adc.h +++ b/src/rp2_common/hardware_adc/include/hardware/adc.h @@ -25,16 +25,15 @@ * - RP2040 5 input mux: * - 4 inputs that are available on package pins shared with GPIO[29:26] * - 1 input is dedicated to the internal temperature sensor - * - 4 element receive sample FIFO * \endif * * \if rp2350_specific * - RP2350 5 or 9 input mux: * - 4 inputs available on QFN-60 package pins shared with GPIO[29:26] * - 8 inputs available on QFN-80 package pins shared with GPIO[47:40] - * - 8 element receive sample FIFO + * - One input dedicated to the internal temperature sensor (see Section 12.4.6) * \endif - * - One input dedicated to the internal temperature sensor (see Section 12.4.6) + * - 8 element receive sample FIFO * - Interrupt generation * - DMA interface * @@ -213,14 +212,7 @@ static inline void adc_set_clkdiv(float clkdiv) { /*! \brief Setup the ADC FIFO * \ingroup hardware_adc * - * \if rp2040_specific - * On RP2040 the FIFO is 4 samples long. - * \endif - * - * \if rp2350_specific - * On RP2350 the FIFO is 8 samples long. - * \endif - * + * The FIFO is 8 samples long. * If a conversion is completed and the FIFO is full, the result is dropped. * * \param en Enables write each conversion result to the FIFO @@ -256,13 +248,7 @@ static inline bool adc_fifo_is_empty(void) { /*! \brief Get number of entries in the ADC FIFO * \ingroup hardware_adc * - * \if rp2040_specific - * On RP2040 the FIFO is 4 samples long. - * \endif - * \if rp2350_specific - * On RP2350 the FIFO is 8 samples long. - * \endif - * + * The FIFO is 8 samples long. * This function will return how many samples are currently present. */ static inline uint8_t adc_fifo_get_level(void) { diff --git a/src/rp2_common/pico_double/double_aeabi_rp2040.S b/src/rp2_common/pico_double/double_aeabi_rp2040.S index 6ec3d795..32ad4e19 100644 --- a/src/rp2_common/pico_double/double_aeabi_rp2040.S +++ b/src/rp2_common/pico_double/double_aeabi_rp2040.S @@ -44,11 +44,9 @@ PICO_RUNTIME_INIT_FUNC_RUNTIME(__aeabi_double_init, PICO_RUNTIME_INIT_AEABI_DOUB #endif .endm -.section .text - #if PICO_DOUBLE_PROPAGATE_NANS -.thumb_func -__check_nan_d1: +double_section __check_nan_d1 +regular_func __check_nan_d1 movs r3, #1 lsls r3, #21 lsls r2, r1, #1 @@ -58,8 +56,8 @@ __check_nan_d1: 1: bx ip -.thumb_func -__check_nan_d2: +double_section __check_nan_d2 +regular_func __check_nan_d2 push {r0, r2} movs r2, #1 lsls r2, #21 diff --git a/src/rp2_common/pico_float/CMakeLists.txt b/src/rp2_common/pico_float/CMakeLists.txt index f634f094..a2088bee 100644 --- a/src/rp2_common/pico_float/CMakeLists.txt +++ b/src/rp2_common/pico_float/CMakeLists.txt @@ -106,9 +106,10 @@ target_link_libraries(pico_float_none INTERFACE pico_float_headers) wrap_float_functions(pico_float_none) # we wrap all functions - # be explicit that there should be no floating point instructions - target_compile_options(pico_float_none INTERFACE -msoft-float) - + if (NOT PICO_RISCV) + # be explicit that there should be no floating point instructions + target_compile_options(pico_float_none INTERFACE -msoft-float) + endif() pico_add_library(pico_float_pico) if (PICO_RP2040) target_sources(pico_float_pico INTERFACE diff --git a/src/rp2_common/pico_float/float_aeabi_rp2040.S b/src/rp2_common/pico_float/float_aeabi_rp2040.S index c34f68f6..b2ea7fee 100644 --- a/src/rp2_common/pico_float/float_aeabi_rp2040.S +++ b/src/rp2_common/pico_float/float_aeabi_rp2040.S @@ -47,11 +47,10 @@ float_section WRAPPER_FUNC_NAME(\func) #endif .endm -.section .text #if PICO_FLOAT_PROPAGATE_NANS -.thumb_func -__check_nan_f1: +float_section __check_nan_f1 +regular_func __check_nan_f1 movs r3, #1 lsls r3, #24 lsls r2, r0, #1 @@ -61,8 +60,8 @@ __check_nan_f1: 1: bx ip -.thumb_func -__check_nan_f2: +float_section __check_nan_f2 +regular_func __check_nan_f2 movs r3, #1 lsls r3, #24 lsls r2, r0, #1 diff --git a/src/rp2_common/pico_multicore/multicore.c b/src/rp2_common/pico_multicore/multicore.c index 453d770b..ef9a9b0b 100644 --- a/src/rp2_common/pico_multicore/multicore.c +++ b/src/rp2_common/pico_multicore/multicore.c @@ -371,7 +371,7 @@ static bool multicore_doorbell_claim_under_lock(uint doorbell_num, uint core_mas if (claimed_cores_for_doorbell & core_mask) { if (required) { panic( "Multicore doorbell %d already claimed on core mask 0x%x; requested core mask 0x%x\n", - claimed_cores_for_doorbell, core_mask); + doorbell_num, claimed_cores_for_doorbell, core_mask); } return false; } else {