<?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>topic Re: i.MX SDMA: RAM usage for storing channel contexts in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX-SDMA-RAM-usage-for-storing-channel-contexts/m-p/736339#M114592</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Igor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for responding to my question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So if CONTEXT_BASE is an address in the &lt;STRONG&gt;Data Memory Space&lt;/STRONG&gt;, this means that the contexts are stored at the beginning (&lt;STRONG&gt;first half&lt;/STRONG&gt;) of the RAM. So user scripts and their data must use the &lt;STRONG&gt;2nd half&lt;/STRONG&gt; of the RAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The image &lt;EM&gt;sdma-imx6q.bin&lt;/EM&gt; from &lt;EM&gt;linux-firmware.git&lt;/EM&gt; contains 2004 (0x7d4 at offset 0x1C in the image) bytes RAM code which is copied to address 0x1800 (at offset 0xA4 in the image). 0x1800 doesn't look like a RAM address in &lt;STRONG&gt;Data Memory Space&lt;/STRONG&gt; but in &lt;STRONG&gt;Instruction Memory Space&lt;/STRONG&gt; this starting at the &lt;STRONG&gt;2nd half&lt;/STRONG&gt; of the the RAM which makes sense.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Figure 43-18 on page 2745 confirms that ("Conte&lt;STRONG&gt;n&lt;/STRONG&gt;t Area" seems to be misspelled, &lt;STRONG&gt;Program Memory&lt;/STRONG&gt; seems to be used synonymous for &lt;STRONG&gt;Instruction Memory&lt;/STRONG&gt;).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Prior starting my first SDMA project I would like to know how much memory is available for my own code. So currently about 2 kB seems to be available.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;How can I determine whether any SDMA RAM is used for DATA by the NXP ROM/RAM scripts?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Christian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 31 May 2018 16:45:27 GMT</pubDate>
    <dc:creator>ceggers1</dc:creator>
    <dc:date>2018-05-31T16:45:27Z</dc:date>
    <item>
      <title>i.MX SDMA: RAM usage for storing channel contexts</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX-SDMA-RAM-usage-for-storing-channel-contexts/m-p/736337#M114590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i.MX6UL reference manual, Table 43-14. SDMA Data Memory Space shows&lt;STRONG&gt;:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;RAM 0x0800 → 0x0FFF 8 Kbyte 8 Kbyte internal RAM with channels contexts and user data/routines&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It look like the channel contexts require 32 channels x 32 words / channel x 4 byte / word = 4096 bytes of memory.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;43.4.9.4 Context Switching-Programming&lt;/P&gt;&lt;P&gt;CONTEXT_BASE equals 0x0800&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At which location inside the internal RAM are the contexts stored? Is CONTEXT_BASE the address on the data bus or the offset from the start of the RAM? Is CONTEXT_BASE a byte address (2048 bytes from start of RAM) or word address (8192 bytes from start of RAM)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How much RAM is available for user scripts? Is any RAM in use by the NXP scripts for storing data (not code)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Christian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 May 2018 16:11:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX-SDMA-RAM-usage-for-storing-channel-contexts/m-p/736337#M114590</guid>
      <dc:creator>ceggers</dc:creator>
      <dc:date>2018-05-30T16:11:42Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX SDMA: RAM usage for storing channel contexts</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX-SDMA-RAM-usage-for-storing-channel-contexts/m-p/736338#M114591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Christian&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"CONTEXT_BASE equals 0x0800"&lt;/P&gt;&lt;P&gt;is ram address described in Table 43-14. SDMA Data Memory Space,&lt;/P&gt;&lt;P&gt;note sdma is separate starcore dsp processor with own memory map. This map&lt;/P&gt;&lt;P&gt;is not accessible from i.MX6UL side and not used in applications.&lt;/P&gt;&lt;P&gt;May be useful to look at overview of sdma usage on&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://billauer.co.il/blog/2011/10/imx-sdma-howto-memory-map/" title="http://billauer.co.il/blog/2011/10/imx-sdma-howto-memory-map/"&gt;Freescale i.MX SDMA tutorial (part I)&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 May 2018 11:24:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX-SDMA-RAM-usage-for-storing-channel-contexts/m-p/736338#M114591</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2018-05-31T11:24:21Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX SDMA: RAM usage for storing channel contexts</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX-SDMA-RAM-usage-for-storing-channel-contexts/m-p/736339#M114592</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Igor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for responding to my question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So if CONTEXT_BASE is an address in the &lt;STRONG&gt;Data Memory Space&lt;/STRONG&gt;, this means that the contexts are stored at the beginning (&lt;STRONG&gt;first half&lt;/STRONG&gt;) of the RAM. So user scripts and their data must use the &lt;STRONG&gt;2nd half&lt;/STRONG&gt; of the RAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The image &lt;EM&gt;sdma-imx6q.bin&lt;/EM&gt; from &lt;EM&gt;linux-firmware.git&lt;/EM&gt; contains 2004 (0x7d4 at offset 0x1C in the image) bytes RAM code which is copied to address 0x1800 (at offset 0xA4 in the image). 0x1800 doesn't look like a RAM address in &lt;STRONG&gt;Data Memory Space&lt;/STRONG&gt; but in &lt;STRONG&gt;Instruction Memory Space&lt;/STRONG&gt; this starting at the &lt;STRONG&gt;2nd half&lt;/STRONG&gt; of the the RAM which makes sense.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Figure 43-18 on page 2745 confirms that ("Conte&lt;STRONG&gt;n&lt;/STRONG&gt;t Area" seems to be misspelled, &lt;STRONG&gt;Program Memory&lt;/STRONG&gt; seems to be used synonymous for &lt;STRONG&gt;Instruction Memory&lt;/STRONG&gt;).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Prior starting my first SDMA project I would like to know how much memory is available for my own code. So currently about 2 kB seems to be available.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;How can I determine whether any SDMA RAM is used for DATA by the NXP ROM/RAM scripts?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Christian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 May 2018 16:45:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX-SDMA-RAM-usage-for-storing-channel-contexts/m-p/736339#M114592</guid>
      <dc:creator>ceggers1</dc:creator>
      <dc:date>2018-05-31T16:45:27Z</dc:date>
    </item>
  </channel>
</rss>

