<?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>How to designate one ram block exclusively for radio use?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/65054/how-to-designate-one-ram-block-exclusively-for-radio-use</link><description>Hi Devzone: 
 Is there a way to designate one ram block exclusively for radio use? The reason I&amp;#39;d like to know is the following: 
 Under nRF52833 AHB multilayer section, there is one statement: 
 &amp;quot;Some peripherals, such as RADIO, do not have a safe stalling</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 24 Aug 2020 08:48:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/65054/how-to-designate-one-ram-block-exclusively-for-radio-use" /><item><title>RE: How to designate one ram block exclusively for radio use?</title><link>https://devzone.nordicsemi.com/thread/265913?ContentTypeID=1</link><pubDate>Mon, 24 Aug 2020 08:48:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:03193c5d-fbc4-43d8-b192-d3ca30cda9d6</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;First off you have to create a segment in your flash_placement.xml file, such as this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;ProgramSection alignment=&amp;quot;4&amp;quot; keep=&amp;quot;Yes&amp;quot; load=&amp;quot;No&amp;quot; name=&amp;quot;.radio_RAM_section&amp;quot; start=&amp;quot;0x20006000&amp;quot; size=&amp;quot;0x2000&amp;quot; /&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This has to be kept somewhere within the MemorySegment named RAM, starting with this line:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;lt;MemorySegment name=&amp;quot;RAM&amp;quot; start=&amp;quot;$(RAM_PH_START)&amp;quot; size=&amp;quot;$(RAM_PH_SIZE)&amp;quot;&amp;gt;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Then you can put variables into this section by using the __attribute__ keyword, like this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;uint8_t test_buffer[256] __attribute__((section(&amp;quot;.radio_RAM_section&amp;quot;)));&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;You will find the flash_placement.xml file I used myself to test this attached, based on one of the ESB examples in the SDK:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-123c0632e37240c896bc9ca23d9d58c1/flash_5F00_placement.xml"&gt;devzone.nordicsemi.com/.../flash_5F00_placement.xml&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to designate one ram block exclusively for radio use?</title><link>https://devzone.nordicsemi.com/thread/265818?ContentTypeID=1</link><pubDate>Fri, 21 Aug 2020 14:55:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7ff61015-8d64-424f-994d-e4b0d470298b</guid><dc:creator>cpeng</dc:creator><description>&lt;p&gt;Hi Mr.&amp;nbsp;ovrebekk,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;we are using segger. We are troubleshooting a radio reception problem so we want to segregate the RAM for radio even, as you have said, it&amp;#39;s probably not necessary.&lt;/p&gt;
&lt;p&gt;Some code example would be highly appreciated.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to designate one ram block exclusively for radio use?</title><link>https://devzone.nordicsemi.com/thread/265755?ContentTypeID=1</link><pubDate>Fri, 21 Aug 2020 11:50:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9dedcb4d-d4b1-42c5-8bf8-8c7686295d26</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;It is possible to&amp;nbsp;create a dedicated RAM section that covers one of the RAM blocks, so that you can control exactly which variables go into that block of the RAM.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then if you only put the radio buffers into this section you are guaranteed that there won&amp;#39;t be any conflict on the DMA slave.&lt;/p&gt;
&lt;p&gt;Please look &lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52833/memory.html?cp=4_1_0_3_1_0#memory__fig"&gt;here&lt;/a&gt; for an overview of the RAM blocks in the nRF52833.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It shouldn&amp;#39;t really be necessary for the radio, since it doesn&amp;#39;t access the bus very often (the radio is a relatively low bandwidth peripheral), but I can try to find an example if you are interested.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Which compiler/IDE are you using?&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>