nuttx/Documentation
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
..
_extensions Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
_static Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
_templates Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
about Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
applications Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
components Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
contributing Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
debugging Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
developing Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
faq !boards: Remove NSH_ARCHINIT and board_app_initialize 2026-05-02 18:36:46 +08:00
guides Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
implementation Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
introduction Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
logos
os Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
platforms arch/arm/rp23xx: Erase and program the flash in small steps. 2026-10-07 18:45:43 -03:00
quickstart Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
reference Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
ReleaseNotes Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
standards docs/pthread: Document pthread_sigqueue 2026-09-21 14:53:26 +08:00
testing Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
.gitignore
conf.py Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
glossary.rst
index.rst Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
known-warnings.txt
legacy_README.md Documentation: Point the buildroot links at the repository that still exists. 2026-09-13 18:29:40 -03:00
make.bat
Makefile doc: Improve sphinx build time + add autobuild help info. 2026-01-27 09:50:55 +08:00
Pipfile Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
Pipfile.lock Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
redirects.py Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
security.rst docs/security: Add Security section to the documentation. 2026-01-06 02:17:20 +08:00
substitutions.rst