<?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 LPC845: resetting M0+ Core and Peripherals in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC845-resetting-M0-Core-and-Peripherals/m-p/807228#M32402</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;MicroController: LPC845&lt;/P&gt;&lt;P&gt;Subject: Resetting peripherals and Core to jump from BootLoader to Application&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When jumping from BootLoader to Application I'd like to get rid of all history&lt;/P&gt;&lt;P&gt;(e.g. clock settings, inits of peripherals, pending interrupts) by&lt;/P&gt;&lt;P&gt;1. setting VTOR to 0x2000, as follows:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; *((volatile uint32_t*) 0xE000ED08) = 0x00002000;&lt;/P&gt;&lt;P&gt;2. resetting all peripherals and the Cortex-M0+ Core&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With the sequence&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;*((volatile uint32_t*) 0xE000ED08) = 0x00002000;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;NVIC_SystemReset();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;in combination with calling function &lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: 25.95px; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;SYS_ResetAllPeripherals (see below)&lt;/SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;immediately after reset, this goal is not achieved&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;(and it's hard to debug this low level stuff, going through reset).&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;I would appreciate any advise on this matter.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;// -----------------------------------------------------------------------------&lt;BR /&gt;// Function : SYS_ResetAllPeripherals()&lt;BR /&gt;// Comment&amp;nbsp; : Reset all peripherals (which can be reset by&lt;BR /&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: 25.95px; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;means of PRESETCTRL0&lt;/SPAN&gt; and PRESETCTRL1)&lt;/DIV&gt;&lt;DIV&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except the Flash Controller&lt;BR /&gt;// Params&amp;nbsp;&amp;nbsp; :&lt;BR /&gt;//&amp;nbsp;&amp;nbsp; Input&amp;nbsp; : -&lt;BR /&gt;//&amp;nbsp;&amp;nbsp; Output : -&lt;BR /&gt;// Return&amp;nbsp;&amp;nbsp; : -&lt;BR /&gt;// -----------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;void SYS_ResetAllPeripherals(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;// Activate reset of all peripherals&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;PRESETCTRL0 = 0x0402001F;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;PRESETCTRL1 = 0xFFFFFFE4;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Deactivate peripheral reset&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;PRESETCTRL0 = 0xFFFFFFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;PRESETCTRL1 = 0xFFFFFFFF;&lt;BR /&gt;}&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 01 Aug 2018 12:37:05 GMT</pubDate>
    <dc:creator>rene_kniest</dc:creator>
    <dc:date>2018-08-01T12:37:05Z</dc:date>
    <item>
      <title>LPC845: resetting M0+ Core and Peripherals</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC845-resetting-M0-Core-and-Peripherals/m-p/807228#M32402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;MicroController: LPC845&lt;/P&gt;&lt;P&gt;Subject: Resetting peripherals and Core to jump from BootLoader to Application&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When jumping from BootLoader to Application I'd like to get rid of all history&lt;/P&gt;&lt;P&gt;(e.g. clock settings, inits of peripherals, pending interrupts) by&lt;/P&gt;&lt;P&gt;1. setting VTOR to 0x2000, as follows:&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; *((volatile uint32_t*) 0xE000ED08) = 0x00002000;&lt;/P&gt;&lt;P&gt;2. resetting all peripherals and the Cortex-M0+ Core&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With the sequence&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;*((volatile uint32_t*) 0xE000ED08) = 0x00002000;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;NVIC_SystemReset();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;in combination with calling function &lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: 25.95px; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;SYS_ResetAllPeripherals (see below)&lt;/SPAN&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;immediately after reset, this goal is not achieved&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;(and it's hard to debug this low level stuff, going through reset).&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;I would appreciate any advise on this matter.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;// -----------------------------------------------------------------------------&lt;BR /&gt;// Function : SYS_ResetAllPeripherals()&lt;BR /&gt;// Comment&amp;nbsp; : Reset all peripherals (which can be reset by&lt;BR /&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; line-height: 25.95px; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"&gt;means of PRESETCTRL0&lt;/SPAN&gt; and PRESETCTRL1)&lt;/DIV&gt;&lt;DIV&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except the Flash Controller&lt;BR /&gt;// Params&amp;nbsp;&amp;nbsp; :&lt;BR /&gt;//&amp;nbsp;&amp;nbsp; Input&amp;nbsp; : -&lt;BR /&gt;//&amp;nbsp;&amp;nbsp; Output : -&lt;BR /&gt;// Return&amp;nbsp;&amp;nbsp; : -&lt;BR /&gt;// -----------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV&gt;void SYS_ResetAllPeripherals(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;// Activate reset of all peripherals&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;PRESETCTRL0 = 0x0402001F;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;PRESETCTRL1 = 0xFFFFFFE4;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Deactivate peripheral reset&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;PRESETCTRL0 = 0xFFFFFFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCON-&amp;gt;PRESETCTRL1 = 0xFFFFFFFF;&lt;BR /&gt;}&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Aug 2018 12:37:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC845-resetting-M0-Core-and-Peripherals/m-p/807228#M32402</guid>
      <dc:creator>rene_kniest</dc:creator>
      <dc:date>2018-08-01T12:37:05Z</dc:date>
    </item>
    <item>
      <title>Re: LPC845: resetting M0+ Core and Peripherals</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC845-resetting-M0-Core-and-Peripherals/m-p/807229#M32403</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi René Kniest,&lt;BR /&gt;Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.&lt;BR /&gt;I haven't found you to execute jumping to the application after configuring VTOR register.&lt;BR /&gt;To provide the fastest possible support, I'd highly recommend you to refer to some bootloader application notes for details.&lt;BR /&gt;You can download these bootloader applications notes via the following link.&lt;BR /&gt;&lt;A href="https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/lpc-cortex-m-mcus/lpc800-series-cortex-m0-plus-mcus/low-cost-microcontrollers-mcus-based-on-arm-cortex-m0-plus-cores:LPC82X?tab=Documentation_Tab"&gt;https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/lpc-cortex-m-mcus/lpc800-series-cortex-m0-plus-mcus/low-cost-microcontrollers-mcus-based-on-arm-cortex-m0-plus-cores:LPC82X?tab=Documentation_Tab&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;TIC&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>Thu, 02 Aug 2018 02:13:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC845-resetting-M0-Core-and-Peripherals/m-p/807229#M32403</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2018-08-02T02:13:53Z</dc:date>
    </item>
    <item>
      <title>Re: LPC845: resetting M0+ Core and Peripherals</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC845-resetting-M0-Core-and-Peripherals/m-p/807230#M32404</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;VTOR is set to 0 on reset (see ARM document DUI0662 page 2-18), so this approach won't work .&lt;/P&gt;&lt;P&gt;Instead you can simulate the reset behavior, at a minimum by using your vector table to load the stack pointer and jump to the reset vector.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Aug 2018 09:31:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC845-resetting-M0-Core-and-Peripherals/m-p/807230#M32404</guid>
      <dc:creator>starblue</dc:creator>
      <dc:date>2018-08-02T09:31:07Z</dc:date>
    </item>
    <item>
      <title>Re: LPC845: resetting M0+ Core and Peripherals</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC845-resetting-M0-Core-and-Peripherals/m-p/807231#M32405</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Jürgen,&lt;BR /&gt;&lt;BR /&gt;I appreciate your reply, that surely helps.&lt;/DIV&gt;&lt;DIV&gt;What I'd like to achieve is to get rid of all history when switching from BootLoader to Application.&lt;BR /&gt;(e.g. clock settings, inits of peripherals, pending interrupts).&lt;BR /&gt;[that means not only resetting the M0+ Core, but reset the peripherals too]&lt;/DIV&gt;&lt;DIV&gt;The sketch of how to achieve this is added below.&lt;BR /&gt;I'll test it one of the coming days.&lt;BR /&gt;&lt;BR /&gt;Regards, René&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Switch from BootLoader to Application:&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;store in Flash: modeOfOperation = Application&lt;/LI&gt;&lt;LI&gt;enable the WatchDog, enable a WatchDog reset, with a short timeout (WatchDog Timer Constant register)&lt;/LI&gt;&lt;LI&gt;do not feed the WatchDog [a &lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;while(1);&lt;/SPAN&gt; is fine]&lt;BR /&gt;according to 22.6.1 in UM11029.pdf (LPC84x User Manual)&lt;BR /&gt;this results in a chip reset (so it seems that peripherals are also reset)&lt;/LI&gt;&lt;/UL&gt;&lt;DIV&gt;&lt;BR /&gt;At startup:&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;if (modeOfOperation == Application)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; JumpToUserApplication(); // Does not return&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;// BootLoader functionality here&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;void JumpToUserApplication(void)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pFunction appEntry;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t appStack;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp; &amp;nbsp; /* Get the application stack pointer (First entry in the application vector table) */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; appStack = (uint32_t) *((volatile uint32_t*) USER_APP_ADDRESS);&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp; &amp;nbsp; /* Get the application entry point (Second entry in the application vector table) */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; appEntry = (pFunction) *(volatile uint32_t*) (USER_APP_ADDRESS + 4);&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp; &amp;nbsp; /* Reconfigure vector table offset register to match the application location */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SCB-&amp;gt;VTOR = USER_APP_ADDRESS;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((volatile uint32_t*) 0xE000ED08) = USER_APP_ADDRESS;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp; &amp;nbsp; /* Set the application stack pointer */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __set_MSP(appStack);&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp; &amp;nbsp; /* Start the application */&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; appEntry();&amp;nbsp; // Does not return&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Aug 2018 11:52:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC845-resetting-M0-Core-and-Peripherals/m-p/807231#M32405</guid>
      <dc:creator>rene_kniest</dc:creator>
      <dc:date>2018-08-03T11:52:06Z</dc:date>
    </item>
    <item>
      <title>Re: LPC845: resetting M0+ Core and Peripherals</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC845-resetting-M0-Core-and-Peripherals/m-p/807232#M32406</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Jürgen,&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;The approach I sketched on August 3 is working fine.&lt;BR /&gt;Thanks again for your reply of August 2.&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;Regards, René&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Aug 2018 13:55:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC845-resetting-M0-Core-and-Peripherals/m-p/807232#M32406</guid>
      <dc:creator>rene_kniest</dc:creator>
      <dc:date>2018-08-06T13:55:04Z</dc:date>
    </item>
  </channel>
</rss>

