Replies: 3 comments 6 replies
-
On a fresh unit, the flashloader (plus application) is programmed either via USB or via the debug interface (SWD). Theoretically the master could also be connected to each of the slaves' SPI flash chips and be able to program them that way but that's not really feasible with a standard Pico board as the SPI lines to the flash chip are not brought out to any pins or test pads. The master would also have to be able to make sure that any given slave was not actually running when programmed (or you would have two SPI masters trying to control the same chip). Even if only the master has a USB connection during normal use, I would be wary of designing a board that gave me no way at all of physically connecting to each slave (whether via USB or SWD) as there would be no (easy) way to recover a board in the event of a software problem. |
Beta Was this translation helpful? Give feedback.
-
Thanks Richard.
1. I plan to use a custom board so my question is actually about RP2040.
How would the master program the slave's flash? Do I need to add some
multiplexer that will disconnect the slave from the flash while programming.
2. The SWD approach sounds interesting. I guess that the master could
program the slave via SWD. Do you know if the source code of the PICO as
SWD debugger is available?
…On Sat, Apr 22, 2023 at 6:14 AM Richard Hulme ***@***.***> wrote:
On a fresh unit, the flashloader (plus application) is programmed either
via USB or via the debug interface (SWD).
Theoretically the master could also be connected to each of the slaves'
SPI flash chips and be able to program them that way but that's not really
feasible with a standard Pico board as the SPI lines to the flash chip are
not brought out to any pins or test pads. The master would also have to be
able to make sure that any given slave was not actually running when
programmed (or you would have two SPI masters trying to control the same
chip).
Even if only the master has a USB connection during normal use, I would be
wary of designing a board that gave me no way at all of physically
connecting to each slave (whether via USB or SWD) as there would be no
(easy) way to recover a board in the event of a software problem.
—
Reply to this email directly, view it on GitHub
<#14 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAQVMQJHAXQOPDEDMCHJTMDXCPKUVANCNFSM6AAAAAAXHLRKXI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Hello, I'm attempting to use pico-flash loader to implement if in my project, with 12 picos connected to an I2C bus as slave, and one esp32 as master. I manage to have a very simple dynamic I2C address allocation thanks to a "signal-in" "signal-out" ring (initiated and ended by the ESP), and I2C broadcast messages to ask slaves to "take" an address. Only the one that has the "signal-in high" take the address, respond to the master query, and raise its signal-out pin to high for the next pico and so on. |
Beta Was this translation helpful? Give feedback.
-
How the flashloader is programed in flash in the first place? Is USB port still required?
I am designing a board with a few slave PICO's that are connected to a master PICO (e.g. via SPI) and only the master PICO has USB connector. Can the master program virgin slaves with the bootloader firmware?
Beta Was this translation helpful? Give feedback.
All reactions