Quantcast
Viewing all articles
Browse latest Browse all 5127

General • Re: RP2040 boards (including a Pico) come up in bootsel after waking PC from sleep

This is a weird issues that you are hitting. If I have read through this thread correctly then I think this is a summary of what has been learned so far.

You are seeing the BOOTSEL issue:
  1. When the PC powers up and when it wakes up from sleep.
  2. When you have the RP2040 based devices plugged into USB ports on the PC itself and when plugged into an external USB hub.
  3. On a new Windows PC but not an older one.
What are the known causes for the RP2040 to enter BOOTSEL:
  1. Pressing the BOOTSEL button down while power cycling or resetting the RP2040. Maybe a very short low pulse on the RUN pin induced by noise from the PC might cause something like this to happen when the pull-up on the BOOTSEL pin didn't have enough time to pull that signal up after the last FLASH access which had set it low before this spurious reset. Maybe try adding a 1k ohm pull-up resistor on the RUN pin to rule this out.
  2. Boot ROM doesn't detect a FLASH chip connected when it first boots up. This can happen if the power supply is slow to ramp up. While I could see something like that happening when directly connected to the new PC but I wouldn't have expected it to still occur when plugged into a powered USB hub. Your external USB hub does have its own power source, correct?
  3. The firmware has requested the RP2040 to reboot into boot loader mode. If the USB based STDIO driver used by the RP2040 firmware detects that the baud rate has been changed to 1200 bps then it will do this. Could there be some service running on your new Windows machine that sets the baud rate on all ports that it detects during power-up/wakeup to 1200 bps as part of some kind of device detection? Many years ago one of the Windows CE tools would query serial ports on connection but I wouldn't expect anything these days to do it. I guess if you have a debugger then you could find the 1200 bps reset code (https://github.com/raspberrypi/pico-sdk ... ace.c#L110) and place a breakpoint in it to see if this was being executed.
Have I missed anything known so far?

Statistics: Posted by adam_green — Sat Dec 23, 2023 9:31 pm



Viewing all articles
Browse latest Browse all 5127

Trending Articles