Sujet : Re: RP2040 reset idea
De : jl (at) *nospam* 650pot.com (john larkin)
Groupes : comp.sys.raspberry-pi sci.electronics.designDate : 18. Sep 2024, 20:56:44
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <j6bmejhtj1jv3l14fn22nqlo3s1e1g4mhi@4ax.com>
References : 1 2 3 4 5
User-Agent : ForteAgent/8.00.32.1272
On Tue, 17 Sep 2024 15:33:14 -0700, john larkin <
jl@650pot.com> wrote:
On Tue, 17 Sep 2024 17:21:36 +0100, The Natural Philosopher
<tnp@invalid.invalid> wrote:
>
On 17/09/2024 17:09, john larkin wrote:
On Tue, 17 Sep 2024 11:07:17 +0100, The Natural Philosopher
<tnp@invalid.invalid> wrote:
On 17/09/2024 03:58, john larkin wrote:
The RP2040 has a cool mode where it can be made to boot up with the
USB port looking like a memory stick. That's great for software
installs or upgrades. The Pico board has a BOOT button on the board;
if the pico is powered up with the button pushed, it goes into that
boot mode.
>
But if I have a product (actually a family of products) in a nice
aluminum box, a user would have to remove the top cover, remove all
power sources (there can be three), and hold the button down while
reconnecting power.
>
Some of my customers also want to lock a box such that it's impossible
to write to any nonvolatile memory while it's in a secure area.
>
So here's an idea: a small hole in the box allows a toothpick or a
paper clip to push a button. A short push is a regular reset. A long
push is a memory-stick mode boot. We can have a rotary switch LOCK
hole too.
>
Thats' what my PICO powered thermostats have. For the onboard button though
Resetting is done by pulling the power.
>
The point is that if you do power up with the button pressed, you wipe
the entire FLASH RAM I think.
>
My Pi guy verifies that entering boot mode doesn't change the contents
of flash. Power cycle and things run like before.
You had me worried!
>
Really?
>
I guess whenever I entered that mode it was to download fresh code...
>
It looks like a USB memory stick. You can delete or add files if you
want.
>
It boots CPU 0 (the one we call Alice) from a file with the extension
.UL2
>
Why .UL2 one wonders.
>
We'll put a bunch of files into the flash. Code for Bob, the 2nd CPU.
An FPGA bitstream file. A prototype calibration table. A README file
to explain everything in plain English.
Update:
The Pico only allows one file to be saved to the flash using USB
memory-stick mode.
If you copy a bunch of files into the flash, Windows will lie about
what's there, but there is really only one. If you disconnect the USB
cable and reconnect, Windows will show the one file.
The Pi tools support packing a bunch of things into that one file,
including the executable for Alice, namely CPU0. Alice takes over and
loads Bob, CPU1, and can access other components of the big file.
Power cycling, normal or into USB memory stick mode, does not wipe
that big file.
There's no simple way to examine the components of the big file, other
than to ask Alice. Alice knows.
All that is based on experiment.