<?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>libopenthread-nrf52840-sdk is reserving a SPI instance</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/41881/libopenthread-nrf52840-sdk-is-reserving-a-spi-instance</link><description>Hello, 
 I cannot add SPI0 to my application because OpenThread library was built with it without any interest of that. Could you fix it please ? (I need the 3 SPI peripherals) 
 
 Linking target: _build/nrf52840_xxaa.out ../../../../../10_Tools/nRF5_SDK_for_Thread_and_Zigbee_2</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 27 Feb 2019 07:01:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/41881/libopenthread-nrf52840-sdk-is-reserving-a-spi-instance" /><item><title>RE: libopenthread-nrf52840-sdk is reserving a SPI instance</title><link>https://devzone.nordicsemi.com/thread/173160?ContentTypeID=1</link><pubDate>Wed, 27 Feb 2019 07:01:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:99ff25e8-51cf-4000-9bf4-9fbb47aa11d3</guid><dc:creator>Fabien Comte</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Thank you for your response.&lt;/p&gt;
&lt;p&gt;I need all spi /twi so i cannot move to another one.&lt;/p&gt;
&lt;p&gt;I will see how to rebuild it but this problem looks generic for me. I think that will be interesting to propose a no ncp (and without spi) version of build in sdk because a great number of users are not in a ncp configuration.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libopenthread-nrf52840-sdk is reserving a SPI instance</title><link>https://devzone.nordicsemi.com/thread/172998?ContentTypeID=1</link><pubDate>Tue, 26 Feb 2019 12:01:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f2b56449-2767-418a-9cd3-fece4f850093</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Yes. The openthread library that is included in SDK for Thread and Zigbee 2.0.0 uses SPI0 by default. This is because our SDK has examples where the nRF acts as a Network Co Processor (NCP). This is why the openthread library that is built for the SDK is using the SPI0.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Now, if you need to use SPI0, you must rebuild the openthread library. How to do this is described &lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/Thread_SDK/v2-0-0/thread_intro?12#thread_qsg_libraries"&gt;here&lt;/a&gt;. As it says near the top of that page, you would need to add DISABLE_SPI=1 in platform-config.h before building the library. Also note that if you build the latest release of openthread, it would cause all (at least most) of the examples to break. To still be able to use the examples as they are in the SDK, you would need to build the same version that is used with the SDK. The version that is used is mentioned in the file:&lt;/p&gt;
&lt;p&gt;SDK_for_thread_and_zigbee_2.0.0\external\openthread\project\readme.txt&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Now, if possible, the easier workaround is probably to not use SPI0 or TWI0 in your application. If possible, you may use SPI1, SPI2 or SPI3 instead.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libopenthread-nrf52840-sdk is reserving a SPI instance</title><link>https://devzone.nordicsemi.com/thread/172969?ContentTypeID=1</link><pubDate>Tue, 26 Feb 2019 09:30:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6ac471ff-3562-4f9f-aa02-44313d8c5677</guid><dc:creator>Fabien Comte</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;When you try to use SPI0 or TWI0 with OpenThread lib, you get that outputs.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libopenthread-nrf52840-sdk is reserving a SPI instance</title><link>https://devzone.nordicsemi.com/thread/170831?ContentTypeID=1</link><pubDate>Wed, 13 Feb 2019 11:17:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ed005e65-afdb-409f-a7dc-8bba6e62f427</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Sorry. I don&amp;#39;t follow. Where are these outputs from?&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libopenthread-nrf52840-sdk is reserving a SPI instance</title><link>https://devzone.nordicsemi.com/thread/170719?ContentTypeID=1</link><pubDate>Tue, 12 Feb 2019 17:48:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:733fc2a6-4b78-471f-aa59-25e5eeffc455</guid><dc:creator>Fabien Comte</dc:creator><description>&lt;p&gt;If you look at theses outputs. Exemples were integrated in the library so it will be better to fix it in Nordic distribution.&lt;/p&gt;
&lt;p&gt;../../../../../10_Tools/nRF5_SDK_for_Thread_and_Zigbee_2.0.0_29775ac/external/openthread/lib/gcc/libopenthread-nrf52840-softdevice-sdk.a(libopenthread_nrf52840_softdevice_sdk_a-spi-slave.o): In function `SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler&amp;#39;:&lt;/p&gt;
&lt;p&gt;/build/KNGP-TOLL1-JOB1/openthread/examples/../examples/platforms/nrf52840/spi-slave.c:191: multiple definition of `SPIM0_SPIS0_TWIM0_TWIS0_SPI0_TWI0_IRQHandler&amp;#39;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: libopenthread-nrf52840-sdk is reserving a SPI instance</title><link>https://devzone.nordicsemi.com/thread/163412?ContentTypeID=1</link><pubDate>Wed, 02 Jan 2019 11:39:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:98f59564-7a73-4c7d-a498-7790f7b87def</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Please see this documentation:&lt;br /&gt;&lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/Thread_SDK/v2-0-0/thread_intro"&gt;https://www.nordicsemi.com/DocLib/Content/SDK_Doc/Thread_SDK/v2-0-0/thread_intro&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;From one of the &amp;quot;Note&amp;quot; sections:&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;&lt;em&gt;The above hardware resources are reserved for the OpenThread libraries delivered with this SDK. However, you can specify other instances of some peripherals such as Timers, PPIs, SWI, or UART and rebuild libraries. Refer to&amp;nbsp;&lt;/em&gt;&lt;/span&gt;&lt;em&gt;&lt;a href="https://github.com/openthread/openthread/blob/master/examples/platforms/nrf52840/platform-config.h" rel="noopener noreferrer" target="_blank"&gt;platform-config.h&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://github.com/openthread/openthread/blob/master/third_party/NordicSemiconductor/drivers/radio/nrf_802154_config.h" rel="noopener noreferrer" target="_blank"&gt;nrf_802154_config.h&lt;/a&gt;&amp;nbsp;to see the current configuration. You can also disable support for SPI by adding the&amp;nbsp;&lt;code&gt;DISABLE_SPI=1&lt;/code&gt;&lt;/em&gt;&lt;span&gt;&lt;em&gt;parameter.&lt;/em&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So you need to add this define (DISABLE_SPI=1);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;and build openthread again.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If you want to make sure that the examples still work, please build using the same version of OpenThread that is used for creating the SDK. From another &lt;a href="https://www.nordicsemi.com/DocLib/Content/SDK_Doc/Thread_SDK/v2-0-0/thread_intro?12#thread_qsg_libraries"&gt;&amp;quot;Note&amp;quot; section&lt;/a&gt;:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;&lt;em&gt;OpenThread is still in prerelease phase and its API changes frequently. Keep in mind that when the API changes, the examples might not compile with the latest OpenThread version right away without fixes.&lt;/em&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The version used to build the SDK is found in nRF5_SDK_for_Thread_and_Zigbee_2.0.0_29775ac\external\openthread\project\readme.txt:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;quot;&lt;em&gt;OpenThread libraries projects are based on the following commit of OpenThread: 704511c96e0d093139e4b80ef0739ed2d701afb1&lt;/em&gt;&amp;quot;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;So if you build this version without the SPI, you should be able to use SPI0 as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Edvin&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>