<?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>Difference between public configurations (release &amp;amp; debug) and private configurations (common)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/49412/difference-between-public-configurations-release-debug-and-private-configurations-common</link><description>I am using &amp;#39;Segger Embedded Studio&amp;#39;. While changing the settings of a project in options, why we select Private Configurations (common)? I have seen this procedure in many tutorials. When should we use public configurations (release &amp;amp; debug)?</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 05 Jul 2019 09:13:19 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/49412/difference-between-public-configurations-release-debug-and-private-configurations-common" /><item><title>RE: Difference between public configurations (release &amp; debug) and private configurations (common)</title><link>https://devzone.nordicsemi.com/thread/196769?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2019 09:13:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:832acf3c-b08d-419c-b051-4fef003f15c9</guid><dc:creator>awneil</dc:creator><description>&lt;p&gt;&lt;a href="https://www.segger.com/downloads/embedded-studio/EmbeddedStudio_Manual"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;SES User Manuals:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://download.segger.com/SES/segger_embedded_studio_manual.pdf"&gt;https://download.segger.com/SES/segger_embedded_studio_manual.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.segger.com/downloads/embedded-studio/EmbeddedStudio_Manual"&gt;https://www.segger.com/downloads/embedded-studio/EmbeddedStudio_Manual&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The relevant part of the SES online documentation is here:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://studio.segger.com/ide_project_configurations.htm"&gt;https://studio.segger.com/ide_project_configurations.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Documentation is also available within the IDE itself:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1562318170030v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;SES forum:&amp;nbsp;&lt;a href="https://forum.segger.com/index.php/Board/9-SEGGER-Embedded-Studio-related/"&gt;https://forum.segger.com/index.php/Board/9-SEGGER-Embedded-Studio-related/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.segger.com/downloads/embedded-studio/EmbeddedStudio_Manual"&gt;&lt;/a&gt;Note that this has nothing specifically to do with Nordic; it is a standard feature of SES.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote userid="15909" url="~/f/nordic-q-a/49412/difference-between-public-configurations-release-debug-and-private-configurations-common/196743"]I assume that what you are talking about is build configurations? [/quote]
&lt;p&gt;Yes, it is.&lt;/p&gt;
&lt;p&gt;The &amp;quot;public&amp;quot; configurations are the ones that you can actually build.&lt;/p&gt;
&lt;p&gt;The &amp;quot;private&amp;quot; configurations can&amp;#39;t be built - they are used to define stuff which is inherited by the &amp;quot;public&amp;quot; configurations.&lt;/p&gt;
[quote userid="81222" url="~/f/nordic-q-a/49412/difference-between-public-configurations-release-debug-and-private-configurations-common"]When should we use public configurations[/quote]
&lt;p&gt;Apart from Debug &amp;amp; Release, another common use for &amp;#39;Configurations&amp;#39; is to build different variants of a project; eg, one to run on a Dev Kit, and one to run on your custom hardware.&lt;/p&gt;
&lt;p&gt;As&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://devzone.nordicsemi.com/members/andresovela"&gt;Andy&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;suggests, the concept of &amp;quot;Configurations&amp;quot; is pretty much universal to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;&lt;strong&gt;all&lt;/strong&gt;&lt;/em&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;IDEs - not just SES.&lt;/p&gt;
&lt;p&gt;However, I haven&amp;#39;t seen another one that allows this hierarchy of inheriting &amp;quot;common&amp;quot; settings. It is extremely useful!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Difference between public configurations (release &amp; debug) and private configurations (common)</title><link>https://devzone.nordicsemi.com/thread/196743?ContentTypeID=1</link><pubDate>Fri, 05 Jul 2019 08:37:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7d11b379-8423-42a2-add1-fe2b2323d9ad</guid><dc:creator>Andy</dc:creator><description>&lt;p&gt;I don&amp;#39;t use SES, I use Eclipse. I assume that what you are talking about is build configurations? If that&amp;#39;s the case, you can use them to compile &amp;quot;different versions&amp;quot; of the same project without making any actual changes in code.&lt;/p&gt;
&lt;p&gt;For example, maybe you want logging enabled in the Debug config and logging disabled in the Release config. You can define some conditions for the preprocessor to compile code differently for&amp;nbsp;different configurations, e.g. you can have &lt;strong&gt;DEBUG&lt;/strong&gt; in your preprocessor definitions and wrap code with&amp;nbsp;&lt;strong&gt;#ifdef DEBUG&lt;/strong&gt; sentences.&lt;/p&gt;
&lt;p&gt;You can also have different build steps in different configurations - for example you could have the Release config generate DFU zip files automatically when you compile and so on.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>