<?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>Wi-Fi Fundamentals Lesson 5, Exercise 3 will not compile with debug options - FLASH overflows</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/114193/wi-fi-fundamentals-lesson-5-exercise-3-will-not-compile-with-debug-options---flash-overflows</link><description>When I try to build the solution with &amp;quot;Optimize for debugging (-Og)&amp;quot; the linker fails saying `rodata&amp;#39; will not fit in region `FLASH&amp;#39;. FLASH overflowed by 46056 bytes. This happens with both my exercise code and your solution code. 
 When I look at the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 28 Aug 2024 13:16:56 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/114193/wi-fi-fundamentals-lesson-5-exercise-3-will-not-compile-with-debug-options---flash-overflows" /><item><title>RE: Wi-Fi Fundamentals Lesson 5, Exercise 3 will not compile with debug options - FLASH overflows</title><link>https://devzone.nordicsemi.com/thread/500224?ContentTypeID=1</link><pubDate>Wed, 28 Aug 2024 13:16:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8ad8cbed-1b3b-4467-9342-1e619292d4fd</guid><dc:creator>runsiv</dc:creator><description>&lt;p&gt;That seems like a reasonable approch to me. I would not be surprised if we see more optimization on the nrf700x drivers in the future, however this is not something I would take into consideration while developing. I will check where the nrf700x patch is in the memory view and give a update&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;Runar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wi-Fi Fundamentals Lesson 5, Exercise 3 will not compile with debug options - FLASH overflows</title><link>https://devzone.nordicsemi.com/thread/500065?ContentTypeID=1</link><pubDate>Tue, 27 Aug 2024 18:24:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:71a55eac-f3e3-4969-bd62-3573b438bf07</guid><dc:creator>Saxman58</dc:creator><description>&lt;p&gt;Thanks Runar,&lt;/p&gt;
