<?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: illegal_bp in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/illegal-bp/m-p/469937#M11863</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey ,thank you very much for you help!Before i saw your message,i read the datasheet over and over again,then i found that when i&amp;nbsp; added "CPMUPROT_PROT =0; CPMUCLKS_PLLSEL = 1;"before i set the register,the problem disappeared!!i do`nt know why because according to the datasheet,it is the default value! This is my code blow,but i found i can not set register "CPMUOSC"!when i&amp;nbsp; wrote to it,the value did not change when i&amp;nbsp; was debugging by TBDML,so the osc won`t work.Maybe i missed something importent...unhappy...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; #include "PEE_BusClock.h"&lt;/P&gt;&lt;P&gt;void Set_PEE(byte _synr, byte _refdiv, byte _postdiv) {&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUPROT_PROT =0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUCLKS_PLLSEL = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; while(!CPMUCLKS_PLLSEL);&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUSYNR = _synr;&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUPOSTDIV = _postdiv;&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUREFDIV = _refdiv;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; while (!CPMUFLG_LOCK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUOSC= CPMUOSC_OSCE_MASK+CPMUOSC_OSCBW_MASK+CPMUOSC_OSCFILT1_MASK;//enable external osc OSCE&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; while(!CPMUFLG_UPOSC) {&amp;nbsp;&amp;nbsp; //if osc up?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; // you can check for timeout here with error message report&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; &lt;/P&gt;&lt;P&gt;&amp;nbsp; //while(!CPMUFLG_LOCK){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //if PLL LOCKED?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; // you can check for timeout here with error message report&lt;/P&gt;&lt;P&gt;&amp;nbsp; //}&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; //SET CLOCK&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUCLKS_PLLSEL = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Bus = F(PLL)/2&lt;/P&gt;&lt;P&gt;&amp;nbsp; //CPMUCLKS_COPOSCSEL = 1;&amp;nbsp; //COP IS clocked from osc&lt;/P&gt;&lt;P&gt;&amp;nbsp; while (CPMUCLKS != 0B10000000) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm nop;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&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; &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;/P&gt;&lt;P&gt;//OSC = 4M&lt;/P&gt;&lt;P&gt;void SetBusClock16M_OSC4M() {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ECLKCTL_NECLK = 0;&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; // enable ECLK output &lt;/P&gt;&lt;P&gt;&amp;nbsp; Set_PEE(0X03,0X40,0X00);&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;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void SetBusClock24M_OSC4M() {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ECLKCTL_NECLK = 0;&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; // enable ECLK output &lt;/P&gt;&lt;P&gt;&amp;nbsp; Set_PEE(0X01,0X80,0X70);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void SetBusClock25M_OSC4M() {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ECLKCTL_NECLK = 0;&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; // enable ECLK output &lt;/P&gt;&lt;P&gt;&amp;nbsp; Set_PEE(0X58,0X03,0X00);&lt;/P&gt;&lt;P&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;//OSC = 8M&lt;/P&gt;&lt;P&gt;void SetBusClock16M_OSC8M(){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ECLKCTL_NECLK = 0;&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; // enable ECLK output &lt;/P&gt;&lt;P&gt;&amp;nbsp; Set_PEE(0X01,0X80,0X00);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void SetBusClock24M_OSC8M(){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ECLKCTL_NECLK = 0;&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; // enable ECLK output &lt;/P&gt;&lt;P&gt;&amp;nbsp; Set_PEE(0X02,0X80,0X00);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}void SetBusClock25M_OSC8M(){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ECLKCTL_NECLK = 0;&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; // enable ECLK output &lt;/P&gt;&lt;P&gt;&amp;nbsp; Set_PEE(0X58,0X07,0X00);&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;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 09 Dec 2015 13:38:37 GMT</pubDate>
    <dc:creator>chris_qin</dc:creator>
    <dc:date>2015-12-09T13:38:37Z</dc:date>
    <item>
      <title>illegal_bp</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/illegal-bp/m-p/469935#M11861</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am a college student and I met a problem when i was learning mc9s12p128.&lt;/P&gt;&lt;P&gt;The command window always warn me that there was a illegal_bp problem when i was debuging use TBDML,but when i try in full chip simulation mode ,there was nothing wrong! &lt;/P&gt;&lt;P&gt;i donnot know the reason,anyone knows?&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "MC9S12P128.h"&lt;/P&gt;&lt;P&gt;void SetBusClock_16M() {&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt; CPMUCLKS_PLLSEL = 1; //f(bus)=f(osc)/2&amp;nbsp;&amp;nbsp; ;fosc = 4m&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt; CPMUSYNR =0X43; //01000011&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; //fvco = 2*4*(1+1)/1 = 16m&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; //VCOFRQ[7:6]&amp;nbsp; SYNDIV[5:0]&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; //fVCO= 2*fOSC*(SYNDIV + 1)/(REFDIV + 1) =2*4M*(3+1)=32M&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; //fPLL= fVCO/(2 × POSTDIV) &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; //fBUS= fPLL/2 &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; //VCOCLK Frequency Ranges&amp;nbsp; VCOFRQ[7:6]&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;&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; // 32MHz &amp;lt;= fVCO &amp;lt;= 48MHz&amp;nbsp;&amp;nbsp;&amp;nbsp; 00&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;&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; // 48MHz &amp;lt;&amp;nbsp; fVCO &amp;lt;= 64MHz&amp;nbsp;&amp;nbsp;&amp;nbsp; 01&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;&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; // Reserved&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; 10&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;&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; // Reserved&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; 11&lt;/P&gt;&lt;P&gt; CPMUREFDIV = 0X40;//0100 0000&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; //REFFRQ[7:6]&amp;nbsp; REFDIV[5:0]&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; //fREF = fOSC/(REFDIV + 1)&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; //REFCLK Frequency Ranges&amp;nbsp; REFFRQ[7:6]&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;&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; // 1MHz &amp;lt;= fREF &amp;lt;=&amp;nbsp; 2MHz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00&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;&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; // 2MHz &amp;lt;&amp;nbsp; fREF &amp;lt;=&amp;nbsp; 6MHz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01&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;&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; // 6MHz &amp;lt;&amp;nbsp; fREF &amp;lt;= 12MHz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&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;&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; // fREF &amp;gt;&amp;nbsp; 12MHz&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; 11&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; &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; // pllclock=2*fosc*(1+SYNDIV)/(1+REFDIV)=16MHz;&lt;/P&gt;&lt;P&gt; CPMUPOSTDIV = 0X00;&amp;nbsp;&amp;nbsp;&amp;nbsp; //fPLL = fVCO/(1+POSTDIV)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt; CPMUOSC_OSCE = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp; //choose osc as bus clock;&lt;/P&gt;&lt;P&gt; while(!(CPMUFLG_UPOSC==1)) {&lt;/P&gt;&lt;P&gt; _asm(nop);&lt;/P&gt;&lt;P&gt; _asm(nop);&lt;/P&gt;&lt;P&gt; }&lt;/P&gt;&lt;P&gt; while(!(CPMUFLG_LOCK==1)) ;&amp;nbsp;&amp;nbsp; //WHEN PLL IS STEADY&lt;/P&gt;&lt;P&gt; //CPMUCLKS_PLLSEL = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Dec 2015 12:18:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/illegal-bp/m-p/469935#M11861</guid>
      <dc:creator>chris_qin</dc:creator>
      <dc:date>2015-12-08T12:18:03Z</dc:date>
    </item>
    <item>
      <title>Re: illegal_bp</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/illegal-bp/m-p/469936#M11862</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &amp;amp;#25112;&amp;amp;#24378; &amp;amp;#31206,&lt;/P&gt;&lt;P&gt;In fact, illegal_bp problem means that debugger gets lost. Typical case is unexpected interrupt or reset of MCU.&lt;/P&gt;&lt;P&gt;Please check whether you didn’t enable any clock interrupt in CPMUINT register and if yes, please check whether you have correctly defined appropriate interrupt routine.&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;P&gt;//==============================================================================&lt;/P&gt;&lt;P&gt;//PLL_LOCK_ISR&lt;/P&gt;&lt;P&gt;//==============================================================================&lt;/P&gt;&lt;P&gt;#pragma CODE_SEG NON_BANKED&lt;/P&gt;&lt;P&gt;interrupt 28 void PLL_LOCK_ISR(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; lock = CPMUFLG_LOCK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(CPMUFLG_LOCK)&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;//..your code //LOCK&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //..your code&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; //UNLOCK&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUFLG = 0x10;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //clear LOCKIF flag&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;#pragma CODE_SEG DEFAULT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;About your routine)&lt;/P&gt;&lt;P&gt;I suppose that you want set CPMU module into PEE mode with 4MHz external crystal and 16MHz bus clock. I am right?&lt;/P&gt;&lt;P&gt;You should set CPMUSYNR to 0x03 instead 0x43. VCOCLK is 32MHz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since external oscillator cannot be validated without locked PLL (LOCK=1), it has no sense to wait for UPOSC bit and after that wait for LOCK bit. So, line “while(!(CPMUFLG_LOCK==1)) ;&amp;nbsp; //WHEN PLL IS STEADY” could be removed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After writing CPMUCLKS register, it is recommended to read back CPMUCLKS register to make sure that write of PLLSEL, RTIOSCSEL and COPOSCSELwas successful. For example:&lt;/P&gt;&lt;P&gt;&amp;nbsp; while(CPMUCLKS_PLLSEL)&amp;nbsp; // PLLSEL=0 check&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUCLKS_PLLSEL = 0;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since BDM communication depends on bus clock, I would like to recommend run code trough PLL setting function. Transient states during stepping over code could cause unexpected communication problems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&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;RadekS&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>Wed, 09 Dec 2015 12:40:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/illegal-bp/m-p/469936#M11862</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2015-12-09T12:40:13Z</dc:date>
    </item>
    <item>
      <title>Re: illegal_bp</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/illegal-bp/m-p/469937#M11863</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey ,thank you very much for you help!Before i saw your message,i read the datasheet over and over again,then i found that when i&amp;nbsp; added "CPMUPROT_PROT =0; CPMUCLKS_PLLSEL = 1;"before i set the register,the problem disappeared!!i do`nt know why because according to the datasheet,it is the default value! This is my code blow,but i found i can not set register "CPMUOSC"!when i&amp;nbsp; wrote to it,the value did not change when i&amp;nbsp; was debugging by TBDML,so the osc won`t work.Maybe i missed something importent...unhappy...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; #include "PEE_BusClock.h"&lt;/P&gt;&lt;P&gt;void Set_PEE(byte _synr, byte _refdiv, byte _postdiv) {&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUPROT_PROT =0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUCLKS_PLLSEL = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; while(!CPMUCLKS_PLLSEL);&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUSYNR = _synr;&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUPOSTDIV = _postdiv;&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUREFDIV = _refdiv;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; while (!CPMUFLG_LOCK);&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUOSC= CPMUOSC_OSCE_MASK+CPMUOSC_OSCBW_MASK+CPMUOSC_OSCFILT1_MASK;//enable external osc OSCE&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; while(!CPMUFLG_UPOSC) {&amp;nbsp;&amp;nbsp; //if osc up?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; // you can check for timeout here with error message report&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; &lt;/P&gt;&lt;P&gt;&amp;nbsp; //while(!CPMUFLG_LOCK){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //if PLL LOCKED?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; // you can check for timeout here with error message report&lt;/P&gt;&lt;P&gt;&amp;nbsp; //}&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; //SET CLOCK&lt;/P&gt;&lt;P&gt;&amp;nbsp; CPMUCLKS_PLLSEL = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Bus = F(PLL)/2&lt;/P&gt;&lt;P&gt;&amp;nbsp; //CPMUCLKS_COPOSCSEL = 1;&amp;nbsp; //COP IS clocked from osc&lt;/P&gt;&lt;P&gt;&amp;nbsp; while (CPMUCLKS != 0B10000000) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asm nop;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&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; &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;/P&gt;&lt;P&gt;//OSC = 4M&lt;/P&gt;&lt;P&gt;void SetBusClock16M_OSC4M() {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ECLKCTL_NECLK = 0;&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; // enable ECLK output &lt;/P&gt;&lt;P&gt;&amp;nbsp; Set_PEE(0X03,0X40,0X00);&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;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void SetBusClock24M_OSC4M() {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ECLKCTL_NECLK = 0;&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; // enable ECLK output &lt;/P&gt;&lt;P&gt;&amp;nbsp; Set_PEE(0X01,0X80,0X70);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void SetBusClock25M_OSC4M() {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ECLKCTL_NECLK = 0;&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; // enable ECLK output &lt;/P&gt;&lt;P&gt;&amp;nbsp; Set_PEE(0X58,0X03,0X00);&lt;/P&gt;&lt;P&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;//OSC = 8M&lt;/P&gt;&lt;P&gt;void SetBusClock16M_OSC8M(){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ECLKCTL_NECLK = 0;&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; // enable ECLK output &lt;/P&gt;&lt;P&gt;&amp;nbsp; Set_PEE(0X01,0X80,0X00);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void SetBusClock24M_OSC8M(){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ECLKCTL_NECLK = 0;&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; // enable ECLK output &lt;/P&gt;&lt;P&gt;&amp;nbsp; Set_PEE(0X02,0X80,0X00);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}void SetBusClock25M_OSC8M(){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ECLKCTL_NECLK = 0;&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; // enable ECLK output &lt;/P&gt;&lt;P&gt;&amp;nbsp; Set_PEE(0X58,0X07,0X00);&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Dec 2015 13:38:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/illegal-bp/m-p/469937#M11863</guid>
      <dc:creator>chris_qin</dc:creator>
      <dc:date>2015-12-09T13:38:37Z</dc:date>
    </item>
    <item>
      <title>Re: illegal_bp</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/illegal-bp/m-p/469938#M11864</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &amp;amp;#25112;&amp;amp;#24378; &amp;amp;#31206;,&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;Please remove unnecessary command “while (!CPMUFLG_LOCK);” prior writing to CPMUOSC. SYNR, REFDV and POSDIV values are related to external clock value and LOCK status will be lost by setting OSCE bit anyway.&lt;/LI&gt;&lt;LI&gt;OSCFILT value should be VCOCLK-to-OSCCLK ratio divided by two (must be integer value). In your case (4MHz external crystal and 16MHz bus clock), OSCFILT value should be 4.&lt;/LI&gt;&lt;LI&gt;Modifying PLLSEL followed by waiting loop doesn’t have sense – it could cause dead loop under specific circumstances. Let’s say that between LOCK (UPOSC) bit check and write into PLLSEL is for example 10 bus cycles. During this time PLL may be unlocked again and write into PLLSEL will be ignored. We have to ensure that PLLSEL bit will be modified when LOCK (UPOSC) bit is 1. Therefore we should try to writing into PLLSEL until this bit will be modified according our demands. For example:&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;while(CPMUCLKS_PLLSEL)&amp;nbsp; // PLLSEL=0 check&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;CPMUCLKS_PLLSEL = 0; &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;This is important mainly for PBE mode (when PLLSEL = 0), but it is good habit to use in all modes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&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;RadekS&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>Mon, 14 Dec 2015 11:14:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/illegal-bp/m-p/469938#M11864</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2015-12-14T11:14:59Z</dc:date>
    </item>
    <item>
      <title>Re: illegal_bp</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/illegal-bp/m-p/469939#M11865</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thank you very much ! &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Dec 2015 09:18:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/illegal-bp/m-p/469939#M11865</guid>
      <dc:creator>chris_qin</dc:creator>
      <dc:date>2015-12-17T09:18:25Z</dc:date>
    </item>
  </channel>
</rss>

