<?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>LPC MicrocontrollersのトピックRe: M0 application only runs in debug</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/M0-application-only-runs-in-debug/m-p/592759#M22413</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by pcalton on Thu Mar 07 16:44:39 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Turns out this was caused by a stupid mistake. I switched the output directory for the M0 project, but didnt update the user command that generated the CM0_Image.c file for the M4 project. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So my M4 application compiled in a older non-working binary, but the debugger loaded the newer working binary&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:19:29 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:19:29Z</dc:date>
    <item>
      <title>M0 application only runs in debug</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/M0-application-only-runs-in-debug/m-p/592758#M22412</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by pcalton on Wed Mar 06 14:25:17 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;As in the Dual Core example, I have an cortex-M0 application that is converted to an array of bytes (LR0) in a C file (CM0_Image.c) that is used by the cortex-M4 application as below:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/*-----------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Load Cortex M0 Application Image&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *----------------------------------------------------------------------------*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void Load_CM0_Image (uint32_t DestAddr, const uint8_t *Image, uint32_t Sz) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; uint32_t i;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; uint8_t *dp = (uint8_t *)DestAddr;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* Copy application image */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; for (i = 0; i &amp;lt; Sz; i++) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dp&lt;/SPAN&gt;&lt;I&gt; = Image&lt;I&gt;;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; /* Set shadow pointer to beginning of the CM0 application */&lt;BR /&gt;&amp;nbsp; LPC_CREG-&amp;gt;M0APPMEMMAP = DestAddr;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void Start_CM0_Application(void)&lt;BR /&gt;{&lt;BR /&gt;// Stop CM0 core &lt;BR /&gt;LPC_RGU-&amp;gt;RESET_CTRL1 = (1 &amp;lt;&amp;lt; 24);&lt;BR /&gt;&lt;BR /&gt;// Copy application from Flash to Ram&lt;BR /&gt;Load_CM0_Image (0x10080000, LR0, sizeof (LR0)); &lt;BR /&gt;&lt;BR /&gt;// Start CM0 core &lt;BR /&gt;LPC_RGU-&amp;gt;RESET_CTRL1 = 0;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;The Cortex-M4 application configures the clocks and pin configuration and then calls Start_CM0_Application&lt;BR /&gt;&lt;BR /&gt;When not debugging or when debugging the Cortex-M4 application the Cortex-M0 application does not appear to be executing. However, if I switch to the CM0 project and debug the cortex-M0 then everything works fine.&lt;BR /&gt;&lt;BR /&gt;I am debugging the cortex-M0 using Keil and a ULINK2 using the following debug script&lt;BR /&gt;&lt;BR /&gt;FUNC void Setup (void) {&lt;BR /&gt;SP = _RDWORD(0x00000000);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setup Stack Pointer&lt;BR /&gt;PC = _RDWORD(0x00000004);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setup Program Counter&lt;BR /&gt;XPSR = 0x01000000;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Set Thumb bit&lt;BR /&gt;&lt;BR /&gt;_WDWORD(0x400C0008, 0x00000000);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Disable RIT_WDT&lt;BR /&gt;_WDWORD(0xE000E180, 0x00000800);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Disable RIT_WDT_IRQHandler&lt;BR /&gt;_WDWORD(0xE000ED0C, 0x05FA0003);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // VECTRESET &amp;amp; VECTCLRACTIVE&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;LOAD %L INCREMENTAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Download&lt;BR /&gt;&lt;BR /&gt;Setup();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setup for Running&lt;BR /&gt;&lt;BR /&gt;g, main&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Can anyone please explain what I might be doing wrong that prevents the cortex-M0 from executing normally?&lt;BR /&gt;&lt;/I&gt;&lt;/I&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/M0-application-only-runs-in-debug/m-p/592758#M22412</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:28Z</dc:date>
    </item>
    <item>
      <title>Re: M0 application only runs in debug</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/M0-application-only-runs-in-debug/m-p/592759#M22413</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by pcalton on Thu Mar 07 16:44:39 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Turns out this was caused by a stupid mistake. I switched the output directory for the M0 project, but didnt update the user command that generated the CM0_Image.c file for the M4 project. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So my M4 application compiled in a older non-working binary, but the debugger loaded the newer working binary&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:19:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/M0-application-only-runs-in-debug/m-p/592759#M22413</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:19:29Z</dc:date>
    </item>
  </channel>
</rss>

