<?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: MPU FreeRTOS</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/MPU-FreeRTOS/m-p/648957#M99245</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Imanol,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please take a look to the following posts, you will find them useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/441938"&gt;How does M4 and A9 on i.mx6sx access DDR&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/447422"&gt;MCC for FreeRTOS&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-333803"&gt;Running RPMsg Demo Applications for Multicore Communication with IMX6SX and IMX7D&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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, 27 Apr 2017 21:05:04 GMT</pubDate>
    <dc:creator>Carlos_Musich</dc:creator>
    <dc:date>2017-04-27T21:05:04Z</dc:date>
    <item>
      <title>MPU FreeRTOS</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MPU-FreeRTOS/m-p/648956#M99244</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using the i.MX 6SoloX board with a Linux image in the Cortex-A9 and FreeRTOS in Cortex-M4. I am trying to use the OCRAM as shared memory between both cores.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If we look to the memory maps tables, it can be seen that the A9 is&amp;nbsp; 0x90000-0x91FFFF and M4 is&amp;nbsp; 20900000-2091FFFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In Linux dtb I have set the following shared memory:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fsl,shared-mem-addr = &amp;lt;0x91F000&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;fsl,shared-mem-size = &amp;lt;0x1000&amp;gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Therefore, in FreeRTOS I want to read the following memory range and I set the permission in the RDC. (hardware_init.c)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t start, end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;start = 0x20910000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;end = 0x2091FFFF;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RDC_SetMrAccess(RDC, rdcMrOcram, start, end, 0xFF, true, false);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If a I write something in the RAM memory, the only way I have get to read it through the Cortex-M4 is disabling the Cache memory in system_MCIMX6X_M4.c.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LMEM_PSCCR = (LMEM_PSCCR_ENWRBUF_MASK &lt;EM&gt;/*| LMEM_PSCCR_ENCACHE_MASK*/&lt;/EM&gt;);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, I only want to disable it for the OCRAM, not for the whole system. I tried with the MPU but I do not get the desired result. I program it in region 1 with the following features (TEX 000 / C 1 / B 0 / S 1 / AP 011 / 64KB). &lt;/P&gt;&lt;P&gt;Why I do not get to read the data if I disable the cache for it? Do I disable it correctly?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/14794i8BD6F300B7F591A9/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* M4 core clock root configuration. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Initialize MPU */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Make sure outstanding transfers are done. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __DMB();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Disable the MPU. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;CTRL = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Select Region 0 to configure DDR memory(1MB). */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RNR&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RBAR = 0x80000000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RASR = 0x030B0027;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Select Region 1 to configure share memory with A9(1M). */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RNR&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RBAR = 0x20910000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RASR = 0x306001F;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Select Region 2 to configure ocram. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RNR&amp;nbsp; = 2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RBAR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RASR = 0;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Select Region 3 to configure QSPI memory. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RNR&amp;nbsp; = 3;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RBAR = 0x60000000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RASR = 0x030B0029;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Disable unused regions. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RNR&amp;nbsp; = 4;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RBAR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RASR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RNR&amp;nbsp; = 5;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RBAR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RASR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RNR&amp;nbsp; = 6;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RBAR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RASR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RNR&amp;nbsp; = 7;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RBAR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;RASR = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable Privileged default memory map and the MPU. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU-&amp;gt;CTRL = MPU_CTRL_ENABLE_Msk |&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPU_CTRL_PRIVDEFENA_Msk;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Memory barriers to ensure subsequence data &amp;amp; instruction&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * transfers using updated MPU settings.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __DSB();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __ISB()&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Apr 2017 10:22:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MPU-FreeRTOS/m-p/648956#M99244</guid>
      <dc:creator>imanolallende</dc:creator>
      <dc:date>2017-04-27T10:22:33Z</dc:date>
    </item>
    <item>
      <title>Re: MPU FreeRTOS</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MPU-FreeRTOS/m-p/648957#M99245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Imanol,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please take a look to the following posts, you will find them useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/441938"&gt;How does M4 and A9 on i.mx6sx access DDR&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/447422"&gt;MCC for FreeRTOS&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-333803"&gt;Running RPMsg Demo Applications for Multicore Communication with IMX6SX and IMX7D&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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, 27 Apr 2017 21:05:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MPU-FreeRTOS/m-p/648957#M99245</guid>
      <dc:creator>Carlos_Musich</dc:creator>
      <dc:date>2017-04-27T21:05:04Z</dc:date>
    </item>
    <item>
      <title>Re: MPU FreeRTOS</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MPU-FreeRTOS/m-p/648958#M99246</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Still not working. Does anyone know how to do it?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 May 2017 07:54:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MPU-FreeRTOS/m-p/648958#M99246</guid>
      <dc:creator>imanolallende</dc:creator>
      <dc:date>2017-05-02T07:54:38Z</dc:date>
    </item>
  </channel>
</rss>

