<?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: Core watchdog timer on CF5235 and CF5313 in ColdFire/68K Microcontrollers and Processors</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Core-watchdog-timer-on-CF5235-and-CF5313/m-p/142187#M2529</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Issue solved.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC0_IMRL&amp;nbsp; &amp;amp;= ~( MCF_INTC0_IPRL_INT8 | 1 ); // Enable Irq 8 (bit 0 should allways be 0)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;was omitted from the initiation of the interrupt controller. This was the setting that worked for me:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC0_ICR8 = MCF_INTC0_IACKLPR_PRI(7) |&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC0_IACKLPR_LEVEL(7);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC0_IMRL&amp;nbsp; &amp;amp;= ~( MCF_INTC0_IPRL_INT8 | 1 ); // Enable Irq 8 (bit 0 should allways be 0)&lt;BR /&gt;&lt;BR /&gt;Hope this helps someone.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 06 Jul 2006 21:14:48 GMT</pubDate>
    <dc:creator>oloft</dc:creator>
    <dc:date>2006-07-06T21:14:48Z</dc:date>
    <item>
      <title>Core watchdog timer on CF5235 and CF5313</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Core-watchdog-timer-on-CF5235-and-CF5313/m-p/142186#M2528</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;I am trying to verify code that enables the core watchdog timer on the M5235EVB. The code is later supposed to run on a CF5213. Development environment is CodeWarrior for Coldfire ver. 6.2. Target project is based on the M5235EVB stationary.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;This is a central part of the (non functional) code:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="msg_source_code"&gt;&lt;SPAN class="text_smallest"&gt;Code:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;PRE&gt;#include "m523xevb.h"..MCF_SCM_CWCR = MCF_SCM_CWCR_CWE |&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable WDT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_SCM_CWCR_CWT(1) | // 2^19 bus cycles.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_SCM_CWCR_CWTA |&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable Transfer Ack.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_SCM_CWCR_CWTAVAL |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_SCM_CWCR_CWTIC;&lt;/PRE&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;The code&amp;nbsp;above should set up the WDT make a vector call on time out to wdtISR.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="msg_source_code"&gt;&lt;SPAN class="text_smallest"&gt;Code:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;PRE&gt;__declspec(interrupt) void wdtISR( void ){ MCF_RCM_RCR |= MCF_RCM_RCR_SOFTRST; // Set software reset request bit.}&lt;/PRE&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;I have modified the vector table to contain ther address to wdtISR and all stray interrupts are catched by the default ISR implementations from the stationary. The vector table in RAM is verified to be correct.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;What happens is that the processor locks&amp;nbsp;on time out, no call to the wdtISR or any other ISR ever happens and trying to break the execution with the PE-USB debugger results in error messages. If MCF_SCM_CWCR_CWTA is not set the processor does not lock but nor does the watch dog timer time out.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Does any one know how the core watch dog timer and other&amp;nbsp;moudles should be configured for a proper operation?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Olof&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 08:42:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Core-watchdog-timer-on-CF5235-and-CF5313/m-p/142186#M2528</guid>
      <dc:creator>oloft</dc:creator>
      <dc:date>2020-10-29T08:42:31Z</dc:date>
    </item>
    <item>
      <title>Re: Core watchdog timer on CF5235 and CF5313</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Core-watchdog-timer-on-CF5235-and-CF5313/m-p/142187#M2529</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Issue solved.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC0_IMRL&amp;nbsp; &amp;amp;= ~( MCF_INTC0_IPRL_INT8 | 1 ); // Enable Irq 8 (bit 0 should allways be 0)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;was omitted from the initiation of the interrupt controller. This was the setting that worked for me:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC0_ICR8 = MCF_INTC0_IACKLPR_PRI(7) |&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC0_IACKLPR_LEVEL(7);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_INTC0_IMRL&amp;nbsp; &amp;amp;= ~( MCF_INTC0_IPRL_INT8 | 1 ); // Enable Irq 8 (bit 0 should allways be 0)&lt;BR /&gt;&lt;BR /&gt;Hope this helps someone.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Jul 2006 21:14:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Core-watchdog-timer-on-CF5235-and-CF5313/m-p/142187#M2529</guid>
      <dc:creator>oloft</dc:creator>
      <dc:date>2006-07-06T21:14:48Z</dc:date>
    </item>
  </channel>
</rss>

