<?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>Execute In Place (XIP) and Partition Manager</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/98731/execute-in-place-xip-and-partition-manager</link><description>Hello, 
 
 We currently have a proof of concept using nRF5340 and NCS 2.20. We use LVGL library to manage the graphics. Due to the size of LVGL we used XIP to locate part of this code in our external flash. 
 However, we want to step forward with this</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 19 Apr 2023 10:42:09 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/98731/execute-in-place-xip-and-partition-manager" /><item><title>RE: Execute In Place (XIP) and Partition Manager</title><link>https://devzone.nordicsemi.com/thread/421225?ContentTypeID=1</link><pubDate>Wed, 19 Apr 2023 10:42:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:85e18fe5-3d92-4345-b703-26cb054d5fb5</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Javier,&lt;/p&gt;
&lt;p&gt;I looked into it and to my understanding, the nRF Machine Learning sample does not use XIP out of the box.&lt;/p&gt;
&lt;p&gt;Instead, this paragraph from the Working with the nRF53 page&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;em&gt;The&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/applications/machine_learning/README.html#nrf-machine-learning-app"&gt;&lt;span&gt;nRF Machine Learning&lt;/span&gt;&lt;/a&gt;&amp;nbsp;application running on the nRF5340 DK was used for the testing. This particular application was used because its application design allows to move the Edge Impulse library to external memory. There is only one call to the library from the wrapper module, and therefore this call is used to measure the time of execution. Additional measurements of the current allowed to compare total energy used.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;likely means that the test result that follows is done with a slightly modified version of the Machine Learning sample where the Edge Impulse library is moved to external flash.&lt;/p&gt;
&lt;p&gt;As noted from the same page, the&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.3.0/zephyr/samples/application_development/code_relocation_nocopy/README.html"&gt;Code relocation nocopy&lt;/a&gt;&amp;nbsp;sample is&amp;nbsp;a better&amp;nbsp;reference for this. Have you looked at it?&lt;/p&gt;
&lt;p&gt;This&amp;nbsp;is a sample inherited from Zephyr, so it does not use the Partition Manager, which is a NCS specific tool. However,&amp;nbsp;it should still serve as a reference for your setup with MCUboot, where you have to use the Partition Manager.&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Execute In Place (XIP) and Partition Manager</title><link>https://devzone.nordicsemi.com/thread/421079?ContentTypeID=1</link><pubDate>Tue, 18 Apr 2023 14:19:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c9f882f1-db00-4abd-85fd-4878eb2b4fc4</guid><dc:creator>jfpastrana</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I would like to know how is configured and used Execute In place (XiP) in Machine Learning example.&lt;/p&gt;
&lt;p&gt;I do not find any reference in project configuration,&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Execute In Place (XIP) and Partition Manager</title><link>https://devzone.nordicsemi.com/thread/420826?ContentTypeID=1</link><pubDate>Mon, 17 Apr 2023 14:34:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0cce9dfc-16ad-412d-aad8-a39c02d2f51e</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Javier,&lt;/p&gt;
&lt;p&gt;Yes, it is clear now. I am more familiar with Direct-XiP DFU and less with XiP of a library like this; but I will try to support you.&lt;/p&gt;
[quote user="jfpastrana"]We have to use Static Partitions with a pm_static.yml?[/quote]
&lt;p&gt;Yes, if you wish to&amp;nbsp;partition your library and the firmware image/slots.&lt;/p&gt;
[quote user="jfpastrana"]How is placed Edge Impulse library in the external flash on Machine Learning Example?[/quote]
&lt;p&gt;Am I right to understand that you already know how to get that to work? As in, put a specific library on a determined flash address and execute it from there?&lt;/p&gt;
&lt;p&gt;If&amp;nbsp;your method is not working and/or you want to know how&amp;nbsp;things is done in the Machine Learning sample, please let me know and I can help you look it up.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Execute In Place (XIP) and Partition Manager</title><link>https://devzone.nordicsemi.com/thread/420703?ContentTypeID=1</link><pubDate>Mon, 17 Apr 2023 09:26:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4c9b0c00-2897-4ab6-8f25-d6e6f3096ad5</guid><dc:creator>jfpastrana</dc:creator><description>&lt;p&gt;Hello Hieu,&lt;/p&gt;
&lt;p&gt;XiP refers to &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/working_with_nrf/nrf53/nrf5340.html#execute-in-place-xip-configuration"&gt;Execute In Place&lt;/a&gt; from main application. We have storage part of the application in our flash memory, and we use if from the Main application.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;I assume you mean the secondary slot of MCUboot on the external flash, right?
&lt;/pre&gt;&amp;nbsp;Yes&lt;/p&gt;
&lt;p&gt;Machine Learning example uses XiP and also has MCUboot:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;This particular application was used because its application design allows to move the
Edge Impulse library to external memory. There is only one call to the library from the 
wrapper module, and therefore this call is used to measure the time of execution. 
Additional measurements of the current allowed to compare total energy used.&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This is more or less what we are looking for. Instead of use Edge Impulse library, we use LVGL which is quite heavy also.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;My doubts come from how to partition and which tools we should use for our project. We have to use Static Partitions with a pm_static.yml? How is placed Edge Impulse library in the external flash on Machine Learning Example?&lt;/p&gt;
&lt;p&gt;I hope that now is bit more clear,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Javier&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Execute In Place (XIP) and Partition Manager</title><link>https://devzone.nordicsemi.com/thread/420663?ContentTypeID=1</link><pubDate>Mon, 17 Apr 2023 07:29:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:13bdeafe-429c-4050-8cfe-ac65549c62c0</guid><dc:creator>Hieu</dc:creator><description>&lt;p&gt;Hi Javier,&lt;/p&gt;
&lt;p&gt;Could you please clarify a little about your question?&lt;/p&gt;
&lt;p&gt;Does XIP refer to &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.3.0/mcuboot/design.html#equal-slots-direct-xip"&gt;Direct-XIP setup&lt;/a&gt;&amp;nbsp;of MCUboot?&lt;/p&gt;
[quote user=""]Doing static partitions and placing the secondary mcuboot in the external flash.[/quote]
&lt;p&gt;I assume you mean the secondary slot of MCUboot on the external flash, right?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Hieu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>