<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>nRF54L15-RISC V core use</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/121214/nrf54l15-risc-v-core-use</link><description>Hi, 
 SDK: 3.0., nRF54L15 
 The application is Matter + BLE dynamic multi-protocol + battery powered sleepy end device. Current Application(Matter/Thread + BLE + Firmware application) uses Cortex-M33 core, which has taken up almost 235KMB to 240KB of</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 13 May 2025 06:48:31 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/121214/nrf54l15-risc-v-core-use" /><item><title>RE: nRF54L15-RISC V core use</title><link>https://devzone.nordicsemi.com/thread/535016?ContentTypeID=1</link><pubDate>Tue, 13 May 2025 06:48:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6a9da9e0-34c2-497d-be44-338ad468416f</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Sorry for delayed response Subu,&lt;/p&gt;
&lt;p&gt;I am not an expert at this configuration but maybe we need to use the right pm_static setup for the sysbuild+Matter.FLPR&lt;/p&gt;
&lt;p&gt;It might help to rename/delete&amp;nbsp;pm_static_nrf54l15dk_nrf54l15_cpuapp_ns.yml in your project folder and add the app: FLPR memory section section in the&amp;nbsp;pm_static_nrf54l15dk_nrf54l15_cpuflpr.yml (after creating one) instead&lt;/p&gt;
&lt;p&gt;Open &lt;code&gt;pm_static_nrf54l15dk_nrf54l15_cpuflpr.yml and add something like below or the one that matches your memory layout if it is different&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;app:
  region: sram_remote
  size: 0x20000
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Make sure you are using sysbuild and&amp;nbsp;then add this to your CMakeLists.txt file&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;if(CONFIG_SYSBUILD)
  sysbuild_add_child(app
    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}
    DOMAIN app
  )
  sysbuild_add_child(remote
    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/remote
    DOMAIN remote
  )
endif()
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;as shown in the second part of that change, add folder &amp;quot;remote&amp;quot; in your project folder and add a file &amp;quot;domain.yml&amp;quot; inside the remote folder and add this below content to that yml file&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;build_by_default: true
&lt;/pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The folder structure should be something like this after the changes&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;root/
├── prj.conf
├── CMakeLists.txt         ← With sysbuild_add_child
├── pm_static_nrf54l15dk_nrf54l15_cpuflpr.yml  ← This is important
├── remote/
│   ├── domain.yml
│   ├── src/
│   │   └── main.c
│   └── CMakeLists.txt     ← For FLPR build
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15-RISC V core use</title><link>https://devzone.nordicsemi.com/thread/534150?ContentTypeID=1</link><pubDate>Tue, 06 May 2025 16:03:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d95aaeae-9f4d-4802-bc4d-0afb94f29e69</guid><dc:creator>SubuMuthu</dc:creator><description>&lt;p&gt;Thank you Susheel.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;As of now, I am able to make the&amp;nbsp; IPC Service example(ipc/icmsg backend)&amp;nbsp; work with&amp;nbsp; nrf54l15dk/nrf54l15/cpuapp.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;/opt/nordic/ncs/v3.0.0/zephyr/samples/subsys/ipc/ipc_service/icmsg&lt;/p&gt;
&lt;p&gt;I am able to make the FLPR core to work with ADC, Timer, etc.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As I mentioned, the goal is integrate with Matter door lock.&amp;nbsp; I copied the&amp;nbsp; zephyr/samplessubsys/ipc/ipc_service/icmsg&amp;nbsp; source files to Matter door lock and tried to build as a starting point.&amp;nbsp; Please see below picture for folder structure.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1746588068239v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;The remote code was moved from icmsg code.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1746588176156v2.png" /&gt;&lt;/p&gt;
&lt;p&gt;nordic-flpr snippet is included.&lt;/p&gt;
&lt;p&gt;When I tried to build the matter door lock sample + the flpr, I get the below build error.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;Partition &amp;#39;mcuboot&amp;#39; is not included in the dynamic resolving since it is statically defined.
Partition &amp;#39;mcuboot_pad&amp;#39; is not included in the dynamic resolving since it is statically defined.
Partition &amp;#39;mcuboot_primary&amp;#39; is not included in the dynamic resolving since it is statically defined.
Partition &amp;#39;mcuboot_primary_app&amp;#39; is not included in the dynamic resolving since it is statically defined.
Partition &amp;#39;settings_storage&amp;#39; is not included in the dynamic resolving since it is statically defined.
Partition &amp;#39;mcuboot_secondary&amp;#39; is not included in the dynamic resolving since it is statically defined.
Partition manager failed: No compatible parent partition found for app
Failed to partition region sram_primary, size of region: 163840
Partition Configuration:
vpr_launcher_sram:
  placement:
    before:
    - app
  size: 163840

