<?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>How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/24829/how-to-get-the-reference-of-the-soc-library-api</link><description>Hello, 
 We are currently migrating (or trying to...) from IAR Arm Embedded to Eclipse/GCC. 
 I&amp;#39;m trying to compile our project using gcc and eclipse. I followed this tutorial :
 devzone.nordicsemi.com/.../ 
 I managed to build my Makefile and link</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 01 Sep 2017 13:59:44 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/24829/how-to-get-the-reference-of-the-soc-library-api" /><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97752?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 13:59:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e415efc-23f9-46da-8fd4-8fb23f042fdd</guid><dc:creator>Hamza</dc:creator><description>&lt;p&gt;Ok, the problem has been solved, I&amp;#39;ve installed the wrong version. 5.4 works fine. Thanks for you answers.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97764?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 12:51:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6d8a5aff-a937-40cd-8778-4673411425f8</guid><dc:creator>Torsten Robitzki</dc:creator><description>&lt;p&gt;I think you should better focus on the actual linker error messages: Why are there unresolved external symbosl to a function that is created by a macro as &lt;em&gt;static&lt;/em&gt; function. Installing different compilers and SDKs is just poking around. Have you had a look at the preprocessor output? Any chance that the SVCALL_AS_NORMAL_FUNCTION macro is defined?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97754?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 12:40:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:198474d6-8f52-4700-8856-94d95227a17e</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;Most of the time Nordic makefile doesn&amp;#39;t work out of the box, if not to say never worked. What I do is create Eclipse project and import require source files.  It is tedious to set all the include path at first but after that it would be a lot easier to maintain and you can debug too.  I can compile all Nordic example with this.  Have a look at this &lt;a href="https://embeddedsoftdev.blogspot.ca/p/ehal-nrf51.html"&gt;blog&lt;/a&gt; for more info.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97753?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 12:32:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:259befe9-2475-45f4-9e66-1391052abdc2</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;So let&amp;#39;s do step back: are you able to compile ANY example from that SDK with Makefile and GCC? If not then debugging stock examples will be much easier, everyone (mainly Nordic support team) can do the same and compare the outputs with you...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97758?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 12:28:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e5312453-2163-4331-aa2e-a2b5fb75f4d4</guid><dc:creator>Hamza</dc:creator><description>&lt;p&gt;Ok, I&amp;#39;ve just installed 5.4 and tried, same compile errors....&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97755?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 11:39:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f130484c-318a-4747-8d93-19e8f323c7eb</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;I did tried v6 a few months back.  Had a lot of compile error and runtime issue.  I didn&amp;#39;t have time to look at it so I went back to 5.4. Don&amp;#39;t know if it has been improved with 6.3 or not.  For sure 5.4 work so may be you can try that first.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97766?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 11:25:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1bed188b-89a0-439e-913c-292b2bab56e3</guid><dc:creator>Hamza</dc:creator><description>&lt;p&gt;I tried using anterior version, but it didn&amp;#39;t solve anything&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97763?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 09:34:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3596ab35-08c0-4791-9857-16faa18a97d4</guid><dc:creator>Hamza</dc:creator><description>&lt;p&gt;I&amp;#39;ve tried to compile using &lt;code&gt;extern &amp;quot;C&amp;quot; {}&lt;/code&gt;, the compiler didn&amp;#39;nt like. and I made the compiler with the &lt;code&gt;-std=c99&lt;/code&gt; option.
