<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Wireless MCUのトピックKW36 memory optimization for wireless UART profile</title>
    <link>https://community.nxp.com/t5/Wireless-MCU/KW36-memory-optimization-for-wireless-UART-profile/m-p/919726#M6936</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;Please help us in getting the memory footprint (RAM) details of BLE stack/application used for Wireless UART profile.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;We could see a memory pool defined in app_preinclude.h file, memory pool sizes are different for application to application. We need exact memory usage considering in worst case scenarios.&lt;/SPAN&gt;&lt;BR style="color: #000000; background-color: #ffffff;" /&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;Is defined memory pool block sizes in app_preinclude.h file is optimized values or can be customized based on the application needs? if yes, can you please provide us the details.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;Naven Suresh&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 29 Jun 2019 19:22:30 GMT</pubDate>
    <dc:creator>nsuresh2</dc:creator>
    <dc:date>2019-06-29T19:22:30Z</dc:date>
    <item>
      <title>KW36 memory optimization for wireless UART profile</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW36-memory-optimization-for-wireless-UART-profile/m-p/919726#M6936</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;Please help us in getting the memory footprint (RAM) details of BLE stack/application used for Wireless UART profile.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;We could see a memory pool defined in app_preinclude.h file, memory pool sizes are different for application to application. We need exact memory usage considering in worst case scenarios.&lt;/SPAN&gt;&lt;BR style="color: #000000; background-color: #ffffff;" /&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;Is defined memory pool block sizes in app_preinclude.h file is optimized values or can be customized based on the application needs? if yes, can you please provide us the details.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;Naven Suresh&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 29 Jun 2019 19:22:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW36-memory-optimization-for-wireless-UART-profile/m-p/919726#M6936</guid>
      <dc:creator>nsuresh2</dc:creator>
      <dc:date>2019-06-29T19:22:30Z</dc:date>
    </item>
    <item>
      <title>Re: KW36 memory optimization for wireless UART profile</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW36-memory-optimization-for-wireless-UART-profile/m-p/919727#M6937</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;P&gt;Hi Naven, I hope you're doing well!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The minimum requirements to run the UART profile for the KW36Z can be found in the KW36's Bluetooth Low Energy Release Notes (included in the SDK documentation folder, on the following path: &amp;lt;\SDK_2.2.0_FRDM-KW36\docs\wireless\Bluetooth&amp;gt;).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The requirements are located in the following tables, depending on which IDE you'll develop with:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/90144i8ACC2E29F1F8E4AC/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The cells surrounded by the red square represent the minimum memory (RAM) requirements for each of the components, the rest is free for application development.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note: These calculations exclude application code, as that may change depending on development.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please let me know if you have any further questions.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Sebastian&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2019 14:57:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW36-memory-optimization-for-wireless-UART-profile/m-p/919727#M6937</guid>
      <dc:creator>Sebastian_Del_Rio</dc:creator>
      <dc:date>2019-07-02T14:57:25Z</dc:date>
    </item>
    <item>
      <title>Re: KW36 memory optimization for wireless UART profile</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW36-memory-optimization-for-wireless-UART-profile/m-p/919728#M6938</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/nsuresh2@visteon.com"&gt;nsuresh2@visteon.com&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;The use of the memory pool is dynamically allocated. Depending on the usage scenario, the allocation is not the same. You can check the distribution by using the debug interface.&lt;/P&gt;&lt;P&gt;See the 3.3.6 Memory manager debug support section of the ‘Connectivity Framework Reference Manual.pdf’ for details.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Jul 2019 05:58:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW36-memory-optimization-for-wireless-UART-profile/m-p/919728#M6938</guid>
      <dc:creator>xing_chang</dc:creator>
      <dc:date>2019-07-29T05:58:57Z</dc:date>
    </item>
    <item>
      <title>Re: KW36 memory optimization for wireless UART profile</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW36-memory-optimization-for-wireless-UART-profile/m-p/919729#M6939</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/XingChang"&gt;XingChang&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your response.&lt;/P&gt;&lt;P&gt;For Wireless_UART example application, in app_preinclude.h file the memory pool is defined as given below&lt;/P&gt;&lt;P&gt;/* Defines pools by block size and number of blocks. Must be aligned to 4 bytes.*/&lt;BR /&gt;#define AppPoolsDetails_c \&lt;BR /&gt;_block_size_ 32 _number_of_blocks_ 30 _eol_ \&lt;BR /&gt;_block_size_ 64 _number_of_blocks_ 5 _eol_ \&lt;BR /&gt;_block_size_ 128 _number_of_blocks_ 5 _eol_ \&lt;BR /&gt;_block_size_ 268 _number_of_blocks_ 25 _eol_ \&lt;BR /&gt;_block_size_ 512 _number_of_blocks_ 2 _eol_&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;When we look into applications this configuration is different for each example project. &lt;BR /&gt;For our Application, Wireless_UART profile with a maximum data payload of 247 with headers to be supported, for this we need a minimum required pool definition. &lt;BR /&gt;For one of our project, we are using this micro where we are running out of memory. We need to support other functionalities. &lt;BR /&gt;Seems to be most of the memory out of 64KB RAM is used for this pool. Can this be optimized? If yes, how much maximum we can optimize this memory pool to satisfy our requirement.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Naven Suresh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Jul 2019 07:08:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW36-memory-optimization-for-wireless-UART-profile/m-p/919729#M6939</guid>
      <dc:creator>nsuresh2</dc:creator>
      <dc:date>2019-07-29T07:08:20Z</dc:date>
    </item>
    <item>
      <title>Re: KW36 memory optimization for wireless UART profile</title>
      <link>https://community.nxp.com/t5/Wireless-MCU/KW36-memory-optimization-for-wireless-UART-profile/m-p/919730#M6940</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Naven，&lt;/P&gt;&lt;P&gt;You can enable the macro definition MEM_STATISTICS so that you can adjust the memory pool allocation based on real needs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Adjusting memory pools configuration&lt;BR /&gt;It is a good advice to over-estimate the initial memory pool configuration, and then enable the memory manager debug macros fine tune the number of buffers and their size at run time.&lt;BR /&gt;For example, if after the initial memory configuration, the system halts in panic because it ran out of memory, then the number of buffer for the memory pool appropriate for the requested size should be increased.&lt;BR /&gt;After the application runs correctly, the memory statistics can be used to further adjust the memory pools.&lt;BR /&gt;The allocatedBlocksPeak indicator can be analyzed for every pool and adjust the number of buffers so that: numBlocks – allocatedBlocksPeak &amp;lt;= 1. It is usually a good practice to leave a buffer for unpredicted situations.&lt;BR /&gt;The pool fragment waste indicators can be used to decrease the size of the buffers from a pool. The scope is to reduce the overall memory waste. Usually, the minimum waste should reach 0. The new size must be a multiple of 4 bytes.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jul 2019 01:21:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Wireless-MCU/KW36-memory-optimization-for-wireless-UART-profile/m-p/919730#M6940</guid>
      <dc:creator>xing_chang</dc:creator>
      <dc:date>2019-07-30T01:21:54Z</dc:date>
    </item>
  </channel>
</rss>