CMake Error at /opt/nordic/ncs/v3.0.0/nrf/cmake/sysbuild/partition_manager.cmake:181 (message):
  Partition Manager failed, aborting.  Command:&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Can you please with this? If I am able to integrate the Matter door lock sample and ICMSG samples, i can take it further on my own.&lt;/p&gt;
&lt;p&gt;The Nordic website does not provide much information so help is appreciated.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15-RISC V core use</title><link>https://devzone.nordicsemi.com/thread/534094?ContentTypeID=1</link><pubDate>Tue, 06 May 2025 11:31:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5cf5e72e-3857-4b6e-ae0f-d9b9d62db664</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Regarding my answer on point 1). I might be wrong&amp;nbsp;I have got some info that the datasheet and SDK documentation will get more updates related to VPR soon. And there will be more information on the shared peripherals. Until then I do not have much info that I can share on that matter apart from what I have shared already.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15-RISC V core use</title><link>https://devzone.nordicsemi.com/thread/534034?ContentTypeID=1</link><pubDate>Tue, 06 May 2025 06:59:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:23b478ad-b993-4ccc-b94e-8c4a8d97b4fd</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Hi Subu,&lt;/p&gt;
[quote user=""]1.&amp;nbsp; Does the RISC-V core have access to ADC, Timer/Counter, Capture compare and comparator? This link(&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf54l/vpr_flpr.html"&gt;https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf54l/vpr_flpr.html&lt;/a&gt;) does not show that.[/quote]
&lt;p&gt;No, it does not seem that you could use VPR only to run the RFID as ADC does not seem to be accessible through this core. I think you need to design some IPC mechanism where peripheral events are listened on the Cortex-M33 core and processed on the VPR through IPC. That way there is minimal overhead for M33 due to this and most of the info when passed to VPR can then process the data.&lt;/p&gt;
[quote user=""]2. Can&amp;nbsp; the RISC-V core be put into sleep mode and be woken&amp;nbsp; up by peripherals (like when Card is detected? Or can it sleep and wake up periodically?[/quote]
&lt;p&gt;Yes, VPR can go to low power states and can be woken up with some limited wakeup sources like mapped GPIO, mailbox interrupt.&lt;/p&gt;
[quote user=""]3)) Any sample examples other than this -&amp;nbsp;&lt;a href="https://github.com/nrfconnect/sdk-zephyr/tree/v3.7.99-ncs1/samples/subsys/ipc"&gt;https://github.com/nrfconnect/sdk-zephyr/tree/v3.7.99-ncs1/samples/subsys/ipc&lt;/a&gt;.[/quote]
&lt;p&gt;Unfortunately No, I have been using this sample also as template for some of my other hobby experiments.&amp;nbsp;there is a sample in nrf/samples/ipc/ipc_service but this seems to have been tested only on nRF53 and nRF54H. But My best guess is that this should also work fine on nRF54L.&lt;/p&gt;
[quote user=""]4) What about the SRAM requirements? we are running low but we are not expecting large SRAM use. We are thinking of&amp;nbsp;&amp;nbsp;XIP(RRAM).So would it have any performance impacts due to Cortex-M33 and RISC-V contention? If SRAM is used,&amp;nbsp; how much of SRAM is needed?[/quote]
&lt;p&gt;RRAM is slow, and if you say that you are taking all this effort because you think there are some time critical nature for the RFID design, then maybe RRAM might not be the best choice. How much of SRAM is needed is difficult for me to say as this is varies for every application and there is no generic answer to that. Just compile your application and look at the .map file to get an idea. I am thinking that if your RFID is a bit more complex than a simplistic RFID then it should be needing around 40KB of SRAM.&lt;/p&gt;
[quote user=""]5)) Is it possible to use external SRAM? this is not only for RISC-V core but also for Cortex-M33 core.[/quote]
&lt;p&gt;Yes, both cores can use external memory using QSPI but the execution of these XIP might have some performance issues depending on&amp;nbsp;SPI clock speed,&amp;nbsp;Memory latency Arbitration between cores and Bus congestion during BLE/Matter radio activity&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>