<?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>Linker fails, gcc, SDK 13.0.0, nRF52: &amp;quot;undefined reference to ...&amp;quot;</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/27084/linker-fails-gcc-sdk-13-0-0-nrf52-undefined-reference-to</link><description>Hi. 
 I&amp;#39;m in the process of migrating an application from the nRF51822 and SDK 12.2.0 to the nRF52832 and SDK 13.0.0. My code now compiles but doesn&amp;#39;t link. Here&amp;#39;s the make output at the linking stage: 
 Linking target: _build/app_s132.out
&amp;quot;/Users</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 21 Nov 2017 04:31:39 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/27084/linker-fails-gcc-sdk-13-0-0-nrf52-undefined-reference-to" /><item><title>RE: Linker fails, gcc, SDK 13.0.0, nRF52: "undefined reference to ..."</title><link>https://devzone.nordicsemi.com/thread/106513?ContentTypeID=1</link><pubDate>Tue, 21 Nov 2017 04:31:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:58df973d-9fbc-4c18-bdd7-0849eded095a</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;That&amp;#39;s always a trad-off: do you want to have new features and things moving forward (hence API changes hence some migration effort hence trauma for some engineers used to just click buttons in Keil or similar masterpiece) or do you want to stay with this feature set forever?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker fails, gcc, SDK 13.0.0, nRF52: "undefined reference to ..."</title><link>https://devzone.nordicsemi.com/thread/106512?ContentTypeID=1</link><pubDate>Tue, 21 Nov 2017 04:04:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8b02ec85-a458-492b-881d-d43487a421fa</guid><dc:creator>Thomas</dc:creator><description>&lt;p&gt;OMG:
&amp;quot;With every SDK release I lose about a day on this.&amp;quot;&lt;/p&gt;
&lt;p&gt;We loose almost a week to recover from SDK migration trauma.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker fails, gcc, SDK 13.0.0, nRF52: "undefined reference to ..."</title><link>https://devzone.nordicsemi.com/thread/106511?ContentTypeID=1</link><pubDate>Thu, 13 Apr 2017 08:12:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e06e067e-981c-455d-8b75-f9ad7b57cf05</guid><dc:creator>Eliot Stock</dc:creator><description>&lt;p&gt;@endnode Your initial suspicion was correct! Although the defines you mentioned were all there, there were a few others that weren&amp;#39;t. The problem, once again, is that I wrongly assumed that &lt;code&gt;nRF5_SDK_13.0.0_04a0bfd/examples/ble_peripheral/ble_app_template/pca10040/s132/config/sdk_config.h&lt;/code&gt; was a complete file. It&amp;#39;s not. With every SDK release I lose about a day on this. I&amp;#39;m now using &lt;code&gt;nRF5_SDK_13.0.0_04a0bfd/config/sdk_config.h&lt;/code&gt; directly in my build and defining my own stuff in an &lt;code&gt;app_config.h&lt;/code&gt; as you suggested.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker fails, gcc, SDK 13.0.0, nRF52: "undefined reference to ..."</title><link>https://devzone.nordicsemi.com/thread/106510?ContentTypeID=1</link><pubDate>Wed, 12 Apr 2017 20:13:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9aa1a0e7-ea71-42bc-ad4d-99ab2c9bf99e</guid><dc:creator>Eliot Stock</dc:creator><description>&lt;p&gt;For this migration I took the &lt;code&gt;sdk_config.h&lt;/code&gt; file from &lt;code&gt;examples/ble_peripheral/ble_app_template/pca10040/s132/config&lt;/code&gt; and used that, then diff&amp;#39;ed it against what I had from SDK 12 and just updated the values. I don&amp;#39;t use the &lt;code&gt;app_config.h&lt;/code&gt; because had nothing to add to &lt;code&gt;sdk_config.h&lt;/code&gt; (except &lt;code&gt;APP_FIFO_ENABLED&lt;/code&gt;, which you rightly identified was missing). Looking for &lt;code&gt;sdk_config.h&lt;/code&gt; files in the SDK that might be being pulled in, I see only one that&amp;#39;s outside of &lt;code&gt;/examples&lt;/code&gt; and that&amp;#39;s in &lt;code&gt;/config&lt;/code&gt;. I don&amp;#39;t have that directory on my include path. I can see that the &lt;code&gt;sdk_config.h&lt;/code&gt; from in my project is the one being used by putting an &lt;code&gt;#error Am I being used?&lt;/code&gt; in it and rebuilding. The build breaks as expected. I&amp;#39;ll attach an &lt;code&gt;.o&lt;/code&gt; and a &lt;code&gt;.d&lt;/code&gt; file above in case that sheds any light on it. Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker fails, gcc, SDK 13.0.0, nRF52: "undefined reference to ..."</title><link>https://devzone.nordicsemi.com/thread/106509?ContentTypeID=1</link><pubDate>Wed, 12 Apr 2017 19:47:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5ded8940-0f99-4054-9828-804470d48235</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;Also by pure visual diff of SDK v12.2.0 and v13.0.0 I see that &lt;code&gt;app_xxx&lt;/code&gt; and &lt;code&gt;nrf_xxx&lt;/code&gt; files you are using haven&amp;#39;t changed (beside licensing header comment) so the main difference is location of &lt;code&gt;sdk_config.h&lt;/code&gt; in the SDK folders&amp;#39; structure. Do you write your own or you use &amp;quot;default&amp;quot; one from SDK and just overload it by &lt;code&gt;USE_APP_CONFIG&lt;/code&gt; global define and &lt;code&gt;app_config.h&lt;/code&gt; custom file in your project (personally I like the latter option more)? Actually there was nothing like &amp;quot;default&amp;quot; (or &amp;quot;full&amp;quot;) &lt;code&gt;sdk_config.h&lt;/code&gt; in SDK v12.2.0, this seems to be new concept. I believe your problem is there, some defines are simply missing and SDK modules don&amp;#39;t get compiled with all functions you call (so header files make them visible during compilation but linker doesn&amp;#39;t find body of the function in &lt;em&gt;.d/&lt;/em&gt;.o files).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker fails, gcc, SDK 13.0.0, nRF52: "undefined reference to ..."</title><link>https://devzone.nordicsemi.com/thread/106508?ContentTypeID=1</link><pubDate>Wed, 12 Apr 2017 19:10:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:78ee086f-9928-4167-8cd0-346263f37709</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;Mhm. *.d and *.o files don&amp;#39;t suggest where you lost few functions from &lt;code&gt;app_xxx&lt;/code&gt; and &lt;code&gt;nrf_xxx&lt;/code&gt; modules? Some files should remain unchanged between SDK migrations and if you same compiler version it should be generating 100% equal binaries... otherwise I&amp;#39;m out of ideas, sorry;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker fails, gcc, SDK 13.0.0, nRF52: "undefined reference to ..."</title><link>https://devzone.nordicsemi.com/thread/106507?ContentTypeID=1</link><pubDate>Wed, 12 Apr 2017 18:58:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fe0758d4-e5eb-4570-a4e4-86ea122e2fd1</guid><dc:creator>Eliot Stock</dc:creator><description>&lt;p&gt;Nope, with the exception of APP_FIFO_ENABLED (which I&amp;#39;ve now added) they were all there already and already had those values.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Linker fails, gcc, SDK 13.0.0, nRF52: "undefined reference to ..."</title><link>https://devzone.nordicsemi.com/thread/106506?ContentTypeID=1</link><pubDate>Wed, 12 Apr 2017 18:48:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d815cf17-211d-4c56-a3de-6048e599e3ad</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;I&amp;#39;d say you have included files from &lt;code&gt;app_uart&lt;/code&gt; and &lt;code&gt;app_fifo&lt;/code&gt; modules but you probably haven&amp;#39;t defined few things in &lt;code&gt;sdk_config.h&lt;/code&gt; or rather &lt;code&gt;app_config.h&lt;/code&gt; like&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#define APP_UART_ENABLED 1
#define UART_ENABLED 1
#define UART0_CONFIG_USE_EASY_DMA 1
#define APP_UART_DRIVER_INSTANCE 0
#define APP_FIFO_ENABLED 1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;There were few changes around sdk_config.h (it&amp;#39;s position in SDK, &amp;quot;default&amp;quot; content etc.)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>