<?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>S12 / MagniV Microcontrollers中的主题 How to config MPU register</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/How-to-config-MPU-register/m-p/537117#M12615</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi：&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I am using MPU &lt;SPAN class="mh-con-text" style="font-size: 20px; color: #333333; font-family: arial;"&gt;mechanism in order to protect Pflash.The &lt;SPAN class="mh-con-text" style="font-size: 20px; color: #333333; font-family: arial;"&gt;processor is MC9S12XEP100 and compile environment is Codewarrior. the global section which I &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="mh-con-text" style="font-size: 20px; color: #333333; font-family: arial;"&gt;&lt;SPAN class="mh-con-text"&gt;want to protect is from 0x7FE000-0x7FFFFF,I want to set this section can not be written.my config as fellows:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;void mpu_init(void) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned long low_addr=0x7FE000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned long high_addr=0x7FFFFF;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUSEL=MPUSEL|0x01;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUDESC0=0x40|(low_addr&amp;gt;&amp;gt;19);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CPU in user state&amp;nbsp;&amp;nbsp; low_addr:22-19&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUDESC1= (unsigned char)((low_addr&amp;amp;0x7FFFF)&amp;gt;&amp;gt;11);//low_addr:18-11&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUDESC2= (unsigned char)((low_addr&amp;amp;0x7FF)&amp;gt;&amp;gt;3);//low_addr:10-2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUDESC3= 0x80|(high_addr&amp;gt;&amp;gt;19);//WP NEX&amp;nbsp; high_addr:22-19&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUDESC4= (unsigned char)((high_addr&amp;amp;0x7FFFF)&amp;gt;&amp;gt;11);//high_addr:18-11&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUDESC5= (unsigned char)((high_addr&amp;amp;0x7FF)&amp;gt;&amp;gt;3);//high_addr:10-2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUSEL=0x80|MPUSEL;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SVSEN=1,SEL=01;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;after config&amp;nbsp; I found the MPU can not work . I need your help .I could not &lt;SPAN style="color: #333333; font-family: arial; font-size: 13px;"&gt;Understand why we need to config SEL.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="155187_155187.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/121923i99E0E22305EC0C3E/image-size/large?v=v2&amp;amp;px=999" role="button" title="155187_155187.png" alt="155187_155187.png" /&gt;&lt;/span&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/32568i56D7BBF9C761B224/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;could you give me some advise or demo .&lt;/P&gt;&lt;P&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 Jul 2016 02:37:30 GMT</pubDate>
    <dc:creator>明超戴</dc:creator>
    <dc:date>2016-07-05T02:37:30Z</dc:date>
    <item>
      <title>How to config MPU register</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/How-to-config-MPU-register/m-p/537117#M12615</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi：&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I am using MPU &lt;SPAN class="mh-con-text" style="font-size: 20px; color: #333333; font-family: arial;"&gt;mechanism in order to protect Pflash.The &lt;SPAN class="mh-con-text" style="font-size: 20px; color: #333333; font-family: arial;"&gt;processor is MC9S12XEP100 and compile environment is Codewarrior. the global section which I &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="mh-con-text" style="font-size: 20px; color: #333333; font-family: arial;"&gt;&lt;SPAN class="mh-con-text"&gt;want to protect is from 0x7FE000-0x7FFFFF,I want to set this section can not be written.my config as fellows:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;void mpu_init(void) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned long low_addr=0x7FE000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned long high_addr=0x7FFFFF;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUSEL=MPUSEL|0x01;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUDESC0=0x40|(low_addr&amp;gt;&amp;gt;19);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CPU in user state&amp;nbsp;&amp;nbsp; low_addr:22-19&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUDESC1= (unsigned char)((low_addr&amp;amp;0x7FFFF)&amp;gt;&amp;gt;11);//low_addr:18-11&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUDESC2= (unsigned char)((low_addr&amp;amp;0x7FF)&amp;gt;&amp;gt;3);//low_addr:10-2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUDESC3= 0x80|(high_addr&amp;gt;&amp;gt;19);//WP NEX&amp;nbsp; high_addr:22-19&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUDESC4= (unsigned char)((high_addr&amp;amp;0x7FFFF)&amp;gt;&amp;gt;11);//high_addr:18-11&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUDESC5= (unsigned char)((high_addr&amp;amp;0x7FF)&amp;gt;&amp;gt;3);//high_addr:10-2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MPUSEL=0x80|MPUSEL;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SVSEN=1,SEL=01;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;after config&amp;nbsp; I found the MPU can not work . I need your help .I could not &lt;SPAN style="color: #333333; font-family: arial; font-size: 13px;"&gt;Understand why we need to config SEL.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="155187_155187.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/121923i99E0E22305EC0C3E/image-size/large?v=v2&amp;amp;px=999" role="button" title="155187_155187.png" alt="155187_155187.png" /&gt;&lt;/span&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/32568i56D7BBF9C761B224/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;could you give me some advise or demo .&lt;/P&gt;&lt;P&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jul 2016 02:37:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/How-to-config-MPU-register/m-p/537117#M12615</guid>
      <dc:creator>明超戴</dc:creator>
      <dc:date>2016-07-05T02:37:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to config MPU register</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/How-to-config-MPU-register/m-p/537118#M12616</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &amp;amp;#26126;&amp;amp;#36229; &amp;amp;#25140;,&lt;/P&gt;&lt;P&gt;You configured MSTR1 as 1. If this bit is set the descriptor is valid for bus master 1 (CPU in user state).&lt;/P&gt;&lt;P&gt;Do you really use MCU in user state (did you set U Control Bit in CCR register)?&lt;/P&gt;&lt;P&gt;If not, your MCU running in supervisor state and you should configure MSTR0 as 1 (MPUDESC0=0x80|(low_addr&amp;gt;&amp;gt;19);)&lt;/P&gt;&lt;P&gt;For more details about User state, please look at:&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.nxp.com%2Ffiles%2Fmicrocontrollers%2Fdoc%2Fref_manual%2FS12XCPUV2.pdf" rel="nofollow" target="_blank"&gt;http://www.nxp.com/files/microcontrollers/doc/ref_manual/S12XCPUV2.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why do we need to config SEL?&lt;/P&gt;&lt;P&gt;Because there is available 8 protection descriptors and you could configure various combinations for your protection scheme. The MPUDESC0—MPUDESC5 registers are the just window to one of eight target descriptors.&lt;/P&gt;&lt;P&gt;You could protect various ranges in RAM, Registers, Flash, … you could define rules for CPU in user/supervisor state or XGATE,….&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Attached is simple MPU example code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BTW: If you want to protect just whole Flash against write, why you didn’t use FPROT register feature?&lt;/P&gt;&lt;P&gt;The command FPROT=0xA4; will enable Full P-Flash Memory Protection.&lt;/P&gt;&lt;P&gt;Optionally you could store FPROT value at address 0xFF0C and this value will be loaded to FPROT registers automatically after every reset.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Note: There is the potential issue with double EEC fault. Please check &lt;/SPAN&gt;&lt;A class="jive-link-wiki-small" data-containerid="11493" data-containertype="14" data-objectid="93803" data-objecttype="102" href="https://community.nxp.com/docs/DOC-93803"&gt;https://community.nxp.com/docs/DOC-93803&lt;/A&gt;&lt;SPAN&gt; document for more details.&lt;/SPAN&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;I hope it helps you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Radek&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>Fri, 08 Jul 2016 17:30:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/How-to-config-MPU-register/m-p/537118#M12616</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2016-07-08T17:30:22Z</dc:date>
    </item>
    <item>
      <title>Re: How to config MPU register</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/How-to-config-MPU-register/m-p/537119#M12617</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt; &lt;/SPAN&gt;&lt;A _jive_internal="true" data-avatarid="1029" data-externalid="" data-online="false" data-presence="null" data-userid="207558" data-username="RadekS" href="https://community.nxp.com/people/RadekS" style="font-weight: bold; font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: inherit; text-decoration: underline;"&gt;Radek Sestak&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; thank you for your help, I will try to it.&lt;/P&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Best&amp;nbsp; regards!&lt;/P&gt;&lt;P&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dai Mingchao&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jul 2016 13:33:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/How-to-config-MPU-register/m-p/537119#M12617</guid>
      <dc:creator>明超戴</dc:creator>
      <dc:date>2016-07-12T13:33:17Z</dc:date>
    </item>
  </channel>
</rss>

