<?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>i.MX ProcessorsのトピックRe: VPU memory description structure from vpu_io.h</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/VPU-memory-description-structure-from-vpu-io-h/m-p/417481#M62800</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;you are right, in application one should use virtual address&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;~igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 03 Sep 2015 15:15:56 GMT</pubDate>
    <dc:creator>igorpadykov</dc:creator>
    <dc:date>2015-09-03T15:15:56Z</dc:date>
    <item>
      <title>VPU memory description structure from vpu_io.h</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/VPU-memory-description-structure-from-vpu-io-h/m-p/417478#M62797</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using i.MX6 VPU for some video processing applications running under Linux.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is an extract from &lt;EM&gt;vpu_io.h :&lt;/EM&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="_jivemacro_uid_14411233067132825 jive_macro_code jive_text_macro" data-renderedposition="113_8_1232_96" jivemacro_uid="_14411233067132825" modifiedtitle="true"&gt;&lt;P&gt;typedef struct vpu_mem_desc {&lt;/P&gt;&lt;P&gt;&amp;nbsp; int size; /*!requested memory size */&lt;/P&gt;&lt;P&gt;&amp;nbsp; unsigned long phy_addr; /*!physical memory address allocated */&lt;/P&gt;&lt;P&gt;&amp;nbsp; unsigned long cpu_addr; /*!cpu addr for system free usage */&lt;/P&gt;&lt;P&gt;&amp;nbsp; unsigned long virt_uaddr; /*!virtual user space address */&lt;/P&gt;&lt;P&gt;} vpu_mem_desc;&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to know what exactly is &lt;EM&gt;&lt;STRONG&gt;cpu_addr&lt;/STRONG&gt;&lt;/EM&gt;, when and by whom it is used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where should i localize it in the management system described here: &lt;A href="http://infocenter.arm.com/help/topic/com.arm.doc.dui0056d/ch07s05s01.html" rel="nofollow noopener noreferrer" title="http://infocenter.arm.com/help/topic/com.arm.doc.dui0056d/ch07s05s01.html" target="_blank"&gt;ARM® Developer Suite Developer Guide 7.5.1. Virtual to physical address mapping&lt;/A&gt; (Are &lt;EM&gt;phy_addr&lt;/EM&gt; and &lt;EM&gt;virt_uaddr&lt;/EM&gt; corresponding to virtual memory and physical memory addresses this document is referring to?)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is &lt;EM&gt;cpu_addr&lt;/EM&gt; would be used in a bare metal system, with no OS?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope my question is clear enough...&lt;/P&gt;&lt;P&gt;Alex&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Sep 2015 16:25:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/VPU-memory-description-structure-from-vpu-io-h/m-p/417478#M62797</guid>
      <dc:creator>thalex</dc:creator>
      <dc:date>2015-09-01T16:25:22Z</dc:date>
    </item>
    <item>
      <title>Re: VPU memory description structure from vpu_io.h</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/VPU-memory-description-structure-from-vpu-io-h/m-p/417479#M62798</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Alex&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vpu example with no OS one can find in SDK, it also has vpu_io.h:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;phy_addr;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;/*!physical memory address allocated */&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;virt_addr;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;/*!virtual user space address */&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cpu_addr is not used&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Software Development Kits (3)&lt;/P&gt;&lt;P&gt;i.MX 6Series Platform SDK (REV 1.1)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=RDIMX6SABREBRD&amp;amp;fpsp=1&amp;amp;tab=Design_Tools_Tab" rel="nofollow"&gt;SABRE Board Reference Design|Freescale&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;igor&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Sep 2015 01:51:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/VPU-memory-description-structure-from-vpu-io-h/m-p/417479#M62798</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2015-09-02T01:51:49Z</dc:date>
    </item>
    <item>
      <title>Re: VPU memory description structure from vpu_io.h</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/VPU-memory-description-structure-from-vpu-io-h/m-p/417480#M62799</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for this answer. I'm not planning to use my system with no OS and just wanted to understand what exactly this address is doing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, if I get it right, &lt;EM&gt;cpu_addr&lt;/EM&gt; is only used by the OS and included in &lt;EM&gt;vpu_io.h&lt;/EM&gt; for some rare case since we shouldn't deal with the Operating System memory management. On the other hand, (in a lower level,) there is the ARM Memory Management Unit (MMU) that handle the virtual to physical address mapping with &lt;EM&gt;phy_addr&lt;/EM&gt; and &lt;EM&gt;virt_uaddr &lt;/EM&gt;(equivalent to &lt;EM&gt;&lt;EM&gt;phy_addr&lt;/EM&gt;&lt;/EM&gt; and &lt;EM&gt;&lt;EM&gt;virt_addr&lt;/EM&gt;&lt;/EM&gt; when no OS are involved)? The proper way for the &lt;STRONG&gt;u&lt;/STRONG&gt;ser would be to only use the virtual address (&lt;SPAN lang="en"&gt;whence &lt;EM&gt;virt_addr&lt;/EM&gt; -&amp;gt; &lt;EM&gt;virt_&lt;STRONG&gt;u&lt;/STRONG&gt;addr)?&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Sep 2015 14:04:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/VPU-memory-description-structure-from-vpu-io-h/m-p/417480#M62799</guid>
      <dc:creator>thalex</dc:creator>
      <dc:date>2015-09-03T14:04:04Z</dc:date>
    </item>
    <item>
      <title>Re: VPU memory description structure from vpu_io.h</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/VPU-memory-description-structure-from-vpu-io-h/m-p/417481#M62800</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;you are right, in application one should use virtual address&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;~igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Sep 2015 15:15:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/VPU-memory-description-structure-from-vpu-io-h/m-p/417481#M62800</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2015-09-03T15:15:56Z</dc:date>
    </item>
  </channel>
</rss>

