<?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>Kinetis Software Development KitのトピックRe: Target crash/reset</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Target-crash-reset/m-p/364940#M660</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry, but I don't see where you put your breakpoint. I hope this point is before a new stack is setup? The point was to discover the last traces before the crash....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 Jan 2015 07:03:50 GMT</pubDate>
    <dc:creator>oaf</dc:creator>
    <dc:date>2015-01-22T07:03:50Z</dc:date>
    <item>
      <title>Target crash/reset</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Target-crash-reset/m-p/364938#M658</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is there a single point where all resets run through? I'm thinking of a place to put a breakpoint so that a crashing sw doesn't just reboot, but stop in my debugger.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Jan 2015 16:13:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Target-crash-reset/m-p/364938#M658</guid>
      <dc:creator>oaf</dc:creator>
      <dc:date>2015-01-21T16:13:07Z</dc:date>
    </item>
    <item>
      <title>Re: Target crash/reset</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Target-crash-reset/m-p/364939#M659</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ole,&lt;/P&gt;&lt;P&gt;It depends on the tools being used but in general all code will have disabling Watchdog and checking to clear flag related to LLSx/VLLSx wakeups.&lt;/P&gt;&lt;P&gt;The example I just tested with was using the hello_world_frdmk22f (C:\Freescale\KSDK_1.1.0\demos\hello_world\kds\frdmk22f) and added a software breakpoint below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14219390331396561" jivemacro_uid="_14219390331396561"&gt;
