<?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>The anatomy of an SVC call into a Softdevice.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/37671/the-anatomy-of-an-svc-call-into-a-softdevice</link><description>It is stated that the advantage of a Softdevice is that because it is a precompiled binary file it can be used without requiring any particular compiler or linker features. This seems to be an attractive and promising approach. However, I am having trouble</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 22 Aug 2018 09:23:29 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/37671/the-anatomy-of-an-svc-call-into-a-softdevice" /><item><title>RE: The anatomy of an SVC call into a Softdevice.</title><link>https://devzone.nordicsemi.com/thread/145262?ContentTypeID=1</link><pubDate>Wed, 22 Aug 2018 09:23:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:da11b756-06d4-4361-afa1-560ed6ff7f3c</guid><dc:creator>Lightfoot</dc:creator><description>&lt;p&gt;Thank you Einar.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The anatomy of an SVC call into a Softdevice.</title><link>https://devzone.nordicsemi.com/thread/145251?ContentTypeID=1</link><pubDate>Wed, 22 Aug 2018 08:48:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a8b92f61-262b-4f19-8447-7577513eea67</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The pointers are passed in R0 - R3. There is a brief description in the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.sds/dita/softdevices/s130/overview/api_overview.html?cp=2_3_1_0_3"&gt;Application Programming Interface (API) chapter&lt;/a&gt;&amp;nbsp;in the SoftDevice specification&amp;nbsp; but I recommend you refer to the ARM&amp;#39;s documentation about SVC calls for details, for example &lt;a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0179b/ar01s02s07.html"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The anatomy of an SVC call into a Softdevice.</title><link>https://devzone.nordicsemi.com/thread/145179?ContentTypeID=1</link><pubDate>Tue, 21 Aug 2018 17:54:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c9e58fff-24b3-4ceb-a46b-79f68690d751</guid><dc:creator>Lightfoot</dc:creator><description>&lt;p&gt;Thank you Elias. &amp;nbsp;I appreciate that data pointers and function pointers are passed to the SVC handler in the SoftDevice. &amp;nbsp;I want to know where&amp;nbsp;those pointers should be&amp;nbsp;located at the&amp;nbsp;point when the SVC instruction is executed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The anatomy of an SVC call into a Softdevice.</title><link>https://devzone.nordicsemi.com/thread/145178?ContentTypeID=1</link><pubDate>Tue, 21 Aug 2018 17:37:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8dd4d82b-0609-4d99-91eb-93f7cef88b4b</guid><dc:creator>Elias</dc:creator><description>&lt;p&gt;Is this about &lt;strong&gt;using&lt;/strong&gt; the SoftDevice API, or just for your own knowledge on how such an architecture is implemented?&lt;/p&gt;
&lt;p&gt;If this is just about use, check out the Nordic examples.&lt;/p&gt;
&lt;p&gt;If this is about knowledge, remember that all C functions are just pointers. This line, for example, compiles fine:&lt;br /&gt;((bool (*)(int))0x1234)(56);&lt;br /&gt;It says to execute whatever code is at address 0x1234 on the machine, passing 56 as an int and getting a bool return.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>