Yes the same&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97762?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 09:31:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:057d2ba6-cc51-44f1-b926-24ffbd1deb1c</guid><dc:creator>Torsten Robitzki</dc:creator><description>&lt;p&gt;Did you compiled the SDK sources with the very same compiler?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97761?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 09:27:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:440954e2-c71e-4b94-af19-cb959f58d0d9</guid><dc:creator>Torsten Robitzki</dc:creator><description>&lt;p&gt;Are you sure, that your compiler thinks so too? But you are right, at least the sources that are missing the external symbols are within the SDK and thus should be pure C. Maybe you can check your Compiler switches and see if C is really used.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97769?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 09:24:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:df87e44d-57e1-4e6e-a83a-3095791faa09</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;Also note that if from whatever reason you need to use so old SDK version you should read release notes and stick to compiler version tested by Nordic during release which is &lt;code&gt;GCC: gcc-arm-embedded 4.9 2015q1&lt;/code&gt;. That might solve some of your issues as well.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97760?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 09:22:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1705de18-d017-4fa4-a5a0-233338c42ded</guid><dc:creator>Hamza</dc:creator><description>&lt;p&gt;We are not using C++, only C code.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97759?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 09:11:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aebd18e0-6edd-4645-bac1-44b420b5c278</guid><dc:creator>Torsten Robitzki</dc:creator><description>&lt;p&gt;The functions you are missing are created by some macro magic in the headers of the SDK. The functions must be declared somewhere, or otherwise, your compiler would have complained already. My best guess is, that you are mixing C++ with C and that the old SDK version is not aware of C++ and thus you have to wrap the include of the SDK headers with an &lt;code&gt;extern &amp;quot;C&amp;quot; {}&lt;/code&gt; to tell the compiler that the SDK functions have C binding.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97768?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 09:07:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a60da896-ad6f-416e-966a-9fffaf3a91a0</guid><dc:creator>Hamza</dc:creator><description>&lt;p&gt;&lt;code&gt;SVCALL(SD_FLASH_WRITE, uint32_t, sd_flash_write(uint32_t * const p_dst, uint32_t const * const p_src, uint32_t size));&lt;/code&gt; Indeed, but I think the compiler can&amp;#39;t find the code of the function &lt;code&gt;sd_flash_write(uint32_t * const p_dst, uint32_t const * const p_src, uint32_t size)&lt;/code&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97767?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 09:02:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a75fd818-9554-4dc3-9906-5731149e2bea</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;Well you find them in a second if you simply do full-text search on entire nRF51 SDk V8.1.0 package: &lt;code&gt;components\softdevice\s110\headers\nrf_soc.h&lt;/code&gt;. Anything else?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97770?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 08:46:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7ce440d7-2e6a-4511-9925-d15e6342de62</guid><dc:creator>Hamza</dc:creator><description>&lt;p&gt;Yes, I&amp;#39;m using the same sdk, and all the paths are set in the Makefile. Acctually I got undefined references from functions of the sdk, I included the ones I needed in the Makefile source variable, the errors have gone, there is only this one. It couldn&amp;#39;t found the sd_flash_xxx functions defintion.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97765?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 08:38:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5006f433-517b-4f38-a11d-46a4adf30d40</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;It seems to be missing some references to SoftDevice API, are you sure you are using the same version of SDK and SD header files as you used in IAR? Also that all the paths in your Makefile are present so &lt;code&gt;sd_flash_xxx&lt;/code&gt; calls from &lt;code&gt;pstorage&lt;/code&gt; module could be resolved?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97757?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 08:16:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dd68d8cd-0b3e-4019-80dd-d44133b60acd</guid><dc:creator>Hamza</dc:creator><description>&lt;p&gt;It&amp;#39;s indeed gcc 6.3 (I edited the question), but the path is set.&lt;/p&gt;
&lt;p&gt;Do you think the version of gcc could change something ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97756?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 08:07:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f8aa8d77-ec59-4502-911a-2d5375da3025</guid><dc:creator>Torsten Robitzki</dc:creator><description>&lt;p&gt;How should a not installed compiler emit error messages?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to get the reference of the SoC library API?</title><link>https://devzone.nordicsemi.com/thread/97751?ContentTypeID=1</link><pubDate>Thu, 31 Aug 2017 19:26:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1c7f3a8e-2fb8-4435-987a-256726f802c4</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;It looks like your are compiling with GCC 6.3.  Do you have it install in your system ? Check you PATH settings.  It could be the root of the cause.  GCC 5.4 works fine.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>