This is an automated email from the ASF dual-hosted git repository.

xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 41ad60e47181b88da526654c44805584d7976e48
Author: Marco Casaroli <[email protected]>
AuthorDate: Wed Nov 11 11:44:09 2026 +0100

    Documentation/rp23xx: Describe the PSRAM heap with SMP.
    
    Say that the atomic operations work across the cores only in the SRAM,
    so with SMP the PSRAM can only be a separate heap, without locks or
    atomic variables in it.
    
    Assisted-by: Claude Code:claude-opus-5-5
    Signed-off-by: Marco Casaroli <[email protected]>
---
 Documentation/platforms/arm/rp23xx/index.rst | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/Documentation/platforms/arm/rp23xx/index.rst 
b/Documentation/platforms/arm/rp23xx/index.rst
index b1c4fcc8814..3cee327782f 100644
--- a/Documentation/platforms/arm/rp23xx/index.rst
+++ b/Documentation/platforms/arm/rp23xx/index.rst
@@ -134,13 +134,21 @@ The port offers three options for configuring the heaps 
to use
 the external PSRAM, described below. More custom configurations
 can be used with custom board initialization functions.
 
+The atomic operations of the RP2350 work across the two cores only
+in the internal SRAM (RP2350 datasheet, section 2.1.6). In the PSRAM
+they exclude only the local core. So with `SMP` only the separate
+heap is available (it is the default there), and a lock or an atomic
+variable must not be allocated from the `psram` heap: with `SMP` an
+atomic operation outside the SRAM never ends.
+
 Use PSRAM and SRAM as a single main heap
 ----------------------------------------
 
 This option is selected with `RP23XX_PSRAM_HEAP_SINGLE` and
 requires `MM_REGIONS > 1`, as the PSRAM memory region will
 be added to the heap. It is also necessary to disable
-`MM_KERNEL_HEAP`, as there will only be a single heap.
+`MM_KERNEL_HEAP`, as there will only be a single heap. It is
+not available with `SMP`.
 
 This is the simplest configuration because it will unify the
 memories into a single main heap. This way you can see the `free`
@@ -155,7 +163,8 @@ Use PSRAM as user heap, SRAM as kernel heap
 -------------------------------------------
 
 This option is selected with `RP23XX_PSRAM_HEAP_USER` and
-requires `MM_KERNEL_HEAP` to be set.
+requires `MM_KERNEL_HEAP` to be set. It is not available with
+`SMP`.
 
 The external PSRAM is allocated to the default heap, while
 the internal SRAM will be used for the kernel heap. This

Reply via email to