rp2/rp2_flash: Workaround multicore lockout not being reset.

With regression test.

See upstream bug https://github.com/raspberrypi/pico-sdk/issues/2201

Tested-by: Angus Gratton <angus@redyak.com.au>
Signed-off-by: Mike Bell <mdb036@gmail.com>
This commit is contained in:
Mike Bell
2025-01-21 21:35:08 +00:00
committed by Damien George
parent 81ab49a607
commit 3699cf5f38
5 changed files with 46 additions and 2 deletions

View File

@@ -0,0 +1,18 @@
# This is a regression test for https://github.com/micropython/micropython/issues/16619
# it runs in two parts by necessity:
#
# - This "part1" creates a non-terminating thread.
# - The test runner issues a soft reset, which will terminate that thread.
# - "part2" is the actual test, which is whether flash access works correctly
# after the thread was terminated by soft reset.
import _thread
def infinite():
while True:
pass
_thread.start_new_thread(infinite, ())
print("Part 1 complete...")

View File

@@ -0,0 +1 @@
Part 1 complete...

View File

@@ -0,0 +1,12 @@
# This is part2 of a two-part regression test, see part1
# for details of what's expected.
import os
FILENAME = "/rp2_thread_reset_test.txt"
print("Starting")
with open(FILENAME, "w") as f:
f.write("test")
print("Written")
os.unlink(FILENAME)
print("Removed")

View File

@@ -0,0 +1,3 @@
Starting
Written
Removed