<?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>SDK14: determine what modules to link/enable</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/28460/sdk14-determine-what-modules-to-link-enable</link><description>Hi! 
 I once set up a simple project using SDK 12 and the HRS example. 
 Now I tried porting it to SDK 14 and SD 5. That didn&amp;#39;t work out well. 
 So I started things from scratch. I now finally understand where I have to enable things, etc, but: 
</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 09 Mar 2018 08:05:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/28460/sdk14-determine-what-modules-to-link-enable" /><item><title>RE: SDK14: determine what modules to link/enable</title><link>https://devzone.nordicsemi.com/thread/123558?ContentTypeID=1</link><pubDate>Fri, 09 Mar 2018 08:05:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:739512ab-c130-456d-82ea-430028efcfdf</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Please have a look at the documentation of &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.2.0/lib_section_vars.html?cp=4_0_0_3_53"&gt;section variables&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK14: determine what modules to link/enable</title><link>https://devzone.nordicsemi.com/thread/123523?ContentTypeID=1</link><pubDate>Thu, 08 Mar 2018 23:45:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:efcd11f0-2789-40cb-9609-a43a0d3f4299</guid><dc:creator>butch</dc:creator><description>&lt;p&gt;I see that most examples have this text in their linker scripts.&amp;nbsp; But it is not clear why.&amp;nbsp; I assumed that the linker script for the s132 (path give above) would be sufficient, and maybe it is a bug in that script.&amp;nbsp; I would like to know WHY it must be there, instead of just saying &amp;quot;start with an example linker script instead of the s132 linker script.&amp;quot;&amp;nbsp; I am trying to port from 52832 to 52810.&amp;nbsp; I want to start with the .ld script for the s112 instead of searching examples for one that uses s112 and then use its linker script.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK14: determine what modules to link/enable</title><link>https://devzone.nordicsemi.com/thread/123522?ContentTypeID=1</link><pubDate>Thu, 08 Mar 2018 23:36:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3f128dfc-f604-4581-8e8f-5a69a6589bf2</guid><dc:creator>butch</dc:creator><description>&lt;p&gt;It would be nice to know what conditions you need to add this to the linker script.&amp;nbsp; The linker script in the SDK components/softdevice/s132/toolchain/armgcc/&amp;lt;foo&amp;gt;.ld does not include those lines.&amp;nbsp; But another linker script I have (I can&amp;#39;t remember where I got it) does not.&amp;nbsp; And I am getting the same linker errrors.&amp;nbsp; I would guess the answer is &amp;quot;if you enable observers in sdk_config.h, you need to add this text to the linker script.&amp;quot;&amp;nbsp; But a reference to the documentation would be nice, so it is not just some magic incantation privy only to those willing to bow to the cognizetti.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK14: determine what modules to link/enable</title><link>https://devzone.nordicsemi.com/thread/119396?ContentTypeID=1</link><pubDate>Thu, 01 Feb 2018 15:30:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b14d7251-4835-46cd-9728-85d408c31f99</guid><dc:creator>Divya Thanasekaran</dc:creator><description>&lt;p&gt;Add the observers to the SECTIONS part of your linker script.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As follows:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;SECTIONS&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt; .log_const_data :&lt;br /&gt; {&lt;br /&gt; PROVIDE(__start_log_const_data = .);&lt;br /&gt; KEEP(*(.log_const_data))&lt;br /&gt; PROVIDE(__stop_log_const_data = .);&lt;br /&gt; } &amp;gt; FLASH&lt;br /&gt; &lt;br /&gt; .sdh_stack_observers :&lt;br /&gt; {&lt;br /&gt; PROVIDE(__start_sdh_stack_observers = .);&lt;br /&gt; KEEP(*(SORT(.sdh_stack_observers*)))&lt;br /&gt; PROVIDE(__stop_sdh_stack_observers = .);&lt;br /&gt; } &amp;gt; FLASH&lt;/p&gt;
&lt;p&gt;.sdh_req_observers :&lt;br /&gt; {&lt;br /&gt; PROVIDE(__start_sdh_req_observers = .);&lt;br /&gt; KEEP(*(SORT(.sdh_req_observers*)))&lt;br /&gt; PROVIDE(__stop_sdh_req_observers = .);&lt;br /&gt; } &amp;gt; FLASH&lt;/p&gt;
&lt;p&gt;.sdh_state_observers :&lt;br /&gt; {&lt;br /&gt; PROVIDE(__start_sdh_state_observers = .);&lt;br /&gt; KEEP(*(SORT(.sdh_state_observers*)))&lt;br /&gt; PROVIDE(__stop_sdh_state_observers = .);&lt;br /&gt; } &amp;gt; FLASH&lt;/p&gt;
&lt;p&gt;.sdh_ble_observers :&lt;br /&gt; {&lt;br /&gt; PROVIDE(__start_sdh_ble_observers = .);&lt;br /&gt; KEEP(*(SORT(.sdh_ble_observers*)))&lt;br /&gt; PROVIDE(__stop_sdh_ble_observers = .);&lt;br /&gt; } &amp;gt; FLASH&lt;/p&gt;
&lt;p&gt;} INSERT AFTER .text&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK14: determine what modules to link/enable</title><link>https://devzone.nordicsemi.com/thread/112494?ContentTypeID=1</link><pubDate>Fri, 05 Jan 2018 11:37:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0b9a6404-7851-4dbe-84d3-559e20a9726b</guid><dc:creator>gotthcha</dc:creator><description>&lt;p&gt;Solution: NRF_LOG_CLI_CMDS 0&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK14: determine what modules to link/enable</title><link>https://devzone.nordicsemi.com/thread/112493?ContentTypeID=1</link><pubDate>Wed, 04 Oct 2017 18:08:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7439ad2b-f93d-46c3-8ea2-ded0188704cb</guid><dc:creator>Yatekii</dc:creator><description>&lt;p&gt;You need to link the right linker script and disable the CLI module via config flags in the sdk_config.h&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK14: determine what modules to link/enable</title><link>https://devzone.nordicsemi.com/thread/112492?ContentTypeID=1</link><pubDate>Tue, 03 Oct 2017 14:17:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:064b3bef-45c0-4c37-8979-bec87defc41d</guid><dc:creator>DerPMO</dc:creator><description>&lt;p&gt;Yatekii, could you post your solution?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK14: determine what modules to link/enable</title><link>https://devzone.nordicsemi.com/thread/112491?ContentTypeID=1</link><pubDate>Sun, 24 Sep 2017 01:21:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2804371a-352c-4f9f-b061-0a92b714681a</guid><dc:creator>Yatekii</dc:creator><description>&lt;p&gt;Yes but I do want to log. I just don&amp;#39;t want the CLI nodule which is on by default if the LOG module is used.
I figured how to just use LOG and not the CLI too now, but it&amp;#39;s not really obvious.
And yes, I already read what the defines do in the sdk_config.h file. Sadly the comments are not always too elaborate (:&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK14: determine what modules to link/enable</title><link>https://devzone.nordicsemi.com/thread/112490?ContentTypeID=1</link><pubDate>Thu, 21 Sep 2017 19:44:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:61992c33-db92-4ca6-b990-6f3782455e2a</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;I&amp;#39;m not sure I understand what you mean by &lt;em&gt;&amp;quot;But it still tries to link nrf_cli_fprintf&amp;quot;&lt;/em&gt;. &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.0.0/group__nrf__cli.html#ga5039024609beb626b07addb81b0816f7"&gt;&lt;code&gt;nrf_cli_fprintf&lt;/code&gt;&lt;/a&gt; is a function implemented within &lt;em&gt;nrf_cli.c&lt;/em&gt;. You can find the &lt;em&gt;sdk_config.h&lt;/em&gt; macros to configure the CLI library on &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.0.0/group__nrf__cli__config.html?resultof=%22%4e%52%46%5f%43%4c%49%5f%45%4e%41%42%4c%45%44%22%20"&gt;this infocenter page&lt;/a&gt;. If you disable the LOG module, you should be able to remove the related sections from the linker script.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK14: determine what modules to link/enable</title><link>https://devzone.nordicsemi.com/thread/112489?ContentTypeID=1</link><pubDate>Thu, 21 Sep 2017 09:00:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:147be5f3-c819-437b-bac5-162a55f9130d</guid><dc:creator>Yatekii</dc:creator><description>&lt;p&gt;Yes, I closely followed the guide. Unfortunately not everything was clear with the SDK12 either so the misunderstandings I had before haven&amp;#39;t vanished ;)
Also for exmple I want to log stuff and I enabled the RTT backend. But it still tries to link nrf_cli_fprintf. But I don&amp;#39;t want to use the CLI module. Sadly I can&amp;#39;t find any switches to turn it off ... it is all just very big and full of features even tho I feel that it is really well done, so it takes me hours of grepping just for the basics ...&lt;/p&gt;
&lt;p&gt;Also the missing memory sections were because of the old linker script which hadn&amp;#39;t included them. Also for example now that the sections are in the linker script, those sections will always be there and disabling the LOG module for example wont save any memory, which feels weird to me ..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SDK14: determine what modules to link/enable</title><link>https://devzone.nordicsemi.com/thread/112488?ContentTypeID=1</link><pubDate>Thu, 21 Sep 2017 08:28:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:49e02d5f-b141-4fb6-abc1-11dee7d3ff4c</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Did you follow the instructions in SDK 14 migration guide? Specifically the sections about &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.0.0/migration.html?cp=4_0_0_1_7_0#migration_ble"&gt;BLE&lt;/a&gt; and &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.0.0/migration.html?cp=4_0_0_1_7_4_1#migration_libs_nrf_log"&gt;nrf_log&lt;/a&gt; seems to be usefull for your issues. Most of the enable flags should be self explanatory from what modules you are using. Some modules are dependent on other modules, but you should be able to see what modules needs to be added/enabled from the compilation output.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>