<?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>Confusion between configuration files NrfConnect SDK: KConfig vs KConfig.defaults vs KConfig interactive gui vs prj.conf</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/95896/confusion-between-configuration-files-nrfconnect-sdk-kconfig-vs-kconfig-defaults-vs-kconfig-interactive-gui-vs-prj-conf</link><description>I&amp;#39;m new to nrf connect sdk and although i studied the documentation its not completely clear to me. 
 What is the difference between KConfig vs KConfig.defaults vs prj.conf vs KConfig interactive gui? 
 My understanding till now is (looking to nrf5340</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 30 Jan 2023 08:22:37 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/95896/confusion-between-configuration-files-nrfconnect-sdk-kconfig-vs-kconfig-defaults-vs-kconfig-interactive-gui-vs-prj-conf" /><item><title>RE: Confusion between configuration files NrfConnect SDK: KConfig vs KConfig.defaults vs KConfig interactive gui vs prj.conf</title><link>https://devzone.nordicsemi.com/thread/407010?ContentTypeID=1</link><pubDate>Mon, 30 Jan 2023 08:22:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4af477ca-94d3-481d-9746-921e53ce492e</guid><dc:creator>uzer123</dc:creator><description>&lt;p&gt;Yes, these sources are very good addition to more understanding or/and better modification of available settings..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion between configuration files NrfConnect SDK: KConfig vs KConfig.defaults vs KConfig interactive gui vs prj.conf</title><link>https://devzone.nordicsemi.com/thread/407003?ContentTypeID=1</link><pubDate>Mon, 30 Jan 2023 07:42:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3dad7b01-127c-4b56-b285-700e78fb18e7</guid><dc:creator>Raoul</dc:creator><description>&lt;p&gt;That is entirely correct! This is a good TL;DR for a majority of your Kconfig needs. To add to your understanding, you could also look at the role of &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/build/kconfig/setting.html#setting-symbols-in-configuration-files"&gt;_defconfig files&lt;/a&gt; that define the default prj.conf settings for a particular board, and at the ability to &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/gs_modifying.html#configuring-build-types"&gt;use different .conf files&lt;/a&gt; for different build targets.&lt;/p&gt;
&lt;p&gt;What I also find very useful sometimes is to look at &lt;code&gt;autoconf.h&lt;/code&gt;, located in the &lt;code&gt;build/zephyr/include&lt;/code&gt; folder (after building) - it is the end result of all the merged configuration files and helps make clear exactly what is and isn&amp;#39;t enabled at any particular time for the application you&amp;#39;ve compiled.&lt;/p&gt;
&lt;p&gt;In general Kconfig is quite well documented in NCS/Zephyr. I&amp;#39;ll leave you with the following two articles:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/build/kconfig/setting.html"&gt;Setting Kconfig configuration values&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/build/kconfig/tips.html#kconfig-tips-and-tricks"&gt;Kconfig - Tips and Best Practices&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Raoul&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion between configuration files NrfConnect SDK: KConfig vs KConfig.defaults vs KConfig interactive gui vs prj.conf</title><link>https://devzone.nordicsemi.com/thread/406622?ContentTypeID=1</link><pubDate>Thu, 26 Jan 2023 10:46:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a2fca03-7425-485d-8e8c-61a614c81c44</guid><dc:creator>uzer123</dc:creator><description>&lt;p&gt;Thanks for your answer. It adds value to my understanding and agrees with what i&amp;#39;ve seen so far dealing with Nrf Connect.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So, in a nutshell the &lt;strong&gt;TL;DR&lt;/strong&gt; answer is:&lt;/p&gt;
&lt;p&gt;You can use Kconfig gui/guiconfig/menuconfig &lt;strong&gt;GUIs&lt;/strong&gt; to &lt;strong&gt;take ideas&lt;/strong&gt; about the possible configurations but if you want to try or have a permanent configuration find the appropriate name from the GUIs (or the Kconfig search engine you sent) and add it to &lt;strong&gt;prj.conf. &lt;/strong&gt;Then make a build or if you are afraid that your configuration didn&amp;#39;t work, try a &lt;strong&gt;pristine build&lt;/strong&gt;. IF you want to add your own options for configuration (for example include your own library/src file with default values) you can make your own Kconfig file (no file extension) in apps root folder as nicely described in&amp;nbsp;nRF Connect SDK Fundamentals course Lesson 3, exercise 2.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion between configuration files NrfConnect SDK: KConfig vs KConfig.defaults vs KConfig interactive gui vs prj.conf</title><link>https://devzone.nordicsemi.com/thread/406593?ContentTypeID=1</link><pubDate>Thu, 26 Jan 2023 09:03:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d938184d-ed83-4518-8b55-8aaf63c65f67</guid><dc:creator>Raoul</dc:creator><description>&lt;p&gt;Hi Uzer, sounds like you&amp;#39;ve understood just about everything correctly.&lt;/p&gt;
&lt;p&gt;I should point out that prj.conf is by far the file you&amp;#39;ll be dealing with the most often - it is not only used to configure your own user-defined Kconfig options, but to configure any of the &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/kconfig/index.html"&gt;thousands&lt;/a&gt; of options that NCS exposes. When you experiment with kconfig options through an interactive interface, prj.conf is where you&amp;#39;ll set them permanently (and I personally just forego the interactive interfaces and experiment by changing prj.conf directly).&lt;/p&gt;
&lt;p&gt;It shouldn&amp;#39;t always be necessary to do a pristine build when changing prj.conf, the build system should figure out what to rebuild. But it doesn&amp;#39;t always get things right, so if you encounter issues, pristine builds could definitely be necessary. But as you might have noticed, they take longer to complete.&lt;/p&gt;
&lt;p&gt;Note that instead of the KConfig interactive GUI in the VS Code extension, you can also opt to use the guiconfig or menuconfig interfaces: &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/build/kconfig/menuconfig.html"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/build/kconfig/menuconfig.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The VS Code extension lets you select which interactive interface you want to use, in a dropdown menu.&lt;/p&gt;
&lt;p&gt;Just to be clear, building and flashing are completely independent steps, flashing is not related to the Zephyr build process and so these configuration files are not affected by flashing, just building.&lt;/p&gt;
&lt;p&gt;kconfig.defaults is actually something I haven&amp;#39;t encountered before. So outside of the audio dk, it&amp;#39;s not something you&amp;#39;ll usually have to worry about.&lt;/p&gt;
&lt;p&gt;I hope this adds to your understanding.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Raoul&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>