&lt;P&gt;/* ----------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; -- Core clock&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; ---------------------------------------------------------------------------- */&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;uint32_t SystemCoreClock = DEFAULT_SYSTEM_CLOCK;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;/* ----------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; -- SystemInit()&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; ---------------------------------------------------------------------------- */&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;void SystemInit (void) {&lt;/P&gt;
&lt;P&gt;#if ((__FPU_PRESENT == 1) &amp;amp;&amp;amp; (__FPU_USED == 1))&lt;/P&gt;
&lt;P&gt;&amp;nbsp; SCB-&amp;gt;CPACR |= ((3UL &amp;lt;&amp;lt; 10*2) | (3UL &amp;lt;&amp;lt; 11*2));&amp;nbsp;&amp;nbsp;&amp;nbsp; /* set CP10, CP11 Full Access */&lt;/P&gt;
&lt;P&gt;#endif /* ((__FPU_PRESENT == 1) &amp;amp;&amp;amp; (__FPU_USED == 1)) */&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;#if (DISABLE_WDOG)&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* WDOG-&amp;gt;UNLOCK: WDOGUNLOCK=0xC520 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; WDOG-&amp;gt;UNLOCK = WDOG_UNLOCK_WDOGUNLOCK(0xC520); /* Key 1 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* WDOG-&amp;gt;UNLOCK: WDOGUNLOCK=0xD928 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; WDOG-&amp;gt;UNLOCK = WDOG_UNLOCK_WDOGUNLOCK(0xD928); /* Key 2 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* WDOG-&amp;gt;STCTRLH: ?=0,DISTESTWDOG=0,BYTESEL=0,TESTSEL=0,TESTWDOG=0,?=0,?=1,WAITEN=1,STOPEN=1,DBGEN=0,ALLOWUPDATE=1,WINEN=0,IRQRSTEN=0,CLKsrc=1,WDOGEN=0 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; WDOG-&amp;gt;STCTRLH = WDOG_STCTRLH_BYTESEL(0x00) |&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; WDOG_STCTRLH_WAITEN_MASK |&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; WDOG_STCTRLH_STOPEN_MASK |&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; WDOG_STCTRLH_ALLOWUPDATE_MASK |&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; WDOG_STCTRLH_CLKSRC_MASK |&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; 0x0100U;&lt;/P&gt;
&lt;P&gt;#endif /* (DISABLE_WDOG) */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; if((RCM-&amp;gt;SRS0 &amp;amp; RCM_SRS0_WAKEUP_MASK) != 0x00U)&lt;/P&gt;
&lt;P&gt;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if((PMC-&amp;gt;REGSC &amp;amp; PMC_REGSC_ACKISO_MASK) != 0x00U)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PMC-&amp;gt;REGSC |= PMC_REGSC_ACKISO_MASK; /* Release hold with ACKISO:&amp;nbsp; Only has an effect if recovering from VLLSx.*/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; } else {&lt;/P&gt;
&lt;P&gt;#ifdef SYSTEM_RTC_CR_VALUE&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC6 |= SIM_SCGC6_RTC_MASK;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((RTC_CR &amp;amp; RTC_CR_OSCE_MASK) == 0x00U) { /* Only if the OSCILLATOR is not already enabled */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTC_CR = (uint32_t)((RTC_CR &amp;amp; (uint32_t)~(uint32_t)(RTC_CR_SC2P_MASK | RTC_CR_SC4P_MASK | RTC_CR_SC8P_MASK | RTC_CR_SC16P_MASK)) | (uint32_t)SYSTEM_RTC_CR_VALUE);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTC_CR |= (uint32_t)RTC_CR_OSCE_MASK;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTC_CR &amp;amp;= (uint32_t)~(uint32_t)RTC_CR_CLKO_MASK;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;#endif&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;#if 1 //DES 1=test, 0=default code&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __asm("bkpt 4");&lt;/P&gt;
&lt;P&gt;#endif&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Power mode protection initialization */&lt;/P&gt;
&lt;P&gt;#ifdef SYSTEM_SMC_PMPROT_VALUE&lt;/P&gt;
&lt;P&gt;&amp;nbsp; SMC-&amp;gt;PMPROT = SYSTEM_SMC_PMPROT_VALUE;&lt;/P&gt;
&lt;P&gt;#endif&lt;/P&gt;
&lt;/PRE&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_1421939083801338" jivemacro_uid="_1421939083801338"&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;#if 1 //DES 1=test, 0=default code&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __asm("bkpt 4");&lt;/P&gt;
&lt;P&gt;#endif&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Power mode protection initialization */&lt;/P&gt;
&lt;P&gt;#ifdef SYSTEM_SMC_PMPROT_VALUE&lt;/P&gt;
&lt;P&gt;&amp;nbsp; SMC-&amp;gt;PMPROT = SYSTEM_SMC_PMPROT_VALUE;&lt;/P&gt;
&lt;P&gt;#endif&lt;/P&gt;
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Jan 2015 16:39:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Target-crash-reset/m-p/364939#M659</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2015-01-21T16:39:05Z</dc:date>
    </item>
    <item>
      <title>Re: Target crash/reset</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Target-crash-reset/m-p/364940#M660</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry, but I don't see where you put your breakpoint. I hope this point is before a new stack is setup? The point was to discover the last traces before the crash....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Jan 2015 07:03:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Target-crash-reset/m-p/364940#M660</guid>
      <dc:creator>oaf</dc:creator>
      <dc:date>2015-01-22T07:03:50Z</dc:date>
    </item>
    <item>
      <title>Re: Target crash/reset</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Target-crash-reset/m-p/364941#M661</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Email reply didn't have my cut-n-paste material added correctly.&amp;nbsp; I have updated the post to include the example code.&amp;nbsp; Yes it is before any stacks are initialized.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Jan 2015 15:06:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Target-crash-reset/m-p/364941#M661</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2015-01-22T15:06:09Z</dc:date>
    </item>
    <item>
      <title>Re: Target crash/reset</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Target-crash-reset/m-p/364942#M662</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;To expand on David's reply, the KSDK code will start from reset at C:\Freescale\KSDK_1.1.0\platform\startup\&amp;lt;device_family&amp;gt;\&amp;lt;toolchain&amp;gt;\starup_&amp;lt;device_fmaily&amp;gt;.s in the "Reset_Handler" subroutine. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's toolchain dependent on how to setup your debugger to start there instead of main() (which is the default setting), but typically it's in the debug settings, and you can either set it to be blank or use "Reset_Handler". Note that you will likely have to "run" through the watchdog disable, since trying to step through line by line of that code will cause the device to reset. So just set a breakpoint after that those lines David pointed out (so line 33) and you'll be good to go.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On a related note, if someone reading this is using MQX for KSDK, the entry point for MQX can be found at C:\Freescale\KSDK_1.1.0\rtos\mqx\mqx\source\psp\cortex_m\core\&amp;lt;core&amp;gt;\boot.S at the "Reset_Handler" subroutine. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Jan 2015 21:00:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Target-crash-reset/m-p/364942#M662</guid>
      <dc:creator>anthony_huereca</dc:creator>
      <dc:date>2015-01-22T21:00:36Z</dc:date>
    </item>
  </channel>
</rss>

