nuttx/Documentation/platforms/arm
Marco Casaroli 75f8249405 arch/arm/rp23xx: Erase and program the flash in small steps.
The flash MTD driver disabled interrupts for a whole request.  A
multi-block erase or a large write kept them off for seconds.

Erase one 64K block (or one 4K sector where the range is not block
aligned) and program one 256 byte page per step.  Enable interrupts and
release the other core between steps.  A single block erase is still
long, but that is the limit of the flash.

Also, on SMP:

- Do not send the pause call to the CPU that does the operation.
  nxsched_smp_call_single_async() runs it at once on that CPU.
- Keep the isolation data in a static, not on the stack.  The other
  CPU spins on it while the flash is busy.

Assisted-by: Claude Code:claude-opus-5-5
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
2026-10-07 18:45:43 -03:00
..
a1x Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
am67 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
am335x Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
at32 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
bcm2708
c5471 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
cxd56xx Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
dm320 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
efm32 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
eoss3 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
fvp-v8r-aarch32 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
gd32f4 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
goldfish docs: Fix duplicate toctree references causing build warnings 2026-06-03 15:02:22 +08:00
ht32f491x3 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
imx1
imx6 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
imx9 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
imxrt Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
kinetis Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
kl Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
lc823450 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
lpc17xx_40xx Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
lpc31xx Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
lpc43xx Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
lpc54xx Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
lpc214x Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
lpc2378 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
max326xx Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
moxart Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
mps Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
mx8mp Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
n32h7 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
nrf52 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
nrf53 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
nrf54l arm/nrf54l: add TWIM support 2026-10-08 01:45:35 +08:00
nrf91 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
nuc1xx Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
phy62xx Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
qemu Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
ra4 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
ra8m1 Documentation/arm/ra8m1: Document DTC, SCI FIFO/DTC/termios support 2026-10-06 16:56:58 -03:00
rp23xx arch/arm/rp23xx: Erase and program the flash in small steps. 2026-10-07 18:45:43 -03:00
rp2040 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
rtl8720f Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
rtl8721dx Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
rtl8721f Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
rtl8730e Documentation/rtl8730e: document the general-purpose UART ports 2026-09-24 21:24:35 +08:00
s32k1xx Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
s32k3xx Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
sam34 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
sama5 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
samd2l2 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
samd5e5 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
samv7 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32c0 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32c5 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32f0 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32f1 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32f2 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32f3 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32f4 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32f7 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32g0 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32g4 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32h5 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32h7 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32l0 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32l1 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32l4 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32l5 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32n6 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32u0 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32u3 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32u5 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32wb Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
stm32wl5 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
str71x Documentation: Point the buildroot links at the repository that still exists. 2026-09-13 18:29:40 -03:00
tiva Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
tms570
xmc4 Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
index.rst docs: Fix duplicate toctree references causing build warnings 2026-06-03 15:02:22 +08:00