&lt;p&gt;I had seen the Memory Report when I first tried nRF Connect a few months ago, but had completely forgotten about it.&amp;nbsp; It has been hidden under the Connected Devices panel on my VS Code setup, but no longer.&amp;nbsp; That is very useful!&lt;/p&gt;
&lt;p&gt;Thank you also for the west commands to generate the reports.&amp;nbsp; That will also be very useful, for example to diff two different builds and see exactly what changed, or to do a text search.&amp;nbsp; The reports are very detailed, right down to the function level!&lt;/p&gt;
&lt;p&gt;Storing the nRF7002 patch on external flash is a good idea.&amp;nbsp; I found the notes on that:&amp;nbsp;&lt;a id="" href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf70/nrf70_fw_patch_update.html,"&gt;https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf70/nrf70_fw_patch_update.html,&lt;/a&gt;&amp;nbsp;and this DevZone post:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/111841/flash-nrf7002-rom-patch-via-external-spi-flash"&gt;Flash nRF7002 ROM patch via external SPI flash&lt;/a&gt;&lt;br /&gt;Our external flash will be with a SPI bus.&amp;nbsp; We need to use the QSPI for the nRF7002 for the Wi-Fi throughput we need.&amp;nbsp; That patch note won&amp;#39;t work on the nRF7002-DK board because it has the same arrangement we have (QSPI to 7002, SPI to external Flash), so it can&amp;#39;t use XIP to access the patch.&amp;nbsp; We&amp;#39;d have to do some extra work to program the flash and load the patch into the RAM heap during boot.&amp;nbsp; But that would work.&lt;br /&gt;&lt;br /&gt;But I&amp;#39;m going to try to avoid that by watching the memory usage carefully to keep the size under control.&lt;/p&gt;
&lt;p&gt;It is not obvious where the nRF700x patch shows up in the memory map, but I&amp;#39;m guessing that might be the 117,336 byte chunk marked as (hidden).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wi-Fi Fundamentals Lesson 5, Exercise 3 will not compile with debug options - FLASH overflows</title><link>https://devzone.nordicsemi.com/thread/499814?ContentTypeID=1</link><pubDate>Mon, 26 Aug 2024 15:51:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cd75a243-23f2-45a0-9769-878de7f18b62</guid><dc:creator>runsiv</dc:creator><description>&lt;p&gt;I will expand this post when I get back in to work tomorrow. In general my experience is that the zephyr shell can be nice however you have to be careful to include what you need. The CLI is great while testing and learning but I would not include it in a production application.&lt;/p&gt;
&lt;p&gt;However I would just mention that you can use the memory report feature to view ROM, RAM and Partition usage in VScode.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you prefer a more CLI then you can use the commands&lt;pre class="ui-code" data-mode="text"&gt;west build -t ram_report
west build -t rom_report
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.zephyrproject.org/latest/develop/optimizations/tools.html"&gt;https://docs.zephyrproject.org/latest/develop/optimizations/tools.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/0763.pastedimage1724687480889v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/4010.pastedimage1724687498101v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Update: Memory view is the way to go in NCS. I checked if there was anything else that I had forgotten to mention but memory view is the way if you don&amp;#39;t want to look at the map file itself.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Its also possible to store the nrf700x patch on external flash if it is needed. We can also try to help you with optimization of the application if needed.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;Runar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wi-Fi Fundamentals Lesson 5, Exercise 3 will not compile with debug options - FLASH overflows</title><link>https://devzone.nordicsemi.com/thread/499809?ContentTypeID=1</link><pubDate>Mon, 26 Aug 2024 15:05:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aebad781-fc2a-4118-825d-5774aa1b3345</guid><dc:creator>Saxman58</dc:creator><description>&lt;p&gt;Thanks Runar,&lt;/p&gt;
&lt;p&gt;I have run the Wi-Fi Bluetooth coexistence example, but I hadn&amp;#39;t see the Wi-Fi stack documentation.&amp;nbsp; That is very useful.&lt;br /&gt;&lt;br /&gt;To be honest, I have quite a bit of Wi-Fi functionality in the beginnings of our own app, and the Flash usage is still fairly low at 55%.&amp;nbsp; (RAM is higher for buffers for performance).&amp;nbsp; I&amp;#39;d have to spend some time figuring out what is taking up so much memory on the Dev Academy app, but it looks like the command line interface takes a lot more resources than you&amp;#39;d expect.&amp;nbsp; That was one of the first things I stripped out when creating the base of our own app.&lt;/p&gt;
&lt;p&gt;I developed several products with the nRF5 SDK and always had high visibility into where the memory was being used.&amp;nbsp; With Zephyr and the network stack memory usage can jump quite quickly with different features, and it seems harder to figure out&amp;nbsp;which modules used it.&amp;nbsp; Segger Embedded Studio, for example, would list how many bytes were used for code and data, by module.&amp;nbsp; Is there any equivalent to that with the nRF Connect SDK?&amp;nbsp; I found the zephyr.stat file, but that only list the sizes for very high level sections like &amp;quot;text&amp;quot;.&amp;nbsp; Can you point me towards some generated file, or maybe a west command that would provide the level of detail that the SES provides like below?&lt;/p&gt;
&lt;p&gt;Glen&lt;br /&gt;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1724684625074v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wi-Fi Fundamentals Lesson 5, Exercise 3 will not compile with debug options - FLASH overflows</title><link>https://devzone.nordicsemi.com/thread/499729?ContentTypeID=1</link><pubDate>Mon, 26 Aug 2024 11:50:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2cbaf29d-7aac-46dd-820c-1f1e5a4451a7</guid><dc:creator>runsiv</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The samples on Devacademy might not necessary be optimized for flash and RAM usage. If you are developing your own application I would recommend having a look at the &lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/wifi/stack_configuration.html"&gt;Wi-Fi stack documentation&lt;/a&gt;&amp;nbsp;and select the Kconfigs you need depending the application. As you mentioned BLE I would also suggest to have a look at our&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/wifi/ble_coex/README.html"&gt;Wi-Fi: Bluetooth LE coexistence&lt;/a&gt;&amp;nbsp;sample.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The only thing I would note is that the documentation in the link recommends&amp;nbsp;&lt;span&gt;&lt;span dir="ltr"&gt;CONFIG_HEAP_MEM_POOL_SIZE=230000. I would rather try to set it lower at the start.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;Runar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>