<?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: AIPS &amp; MPU in MPC5777C in MPC5xxx</title>
    <link>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803079#M11793</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I was asking that question to try to understand who between Core MMU, MPU and AIPS was generating the access fault.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just trying to summarize: both APP_0 and APP_1 are running on core 0. Also, between APP_0 and APP_1 execution, you are not changing any of the following: core0 MMU configuration, MPU0+1 configuration, AIPS/PBRIDGE configuration. Right?&lt;/P&gt;&lt;P&gt;Your goal is that APP_1 be able to read/write to STM registers (which are inside PBRIDGE_B memory map). Right?&lt;/P&gt;&lt;P&gt;You are able to read/write to those STM registers in APP_0, right?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- If so, I don't understand why you call APP_0 "trusted" and APP_1 "untrusted" since there the "trust" concept only exists in AIPS and there is no register defined in AIPS to differentiate when APP_0 or APP_1 is running.&lt;/P&gt;&lt;P&gt;- By the way, are you changing the value of the PID0 core register (SPR 48) when switching between APP_0 and APP_1? That's the register used to tell the MPU which PID is running.&lt;/P&gt;&lt;P&gt;- Is APP_0 running in User or Supervisor mode?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't quite understand: if you want APP_1 to be able to access STM registers, the Core MMU, MPU1 and AIPS will need to allow User mode access. So you'll need entries in MPU1 for that. You'll need, while APP_1 is running:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Peripheral Bridge B Registers */&lt;BR /&gt;MPU1.RGD[0].WORD0.R = 0xFFE00000; /* Start address */&lt;BR /&gt;MPU1.RGD[0].WORD1.R = 0xFFFFFFFF; /* End address */&lt;BR /&gt;MPU1.RGD[0].WORD2.R = 0x&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;00&lt;/SPAN&gt;0000&lt;STRONG&gt;1F&lt;/STRONG&gt;; /* Read-write-execute allowed for all master */&lt;BR /&gt;MPU1.RGD[0].WORD3.R = 0x&lt;STRONG&gt;00&lt;/STRONG&gt;000001; /* Mark descriptor as valid */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;AIPS0_MPRA = 0x70000000;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;AIPS0_MPRB = 0x00000000;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;AIPS0_PACRA =0x&lt;STRONG&gt;00000000&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;AIPS0_PACRB =0x&lt;STRONG&gt;00000000&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think your problem was that MPU1[0] was only giving STM access to PID=0xFF (APP_0). You have to disable PID-check for that MPU region.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 30 Jul 2018 19:19:32 GMT</pubDate>
    <dc:creator>EAlepins</dc:creator>
    <dc:date>2018-07-30T19:19:32Z</dc:date>
    <item>
      <title>AIPS &amp; MPU in MPC5777C</title>
      <link>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803069#M11783</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;Hi All,&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;I have two application APP_0(TRUSTED) and APP_1(NON_TRUSTED).&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;I have configured APP_0 as trusted application and given access to all memory area.&lt;BR /&gt;and configure memory block as given manner:&lt;BR /&gt;/* Internal RAM&amp;nbsp;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;(&lt;/SPAN&gt;XBAR Slave Port 2 (192KB)&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;)&lt;/SPAN&gt;*/&lt;BR /&gt;MPU&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;0&lt;/SPAN&gt;.RGD[0].WORD0.R = 0x40010000; /* Start address */&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU0.RGD[0].&lt;/SPAN&gt;WORD1.R = 0x4003FFFF; /* End address */&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU0.RGD[0].&lt;/SPAN&gt;WORD2.R = 0x&lt;SPAN&gt;00&lt;/SPAN&gt;&lt;SPAN&gt;00&lt;/SPAN&gt;003F; /* Read-write-execute allowed for all master */&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU0.RGD[0].&lt;/SPAN&gt;WORD3.R = 0xFF000001; /* Mark descriptor as valid */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Peripheral Bridge A Registers */&lt;BR /&gt;MPU0.RGD[1].WORD0.R = 0xC3E00000; /* Start address */&lt;BR /&gt;MPU&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;0&lt;/SPAN&gt;.RGD[1].WORD1.R = 0xFFDFFFFF; /* End address */&lt;BR /&gt;MPU&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;0&lt;/SPAN&gt;.RGD[1].WORD2.R = 0x&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;00&lt;/SPAN&gt;00003F; /* Read-write-execute allowed for all master */&lt;BR /&gt;MPU&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;0&lt;/SPAN&gt;.RGD[1].WORD3.R = 0xFF000001; /* Mark descriptor as valid */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Peripheral Bridge B Registers */&lt;BR /&gt;MPU1.RGD[0].WORD0.R = 0xFFE00000; /* Start address */&lt;BR /&gt;MPU1.RGD[0].WORD1.R = 0xFFFFFFFF; /* End address */&lt;BR /&gt;MPU1.RGD[0].WORD2.R = 0x&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;00&lt;/SPAN&gt;00003F; /* Read-write-execute allowed for all master */&lt;BR /&gt;MPU1.RGD[0].WORD3.R = 0xFF000001; /* Mark descriptor as valid */&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;/* For STACK&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;(XBAR Slave Port 4 (256 KB)&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;)&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU1&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;.RGD[1].WORD0.R = 0x40010000; /* Start address */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU1.RGD[1].&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;WORD1.R = 0x4003FFFF; /* End address */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU1.RGD[1].&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;WORD2.R = 0x&lt;SPAN style="background-color: #ffffff;"&gt;00&lt;/SPAN&gt;00003F; /* Read-write-execute allowed for all master */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU1.RGD[1].&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;WORD3.R = 0xFF000001; /* Mark descriptor as valid */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU1&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;.CESR.B.VLD = 1; /* Enable MPU1 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;MPU&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;0&lt;/SPAN&gt;.CESR.B.VLD = 1; /* Enable MPU&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;*/&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;BR /&gt;But, to APP_1(NON_TRUSTED), i have given access of few area of RAM-&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;/* Internal RAM of&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;XBAR Slave Port 2&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;.RGD[2].WORD0.R = 0x40010&lt;SPAN style="border: 0px; font-weight: bold; padding: 0px;"&gt;&lt;STRONG&gt;200&lt;/STRONG&gt;&lt;/SPAN&gt;; /* Start address */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU0.RGD[2].&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;WORD1.R = 0x40010&lt;SPAN style="border: 0px; font-weight: bold; padding: 0px;"&gt;&lt;STRONG&gt;300&lt;/STRONG&gt;&lt;/SPAN&gt;; /* End address */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU0.RGD[2].&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;WORD2.R = 0x&lt;SPAN style="background-color: #ffffff;"&gt;00&lt;/SPAN&gt;00003F; /* Read-write-execute allowed for all master */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU0.RGD[2].&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;WORD3.R = 0x&lt;SPAN style="border: 0px; font-weight: bold; padding: 0px;"&gt;&lt;STRONG&gt;01&lt;/STRONG&gt;&lt;/SPAN&gt;000001; /* Mark descriptor as valid */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;and&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;/* For STACK of&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;(XBAR Slave Port 4&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="border: 0px; padding: 0px; font-weight: inherit;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU1&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;.RGD[2].WORD0.R = 0x40010&lt;SPAN style="border: 0px; font-weight: bold; padding: 0px;"&gt;&lt;STRONG&gt;400&lt;/STRONG&gt;&lt;/SPAN&gt;; /* Start address */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU1.RGD[2].&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;WORD1.R = 0x40000&lt;SPAN style="border: 0px; font-weight: bold; padding: 0px;"&gt;&lt;STRONG&gt;FFF&lt;/STRONG&gt;&lt;/SPAN&gt;; /* End address */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU1.RGD[2].&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;WORD2.R = 0x&lt;SPAN style="background-color: #ffffff;"&gt;00&lt;/SPAN&gt;00003F; /* Read-write-execute allowed for all master */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU1.RGD[2].&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;WORD3.R = 0x&lt;SPAN style="border: 0px; font-weight: bold; padding: 0px;"&gt;&lt;STRONG&gt;01&lt;/STRONG&gt;&lt;/SPAN&gt;000001; /* Mark descriptor as valid */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;And no memory block configured for Peripheral area.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;But, when APP_1 runs, i want to provide access of Peripheral area, with the help of AIPS.&lt;BR /&gt;If this application(&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;APP_1&amp;nbsp;&lt;/SPAN&gt;) having variable (PHERIPHEARL ACCESS = TURE)&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;and i want to provide access, with the help of&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: bold; padding: 0px;"&gt;&lt;STRONG&gt;AIPS&lt;/STRONG&gt;&lt;/SPAN&gt;, what i have configured below:&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;AIPS0_MPRA = 0x70000000;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;AIPS0_MPRB = 0x00000000;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;AIPS0_PACRA =0x44444444;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;AIPS0_PACRB =0x44000444;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;(so for&amp;nbsp;&lt;SPAN style="border: 0px; font-weight: bold; padding: 0px;"&gt;&lt;STRONG&gt;APP_1,&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;i want allow access from&amp;nbsp;Peripheral&amp;nbsp; XBAR to&amp;nbsp;STM_A only&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; padding: 0px; font-weight: inherit;"&gt;but i am getting memory fault when accessing any&amp;nbsp;from&amp;nbsp; XBAR to&amp;nbsp;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;STM_A&lt;/SPAN&gt;&amp;nbsp;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; padding: 0px; font-weight: inherit;"&gt;could you please help me .&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; padding: 0px; font-weight: inherit;"&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Jul 2018 09:54:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803069#M11783</guid>
      <dc:creator>yashkumar</dc:creator>
      <dc:date>2018-07-11T09:54:52Z</dc:date>
    </item>
    <item>
      <title>Re: AIPS &amp; MPU in MPC5777C</title>
      <link>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803070#M11784</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not answering directly your question, but:&lt;/P&gt;&lt;P&gt;- On &lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;MPU&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;.RGD[0], I don't see the point of setting WORD3.PID and PIDMASK fields because they will be ignored since all your MPU&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;.RGD[0]&lt;/SPAN&gt;.WORD2.MxPE fields are zero... Same issue for your other MPU regions.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;- MPU1&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;.RGD[0] is wrong since it tries to cover the first half the RAM. MPU0 controls the first half; MPU1 controls the second.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="border: 0px; padding: 0px; font-weight: inherit;"&gt;- Does your core MMU (not the MPU) allow accesses to the XBAR registers and STM_A registers?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="border: 0px; padding: 0px; font-weight: inherit;"&gt;- Is APP_1 running in Supervisor mode?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="border: 0px; padding: 0px; font-weight: inherit;"&gt;Étienne&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2018 20:31:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803070#M11784</guid>
      <dc:creator>EAlepins</dc:creator>
      <dc:date>2018-07-16T20:31:33Z</dc:date>
    </item>
    <item>
      <title>Re: AIPS &amp; MPU in MPC5777C</title>
      <link>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803071#M11785</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Etienne,&lt;BR /&gt;Thanks for your response.&lt;BR /&gt;I have ordered the RGD[x](region numbers).&lt;/P&gt;&lt;P&gt;1&lt;STRONG&gt;.&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;On&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;MPU&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;.RGD[0], I don't see the point of setting WORD3..................Same issue for your other MPU regions&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;BR /&gt;* In every Block Configuration i have set the PID( 0xFF for Trusted Application and 0x01 for non trusted application) in WORD3.PID.&lt;BR /&gt;* Yes, i did not set PIDMASK, what is role of PIDMASK bits.&lt;BR /&gt;* For WORD2.MxPE, As i am using only CORE0 as master, i have set the &lt;BR /&gt; M0PE bit as it is (0x3F).I am sorry for, there was typing misktake for WORD2 in each memory block configuration, i have modified that.&lt;BR /&gt;&lt;STRONG&gt;2.&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&amp;nbsp;MPU1&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;.RGD[0] is wrong since it tries to cover the first half the RAM. .....................controls the second.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;BR /&gt;* I have mapped SRAM(XBAR Slave Port2,192 KB) for data(R/W) in linker file.&lt;BR /&gt;* I am not using Standby RAM(64KB).&lt;BR /&gt;* I have mapped SRAM( XBAR Slave Port 4,256 KB) for complete stack area.&lt;BR /&gt; Is i am doing any thing wrong, please guide.&lt;BR /&gt;&lt;STRONG&gt;3.Does your core MMU (not the MPU) allow accesses to the XBAR registers and STM_A registers?&lt;/STRONG&gt;&lt;BR /&gt;* Does we need to change any control registor in MMU.&lt;BR /&gt; Which register, and how to do that.&lt;BR /&gt; I am new for this , please guide me.&lt;BR /&gt;&lt;STRONG&gt;4.&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Is APP_1 running in Supervisor mode?&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;*&amp;nbsp;&lt;/SPAN&gt;No, APP_1 is running in USER mode.(PS bit in MSR is 1).&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Please give your feedback.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Dspic&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2018 15:11:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803071#M11785</guid>
      <dc:creator>yashkumar</dc:creator>
      <dc:date>2018-07-17T15:11:09Z</dc:date>
    </item>
    <item>
      <title>Re: AIPS &amp; MPU in MPC5777C</title>
      <link>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803072#M11786</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;2. Regions in MPU0 can only control access to the first 256K of RAM (and MPU1 controls the second half). So to control access to region &lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt; 0x40010000 to &lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;0x4003FFFF, you should use an MPU0 region, not an MPU1 region.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;3. By default (if you have not changed the core MMU configuration), the BAM's configuration will be active. See the BAM chapter in the RM. It also depends on your boot mode. It is possible the default config allows you to access.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;4. Then that might be the problem since in the AIPS_PACRn registers, you have set all SPx bits to 1, meaning only Supervisor accesses are allowed. You need to put this bit to 0 for each slave to allow User accesses to them.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;Étienne&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2018 16:00:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803072#M11786</guid>
      <dc:creator>EAlepins</dc:creator>
      <dc:date>2018-07-17T16:00:29Z</dc:date>
    </item>
    <item>
      <title>Re: AIPS &amp; MPU in MPC5777C</title>
      <link>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803073#M11787</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Etienne,&lt;BR /&gt;1.Yes i need to correct that,this was due to copy/paste,that would be:&lt;BR /&gt;/* For STACK of (XBAR Slave Port 4 )*/&lt;BR /&gt;MPU1.RGD[2].WORD0.R = 0x40040400; /* Start address */&lt;BR /&gt;MPU1.RGD[2].WORD1.R = 0x40040FFF; /* End address */&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;2.Yes, i will read the BAM chapter.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;3.yes, i had tried this way as well, i means to say:&lt;BR /&gt; AIPS0_MPRA = 0x70000000;&lt;BR /&gt; AIPS0_MPRB = 0x&lt;STRONG&gt;5&lt;/STRONG&gt;0000000;&lt;BR /&gt; AIPS0_PACRA =0x00000000;&lt;BR /&gt; AIPS0_PACRB =0x00000000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;(&lt;STRONG&gt;PACR[0] =5:&amp;nbsp;&lt;/STRONG&gt;due to just modifying AIPS_0&amp;nbsp;&lt;SPAN style="font-weight: 400;"&gt;in&amp;nbsp;supervisor mode, and not accessible&amp;nbsp;&lt;SPAN&gt;AIPS_0&amp;nbsp; registers&amp;nbsp;&lt;/SPAN&gt;in user mode )&lt;/SPAN&gt;&lt;BR /&gt; But, still i was getting memory fault during access the STM register.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My main concern is here that, if i have covered the Peripheral Bridge A &amp;amp; B with MPU0.RGD[1] and MPU1.RGD[1]repectively with PID 0xFF, which is for supervisor access during running of TRUSTED Application.&lt;/P&gt;&lt;P&gt;Does i can allow the Peripheral Register by using AIPS0 and AIPS1, for NON-TRUSTED Applications which has PID 0x01.&lt;/P&gt;&lt;P&gt;As For NON-TRUSTED Application no memory block configured for Peripheral Register,&lt;/P&gt;&lt;P&gt;i want give access, after checking if these non-trusted application have Peripheral Access TRUE. Then provide access by APIS0/APIS1,without configuring any&amp;nbsp; memory block for&amp;nbsp;&lt;SPAN&gt;Peripheral Bridge A &amp;amp; B.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2018 16:51:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803073#M11787</guid>
      <dc:creator>yashkumar</dc:creator>
      <dc:date>2018-07-17T16:51:33Z</dc:date>
    </item>
    <item>
      <title>Re: AIPS &amp; MPU in MPC5777C</title>
      <link>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803074#M11788</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I read ,BAM .I nothing found deference to access permission .&lt;/P&gt;&lt;P&gt;what is role&amp;nbsp;Guarded bit .&lt;/P&gt;&lt;P&gt;could please look in above question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2018 18:01:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803074#M11788</guid>
      <dc:creator>yashkumar</dc:creator>
      <dc:date>2018-07-20T18:01:50Z</dc:date>
    </item>
    <item>
      <title>Re: AIPS &amp; MPU in MPC5777C</title>
      <link>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803075#M11789</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Guarded means that speculative reads will not occur. It is a good idea to put guarded peripheral registers. However, it is better for performacne to put RAM not guarded.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To help you find the cause of the exception, let's take it the opposite way: from the exception itself. Are you using an RTOS that gives you a diagnostic of the type of memory fault? If not, then as soon as you have the exception, record the following:&lt;/P&gt;&lt;P&gt;- Which IVOR vector was triggered? (IVOR1 Machine Check? IVOR2 Data Storage?)&lt;/P&gt;&lt;P&gt;- If Machine Check, then save MCSR core register value. If Data Storage, save ESR.&lt;/P&gt;&lt;P&gt;- Save MPU0/1 CESR, EARn, EDRn where "n" is CESR[SPERR]: if your problem is an MPU fault, it will give you details (make sure all these registers were zero before your test)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jul 2018 22:10:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803075#M11789</guid>
      <dc:creator>EAlepins</dc:creator>
      <dc:date>2018-07-23T22:10:02Z</dc:date>
    </item>
    <item>
      <title>Re: AIPS &amp; MPU in MPC5777C</title>
      <link>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803076#M11790</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Thanks for response.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;It is hitting to&amp;nbsp; IVOR1 FAULT .&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;how i can allow the Peripheral Register by using AIPS0 and AIPS1, for NON-TRUSTED Applications which has PID 0x01.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;This NON-TRUSTED Application has no memory block configured for Peripheral Register.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;Now, i want give access, after checking if these non-trusted application have Peripheral Access TRUE.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;Then provide access by APIS0/APIS1,without configuring any&amp;nbsp; memory block for&amp;nbsp;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;Peripheral Bridge A &amp;amp; B.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jul 2018 15:27:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803076#M11790</guid>
      <dc:creator>yashkumar</dc:creator>
      <dc:date>2018-07-25T15:27:26Z</dc:date>
    </item>
    <item>
      <title>Re: AIPS &amp; MPU in MPC5777C</title>
      <link>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803077#M11791</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't clearly understand. But in order to identify the cause of the exception, please post the value of the following register before your access + after your access:&lt;/P&gt;&lt;P&gt;MPU0 &amp;amp; 1 CESR, EARn, EDRn (where "n" is CESR[SPERR])&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jul 2018 15:35:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803077#M11791</guid>
      <dc:creator>EAlepins</dc:creator>
      <dc:date>2018-07-30T15:35:25Z</dc:date>
    </item>
    <item>
      <title>Re: AIPS &amp; MPU in MPC5777C</title>
      <link>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803078#M11792</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="margin-bottom: .0001pt;"&gt;This is not my problem. I know that cause of error.&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;I am accessing the peripheral register for an application, which has no access permission provided.&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;That’s why I am getting memory fault (IVOR1 Machine Check).&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;So, here my question is how I can provide access to that peripheral register.&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;I have already given the implementation in above post using &lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;APIS0/APIS1,without configuring any&amp;nbsp; memory block for&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; border: 0px; font-weight: inherit; margin: 0px;"&gt;Peripheral Bridge A &amp;amp; B.&lt;/SPAN&gt;, but still getting memory fault.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jul 2018 16:12:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803078#M11792</guid>
      <dc:creator>yashkumar</dc:creator>
      <dc:date>2018-07-30T16:12:26Z</dc:date>
    </item>
    <item>
      <title>Re: AIPS &amp; MPU in MPC5777C</title>
      <link>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803079#M11793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I was asking that question to try to understand who between Core MMU, MPU and AIPS was generating the access fault.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just trying to summarize: both APP_0 and APP_1 are running on core 0. Also, between APP_0 and APP_1 execution, you are not changing any of the following: core0 MMU configuration, MPU0+1 configuration, AIPS/PBRIDGE configuration. Right?&lt;/P&gt;&lt;P&gt;Your goal is that APP_1 be able to read/write to STM registers (which are inside PBRIDGE_B memory map). Right?&lt;/P&gt;&lt;P&gt;You are able to read/write to those STM registers in APP_0, right?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- If so, I don't understand why you call APP_0 "trusted" and APP_1 "untrusted" since there the "trust" concept only exists in AIPS and there is no register defined in AIPS to differentiate when APP_0 or APP_1 is running.&lt;/P&gt;&lt;P&gt;- By the way, are you changing the value of the PID0 core register (SPR 48) when switching between APP_0 and APP_1? That's the register used to tell the MPU which PID is running.&lt;/P&gt;&lt;P&gt;- Is APP_0 running in User or Supervisor mode?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't quite understand: if you want APP_1 to be able to access STM registers, the Core MMU, MPU1 and AIPS will need to allow User mode access. So you'll need entries in MPU1 for that. You'll need, while APP_1 is running:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Peripheral Bridge B Registers */&lt;BR /&gt;MPU1.RGD[0].WORD0.R = 0xFFE00000; /* Start address */&lt;BR /&gt;MPU1.RGD[0].WORD1.R = 0xFFFFFFFF; /* End address */&lt;BR /&gt;MPU1.RGD[0].WORD2.R = 0x&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;00&lt;/SPAN&gt;0000&lt;STRONG&gt;1F&lt;/STRONG&gt;; /* Read-write-execute allowed for all master */&lt;BR /&gt;MPU1.RGD[0].WORD3.R = 0x&lt;STRONG&gt;00&lt;/STRONG&gt;000001; /* Mark descriptor as valid */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;AIPS0_MPRA = 0x70000000;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;AIPS0_MPRB = 0x00000000;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;AIPS0_PACRA =0x&lt;STRONG&gt;00000000&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;AIPS0_PACRB =0x&lt;STRONG&gt;00000000&lt;/STRONG&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think your problem was that MPU1[0] was only giving STM access to PID=0xFF (APP_0). You have to disable PID-check for that MPU region.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jul 2018 19:19:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/AIPS-MPU-in-MPC5777C/m-p/803079#M11793</guid>
      <dc:creator>EAlepins</dc:creator>
      <dc:date>2018-07-30T19:19:32Z</dc:date>
    </item>
  </channel>
</rss>

