gustavonihei opened a new pull request, #8166:
URL: https://github.com/apache/nuttx/pull/8166

   ## Summary
   This PR intends to enable the separation of Kernel and Userspace heaps in 
ESP32 operating under Flat mode, by relying on the `MM_KERNEL_HEAP` extension 
brought by #8140.
   
   This new feature enables the allocation of the entire Userspace heap into 
SPI RAM and reserving the Internal RAM exclusively for the Kernel heap, which 
may benefit some timing-constrained Kernel components (e.g. Wi-Fi driver).
   
   ## Impact
   
   **Breaking change**: `ESP32_SPIRAM` no longer auto selects 
`XTENSA_IMEM_USE_SEPARATE_HEAP`.
   `XTENSA_IMEM_USE_SEPARATE_HEAP` is now selected by `ESP32_IMM_HEAP`, which 
in turn is **not** enabled by default. 
   
   Drivers that previously relied on `XTENSA_IMEM_USE_SEPARATE_HEAP` now bring 
in `ESP32_IMM_HEAP` if `ESP32_SPIRAM` is also selected, with the notable 
exception from `ESP32_WIFI`.
   
   `ESP32_WIFI` previously used `XTENSA_IMEM_USE_SEPARATE_HEAP` for allocating 
dynamic data into Internal RAM via a specific API. With this PR, there is now 
an alternative approach using `MM_KERNEL_HEAP`. So it is up to the user to 
either select `ESP32_IMM_HEAP` or `MM_KERNEL_HEAP`.
   In order to keep the current behavior, custom board users shall select 
`ESP32_IMM_HEAP` on Kconfig.
   
   ## Testing
   
   Successful execution of `ostest` in `esp32-devkitc:psram_usrheap` defconfig.
   Successful connection to Wi-Fi network using a custom version of 
`esp32-devkitc:wapi`.
   
   
![image](https://user-images.githubusercontent.com/38959758/212914947-242ea7bd-88e2-4cee-a7bf-72f48e843554.png)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to