Skip to content

stdusb assert when using the low power API #2982

Description

@peterharperuk

If I enable stdio usb in the low_power_pstate_timer in here raspberrypi/pico-examples#749 and use a debug build
I get an assertion failure before going into load power...

#1  0x10003478 in __assert_func (
    file=file@entry=0x1000a08c "/home/peterh/source/pico-sdk1/src/common/hardware_claim/claim.c",
    line=line@entry=51, func=func@entry=0x1000b824 <__func__.0> "hw_claim_clear",
    failedexpr=failedexpr@entry=0x1000a06c "hw_is_claimed(bits, bit_index)")
    at /home/peterh/source/pico-sdk1/src/rp2_common/pico_clib_interface/newlib_interface.c:177
#2  0x100005ce in hw_claim_clear (bits=bits@entry=0x20001a58 <claimed> "", bit_index=<optimized out>)
    at /home/peterh/source/pico-sdk1/src/common/hardware_claim/claim.c:51
#3  0x1000060c in spin_lock_unclaim (lock_num=<optimized out>)
    at /home/peterh/source/pico-sdk1/src/rp2_common/hardware_sync/sync.c:40
#4  0x10000e7a in critical_section_deinit (crit_sec=crit_sec@entry=0x200027b4 <one_shot_timer_crit_sec>)
    at /home/peterh/source/pico-sdk1/src/rp2_common/hardware_sync_spin_lock/include/hardware/sync/spin_lock.h:284
#5  0x10003be0 in stdio_usb_deinit ()
    at /home/peterh/source/pico-sdk1/src/rp2_common/pico_stdio_usb/stdio_usb.c:283
#6  0x100065fa in prepare_for_clock_switch ()
    at /home/peterh/source/pico-sdk1/src/rp2_common/pico_low_power/low_power.c:93
#7  0x10006612 in prepare_for_pstate_change ()
    at /home/peterh/source/pico-sdk1/src/rp2_common/pico_low_power/low_power.c:120
#8  0x100066ce in low_power_go_pstate (pstate=0x20081f90, pstate@entry=0x0, resume_func=resume_func@entry=0x0)
    at /home/peterh/source/pico-sdk1/src/rp2_common/pico_low_power/low_power.c:658
#9  0x100068ae in low_power_pstate_until_aon_timer (until=<optimized out>, pstate=pstate@entry=0x0,
    resume_func=resume_func@entry=0x0)
    at /home/peterh/source/pico-sdk1/src/rp2_common/pico_low_power/low_power.c:709
#10 0x10000250 in low_power_pstate_for_ms (ms=ms@entry=10000, pstate=pstate@entry=0x0,
    resume_func=resume_func@entry=0x0)
    at /home/peterh/source/pico-sdk1/src/common/pico_time/include/pico/time.h:139
#11 0x100002ea in main ()
    at /home/peterh/source/pico-examples1/low_power/low_power_pstate/low_power_pstate_timer.c:52

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions