mirror of
https://github.com/apache/nuttx.git
synced 2026-10-08 06:45:19 +00:00
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> |
||
|---|---|---|
| .. | ||
| include | ||
| src | ||
| CMakeLists.txt | ||
| Kconfig | ||