<?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: COP Watchdog in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137379#M2550</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;You should check that the COP is set as enabled in BDM (Special Single Chip) Mode for it to work with the debugger. Usually the developer disables it not to get COP Reset in step-by-step debugging.&lt;BR /&gt;&lt;BR /&gt;In the stand alone application, you need to check the COP is enabled.&lt;BR /&gt;&lt;BR /&gt;Alban.&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 21 Nov 2006 18:20:46 GMT</pubDate>
    <dc:creator>Alban</dc:creator>
    <dc:date>2006-11-21T18:20:46Z</dc:date>
    <item>
      <title>COP Watchdog</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137378#M2549</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi, am using CodeWarrior 4.1 (HCS12) with support for XGATE. Processor MC9S12XDP512.&lt;BR /&gt;I am having problems to get my processor to reset/restart after watchdog expires. Notting happens when I enter the infinite loop. What should I do?&lt;BR /&gt;Whats wrong?&lt;/DIV&gt;&lt;DIV&gt;thanks in advance Patrik&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Nov 2006 17:07:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137378#M2549</guid>
      <dc:creator>patti</dc:creator>
      <dc:date>2006-11-21T17:07:03Z</dc:date>
    </item>
    <item>
      <title>Re: COP Watchdog</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137379#M2550</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;You should check that the COP is set as enabled in BDM (Special Single Chip) Mode for it to work with the debugger. Usually the developer disables it not to get COP Reset in step-by-step debugging.&lt;BR /&gt;&lt;BR /&gt;In the stand alone application, you need to check the COP is enabled.&lt;BR /&gt;&lt;BR /&gt;Alban.&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Nov 2006 18:20:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137379#M2550</guid>
      <dc:creator>Alban</dc:creator>
      <dc:date>2006-11-21T18:20:46Z</dc:date>
    </item>
    <item>
      <title>Re: COP Watchdog</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137380#M2551</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;My microcontroller is also not reseting. It switches itself off but does not come back up. Same is the case with BDM attached and/or disconnected.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;WHat could the problem be? Why is there an interrupt vector for COP? What do you need to write inside that interrupt routine?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I have a feeling Patti too is having the same problem. Please clarify and hope one solution solves all problem.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks,&lt;/DIV&gt;&lt;DIV&gt;Sujith&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Nov 2006 07:41:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137380#M2551</guid>
      <dc:creator>pIx</dc:creator>
      <dc:date>2006-11-28T07:41:34Z</dc:date>
    </item>
    <item>
      <title>Re: COP Watchdog</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137381#M2552</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;The infinite loop is in the the routine _dummyISR, correct? That interrupt routine uses the loop to trap the thread of execution so that the processor doesn't run off into the weeds. When debugging, if you land in _dummyISR, it's because some unanticipated interrupt fired. What to do about a COP interrupt? That depends. If there's a way to recover from the event that delayed the processor (perhaps an I/O routine waiting on a response), you'd put code in the handler to retry the I/O interface. More often the COP signals that something catastrophic happened, and there's no possibility of recovery. In that case, in the vector table you'd just plug the reset interrupt vector into the COP interrupt vector. In other words, if the COP occurs, you reset the processor.&lt;BR /&gt;&lt;BR /&gt;For now, I'd suggest disabling the COP and see if the processor continues to run, or at least hangs in a new location.&lt;BR /&gt;&lt;BR /&gt;---Tom&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Nov 2006 23:48:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137381#M2552</guid>
      <dc:creator>J2MEJediMaster</dc:creator>
      <dc:date>2006-11-28T23:48:50Z</dc:date>
    </item>
    <item>
      <title>Re: COP Watchdog</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137382#M2553</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;How do I plug the reset interrupt vector into the COP interrupt vector? I am using codewarrior 4.5 and the interrupt vectors are specified in MC9S12DP512.h.&lt;BR /&gt;&lt;BR /&gt;Suppose I want to enter the ISR of COP, here is what I do:&lt;BR /&gt;&lt;BR /&gt;#ifndef __SMALL__&lt;BR /&gt;#pragma CODE_SEG __NEAR_SEG NON_BANKED&lt;BR /&gt;#endif&lt;BR /&gt;interrupt 2 void COP(){&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;#ifndef __SMALL__&lt;BR /&gt;#pragma CODE_SEG DEFAULT&lt;BR /&gt;#endif&lt;BR /&gt;&lt;BR /&gt;Please help as I have only half a day to fix the issue or go without the COP feature altogether.&lt;BR /&gt;&lt;BR /&gt;Thanks a million.&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Nov 2006 01:28:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137382#M2553</guid>
      <dc:creator>pIx</dc:creator>
      <dc:date>2006-11-29T01:28:29Z</dc:date>
    </item>
    <item>
      <title>Re: COP Watchdog</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137383#M2554</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;The vector Table has COP and RESET etc written in this format:&lt;BR /&gt;&lt;BR /&gt;.....&lt;BR /&gt;&lt;BR /&gt;#define Vcop 0x0000FFFA&lt;BR /&gt;#define Vclkmon 0x0000FFFC&lt;BR /&gt;#define Vreset 0x0000FFFE&lt;BR /&gt;&lt;BR /&gt;.........&lt;BR /&gt;&lt;BR /&gt;All this is specified in the MC9S12DP512.h file. I tried putting "0x0000FFFE" against Vcop and 0x0000FFFA against Vreset but that did nothing to solve the problem. My controller just shuts down when COP runs out, but fails to restart.&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Nov 2006 01:31:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137383#M2554</guid>
      <dc:creator>pIx</dc:creator>
      <dc:date>2006-11-29T01:31:18Z</dc:date>
    </item>
    <item>
      <title>Re: COP Watchdog</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137384#M2555</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi plx,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;To achieve this simply place the same address value that is stored at FFFE:FFFF at FFFA:FFFB.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;Peg&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Nov 2006 05:36:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137384#M2555</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2006-11-29T05:36:32Z</dc:date>
    </item>
    <item>
      <title>Re: COP Watchdog</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137385#M2556</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;In the header file you would simply change&lt;BR /&gt;&lt;BR /&gt;#define Vcop 0x0000FFFA&lt;BR /&gt;&lt;BR /&gt;to&lt;BR /&gt;&lt;BR /&gt;#define Vcop 0x0000FFFE&lt;BR /&gt;&lt;BR /&gt;Leave everything else alone. Don't mess with the reset vector address! You're counting on it to point the the start-up code that properly resets and restarts the processor. If that doesn't work, you need to study the COP registers and see if an interrupt flag bit is being set somewhere that you need to clear. Otherwise, it will keep signaling a COP interrupt and you'll keep spinning in the reset interrupt routine.&lt;BR /&gt;&lt;BR /&gt;---Tom&lt;P&gt;Message Edited by J2MEJediMaster on &lt;SPAN class="date_text"&gt;2006-11-29&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;09:56 AM&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Nov 2006 22:38:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137385#M2556</guid>
      <dc:creator>J2MEJediMaster</dc:creator>
      <dc:date>2006-11-29T22:38:28Z</dc:date>
    </item>
    <item>
      <title>Re: COP Watchdog</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137386#M2557</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;That is what I did and all other possible combinations, but nothing worked. I though it may be resultant because my Low voltage reset chip (external to the microcontroller) was causing it and spend some time de-soldering and re-soldering my boards too without any luck.&lt;BR /&gt;&lt;BR /&gt;But, I got a spot on answer from MICHAEL (Freescale technical support) and here is his solution:&lt;BR /&gt;&lt;BR /&gt;"If You are writing in "C" in Codewarrior, go to linker parameter file *.prm for your target device.&lt;BR /&gt;&lt;BR /&gt;Find the line: "VECTOR 0 _Startup" and write two additional lines below that:&lt;BR /&gt;VECTOR 1 _Startup /* Clock Monitor fail reset */&lt;BR /&gt;VECTOR 2 _Startup /* COP failure reset*/"&lt;BR /&gt;&lt;BR /&gt;Solved all the issues and now when my COP runs out or my clock is shorted, it immedietely resets the controller.&lt;BR /&gt;&lt;BR /&gt;Thanks to everyone who helped....&lt;BR /&gt;~Sujith&lt;P&gt;Message Edited by pIx on &lt;SPAN class="date_text"&gt;2006-12-01&lt;/SPAN&gt;&lt;SPAN class="time_text"&gt;08:28 PM&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 02 Dec 2006 04:27:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/COP-Watchdog/m-p/137386#M2557</guid>
      <dc:creator>pIx</dc:creator>
      <dc:date>2006-12-02T04:27:12Z</dc:date>
    </item>
  </channel>
</rss>

