<?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>Adding IPC to TF-M secure peripheral project</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/114833/adding-ipc-to-tf-m-secure-peripheral-project</link><description>I would like to take Nordic&amp;#39;s &amp;quot;TF-M secure peripheral partition&amp;quot; sample project, and modify it to take data received from the secure peripheral and send it wirelessly to another device. But I am running into some build errors and am unsure of how to fix</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 24 Sep 2024 13:54:37 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/114833/adding-ipc-to-tf-m-secure-peripheral-project" /><item><title>RE: Adding IPC to TF-M secure peripheral project</title><link>https://devzone.nordicsemi.com/thread/503597?ContentTypeID=1</link><pubDate>Tue, 24 Sep 2024 13:54:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:53475e9d-8476-47c0-94f3-dcf20aed1933</guid><dc:creator>Elfving</dc:creator><description>[quote user="afok-esmart"]I anticipate&amp;nbsp;smooth sailing from here to implement the project based on what I need, but I will keep the post open a while longer just in case.[/quote]
&lt;p&gt;No problem :)&lt;/p&gt;
[quote user="afok-esmart"](OP replying) Fixed EBUSY issue. Root cause was the app core project not enabling network core; adding &lt;strong&gt;CONFIG_BOARD_ENABLE_CPUNET&lt;/strong&gt;&lt;span&gt;&lt;strong&gt;=y&lt;/strong&gt;&lt;/span&gt; fixed it (&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/114861/output-from-app-core-network-core-and-tf-m"&gt;Output from app core, network core, and TF-M - Nordic Q&amp;amp;A - Nordic DevZone - Nordic DevZone (nordicsemi.com)&lt;/a&gt;). With some slight adjustments, I confirmed the data being sent was what I was receiving.[/quote]
&lt;p&gt;Glad to hear it!&lt;/p&gt;
&lt;p&gt;Did you fix your ESB issues as well, or do&amp;nbsp; you still have an issue with that?&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Elfving&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding IPC to TF-M secure peripheral project</title><link>https://devzone.nordicsemi.com/thread/503596?ContentTypeID=1</link><pubDate>Tue, 24 Sep 2024 13:54:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:73930f7c-6ef9-43d1-8572-6e3b07e3e3e0</guid><dc:creator>Elfving</dc:creator><description>[quote user="afok-esmart"]I anticipate&amp;nbsp;smooth sailing from here to implement the project based on what I need, but I will keep the post open a while longer just in case.[/quote]
&lt;p&gt;No problem :)&lt;/p&gt;
[quote user="afok-esmart"](OP replying) Fixed EBUSY issue. Root cause was the app core project not enabling network core; adding &lt;strong&gt;CONFIG_BOARD_ENABLE_CPUNET&lt;/strong&gt;&lt;span&gt;&lt;strong&gt;=y&lt;/strong&gt;&lt;/span&gt; fixed it (&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/114861/output-from-app-core-network-core-and-tf-m"&gt;Output from app core, network core, and TF-M - Nordic Q&amp;amp;A - Nordic DevZone - Nordic DevZone (nordicsemi.com)&lt;/a&gt;). With some slight adjustments, I confirmed the data being sent was what I was receiving.[/quote]
&lt;p&gt;Glad to hear it!&lt;/p&gt;
&lt;p&gt;Did you fix your ESB issues as well, or do&amp;nbsp; you still have an issue with that?&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Elfving&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding IPC to TF-M secure peripheral project</title><link>https://devzone.nordicsemi.com/thread/503315?ContentTypeID=1</link><pubDate>Fri, 20 Sep 2024 23:14:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e23a9761-e84e-40b6-b79d-848844291d9a</guid><dc:creator>afok-esmart</dc:creator><description>&lt;p&gt;(OP replying) Fixed EBUSY issue. Root cause was the app core project not enabling network core; adding &lt;strong&gt;CONFIG_BOARD_ENABLE_CPUNET&lt;/strong&gt;&lt;span&gt;&lt;strong&gt;=y&lt;/strong&gt;&lt;/span&gt; fixed it (&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/114861/output-from-app-core-network-core-and-tf-m"&gt;Output from app core, network core, and TF-M - Nordic Q&amp;amp;A - Nordic DevZone - Nordic DevZone (nordicsemi.com)&lt;/a&gt;). With some slight adjustments, I confirmed the data being sent was what I was receiving.&lt;/p&gt;
&lt;p&gt;I anticipate&amp;nbsp;smooth sailing from here to implement the project based on what I need, but I will keep the post open a while longer just in case.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding IPC to TF-M secure peripheral project</title><link>https://devzone.nordicsemi.com/thread/503310?ContentTypeID=1</link><pubDate>Fri, 20 Sep 2024 16:53:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e328d04b-79ec-48a5-b358-ea3e2ba3760a</guid><dc:creator>afok-esmart</dc:creator><description>&lt;p&gt;Ok, thank you for the clarification.&lt;/p&gt;
&lt;p&gt;Per my project requirements, I need ESB and not BLE (for the faster throughput). From my understanding, ESB functions cannot be called within the application core, and there needs to be some code for sending it over between cores. But I will double check this on my end to be sure.&lt;/p&gt;
&lt;p&gt;-------&lt;/p&gt;
&lt;p&gt;EDIT #1 - On my end, I cannot build ESB for app core.&amp;nbsp;When I took the ESB PTX sample project &lt;span style="text-decoration:underline;"&gt;(nrf/samples/esb/esb_ptx),&lt;/span&gt; and tried building for app core, I got this error:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;-- Generated devicetree_generated.h: c:/&amp;lt;path_to_esb_ptx_proj&amp;gt;/build_nrf53/zephyr/include/generated/devicetree_generated.h
-- Including generated dts.cmake file: c:/&amp;lt;path_to_esb_ptx_proj&amp;gt;/build_nrf53/zephyr/dts.cmake

warning: MPSL (defined at C:/ncs/v2.5.0/nrfxlib\mpsl/Kconfig:7) has direct dependencies SOC_SERIES_BSIM_NRFXX || SOC_SERIES_NRF52X || SOC_NRF5340_CPUNET with value n, but is currently being y-selected by the following symbols:
 - ESB (defined at C:/ncs/v2.5.0/nrf\subsys\esb/Kconfig:7), with value y, direct dependencies y (value: y)

error: Aborting due to Kconfig warnings

Parsing c:/&amp;lt;path_to_esb_ptx_proj&amp;gt;/Kconfig
Loaded configuration &amp;#39;C:/ncs/v2.5.0/zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340dk_nrf5340_cpuapp_defconfig&amp;#39;
Merged configuration &amp;#39;c:/&amp;lt;path_to_esb_ptx_proj&amp;gt;/prj.conf&amp;#39;
CMake Error at C:/ncs/v2.5.0/zephyr/cmake/modules/kconfig.cmake:348 (message):
  command failed with return code: 1
Call Stack (most recent call first):
  C:/ncs/v2.5.0/nrf/cmake/modules/kconfig.cmake:29 (include)
  C:/ncs/v2.5.0/zephyr/cmake/modules/zephyr_default.cmake:129 (include)
  C:/ncs/v2.5.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
  C:/ncs/v2.5.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  CMakeLists.txt:8 (find_package)


-- Configuring incomplete, errors occurred!
FATAL ERROR: command exited with status 1: &amp;#39;C:\ncs\toolchains\c57af46cb7\opt\bin\cmake.EXE&amp;#39; -DWEST_PYTHON=C:/ncs/toolchains/c57af46cb7/opt/bin/python.exe &amp;#39;-Bc:\nrf_projs\esb_ptx_v01\build_nrf53&amp;#39; -GNinja -DBOARD=nrf5340dk_nrf5340_cpuapp -DNCS_TOOLCHAIN_VERSION=NONE -DCONF_FILE=c:/&amp;lt;path_to_esb_ptx_proj&amp;gt;/prj.conf &amp;#39;-Sc:\nrf_projs\esb_ptx_v01&amp;#39;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding IPC to TF-M secure peripheral project</title><link>https://devzone.nordicsemi.com/thread/503224?ContentTypeID=1</link><pubDate>Fri, 20 Sep 2024 08:59:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eb755998-7855-4559-9573-01a913b34e98</guid><dc:creator>Elfving</dc:creator><description>[quote user="afok-esmart"]Did you mean that I take the data from the secure app, send it to the non-secure app, and then send it to the network core?[/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Yes. You could go at it like this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Send something from a peripheral to the appcore (or alternatively use a secure peripheral)&lt;/li&gt;
&lt;li&gt;Send this from the app to TFM using a secure service&lt;/li&gt;
&lt;li&gt;Encrypt data in TFM&lt;/li&gt;
&lt;li&gt;Send encrypted data to app&lt;/li&gt;
&lt;li&gt;Send encrypted data from app over BLE/ESB.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;, and the opposite one the other end.&lt;/p&gt;
[quote user="afok-esmart"]But again, the issue I have&amp;nbsp;at the moment is regarding communication between the cores of a single nRF5340 (which I imagine must be figured out before I consider communication between the network cores of 2 nRF5340&amp;#39;s).[/quote]
&lt;p&gt;I am still not sure why you need this functionality, besides what is allready happening in the BLE stack.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Elfving&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding IPC to TF-M secure peripheral project</title><link>https://devzone.nordicsemi.com/thread/503179?ContentTypeID=1</link><pubDate>Thu, 19 Sep 2024 23:39:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2d2c1af2-b6e3-4513-8fc4-cdab41063c72</guid><dc:creator>afok-esmart</dc:creator><description>&lt;p&gt;(OP replying) Instead of adding IPC code to the secure partition, I tried adding it to the non-secure partition (I will look into transferring data between secure/non-secure later). It builds and can flash on my board; for quick testing, I flashed the entire IPC sample project (application and network core) and then flashed my main project (which should overwrite only application core).&lt;/p&gt;
&lt;p&gt;But it&amp;#39;s not able to&amp;nbsp;complete the setup of my endpoint. It keeps hanging at my k_sem_take() function call; if I change the timeout to K_NO_WAIT, I get -EBUSY (device is busy). Any thoughts on debugging this?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding IPC to TF-M secure peripheral project</title><link>https://devzone.nordicsemi.com/thread/503163?ContentTypeID=1</link><pubDate>Thu, 19 Sep 2024 16:49:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cce950cb-e071-4d7f-bc43-07f7f4f859a0</guid><dc:creator>afok-esmart</dc:creator><description>&lt;p&gt;I&amp;#39;m a bit confused with your suggestion. Where would the part about sending the data from the application core to the network core be? Did you mean that I take the data from the secure app, send it to the non-secure app, and then send it to the network core?&lt;/p&gt;
&lt;p&gt;To clarify some more, my original plan for secure communication between the 2 nRF5340DK&amp;#39;s is to perform encryption (using TF-M&amp;#39;s libraries and such) on one device, use ESB to wirelessly send it to the other device, and perform decryption on the other device. But again, the issue I have&amp;nbsp;at the moment is regarding communication between the cores of a single nRF5340 (which I imagine must be figured out before I consider communication between the network cores of 2 nRF5340&amp;#39;s).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Adding IPC to TF-M secure peripheral project</title><link>https://devzone.nordicsemi.com/thread/503114?ContentTypeID=1</link><pubDate>Thu, 19 Sep 2024 11:57:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:15b128dc-eea7-4510-aba2-7c1739f5fec6</guid><dc:creator>Elfving</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I am not sure if I understand exactly went wrong with what you are trying to do, but either way,&amp;nbsp;I think you&amp;#39;re approaching this the wrong way.&lt;/p&gt;
&lt;p&gt;The communication between the devices shouldn&amp;#39;t be considered secure. You should therefore allow the communication to reach the&amp;nbsp;non-secure app first, then forward this to TFM. I guess doing it this way also has the added benefit of being a little less complex than what you were trying to do.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Elfving&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>