<?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 Microcontrollers中的主题 Re: __NVIC_SystemReset not working on MK82</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/NVIC-SystemReset-not-working-on-MK82/m-p/1730774#M65585</link>
    <description>&lt;P&gt;I think we have found the issue. It has to do with the K81 or K82 NMI pin, which is connected to the IRQ pin of a PN5180 or PN5190 NFC frontend. This interferes with the flash configuration block, as set in startup_mk81f25615 or startup_mk82f25615.&amp;nbsp; The default created from the SDK has the following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;//*****************************************************************************
// Flash Configuration block : 16-byte flash configuration field that stores
// default protection settings (loaded on reset) and security information that
// allows the MCU to restrict access to the Flash Memory module.
// Placed at address 0x400 by the linker script.
//*****************************************************************************
__attribute__ ((used,section(".FlashConfig"))) const struct {
    unsigned int word1;
    unsigned int word2;
    unsigned int word3;
    unsigned int word4;
} Flash_Config = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3DFE};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In this case:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;NMI_DIS bit is set, (NMI pin/interrupts reset default to 'enabled')&lt;/LI&gt;&lt;LI&gt;BOOTPIN_OPT is not set (which forces Boot from ROM is BOOTCFG0 is asserted - requires RESET pin enabled)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Changing to:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;NMI is not set (NMI Interrupts are always blocked)&lt;/LI&gt;&lt;LI&gt;BOOTPIN_OPT is set (requires BOOTSRC_SEL to be set)&lt;/LI&gt;&lt;LI&gt;BOOTSRC_SEL is 00b (Boot from Internal Flash)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;} Flash_Config = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3BFE};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;__NVIC_SystemReset() is now working.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(BTW, the reason why it worked after cycling power is because the FOPT register reverts to its unset state, 0xFFFFFFFF, after POR)&lt;/P&gt;</description>
    <pubDate>Thu, 28 Sep 2023 23:20:37 GMT</pubDate>
    <dc:creator>deniscollis</dc:creator>
    <dc:date>2023-09-28T23:20:37Z</dc:date>
    <item>
      <title>__NVIC_SystemReset not working on MK82</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/NVIC-SystemReset-not-working-on-MK82/m-p/1723488#M65546</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;The&amp;nbsp;__NVIC_SystemReset was once working, then after some development (XiP on external flash) it stopped working. Is there any prerequisites for the system reset or does anyone know how to debug why the reset seems to freeze the chip? It does seem to come back alive when I power off and on.&lt;/P&gt;</description>
      <pubDate>Fri, 15 Sep 2023 01:12:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/NVIC-SystemReset-not-working-on-MK82/m-p/1723488#M65546</guid>
      <dc:creator>zahidul3</dc:creator>
      <dc:date>2023-09-15T01:12:56Z</dc:date>
    </item>
    <item>
      <title>Re: __NVIC_SystemReset not working on MK82</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/NVIC-SystemReset-not-working-on-MK82/m-p/1726480#M65555</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/203908"&gt;@zahidul3&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm investigating your issue and I think there must be a reset status flag that is not being cleared, can you share with me the value of&amp;nbsp;RCM_SRS0 and&amp;nbsp;RCM_SRS1?&lt;/P&gt;
&lt;P&gt;These registers include read only status flags to indicate the source of the reset, you can find this on the reference manual chapter &lt;EM&gt;&lt;STRONG&gt;16.2 Reset memory map and register descriptions.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Best Regards, Miguel.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Sep 2023 18:06:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/NVIC-SystemReset-not-working-on-MK82/m-p/1726480#M65555</guid>
      <dc:creator>Miguel04</dc:creator>
      <dc:date>2023-09-20T18:06:16Z</dc:date>
    </item>
    <item>
      <title>Re: __NVIC_SystemReset not working on MK82</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/NVIC-SystemReset-not-working-on-MK82/m-p/1727452#M65557</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;I'm having the same issue, but with a different board and different firmware.&lt;/P&gt;&lt;P&gt;(I think this is related to&amp;nbsp;&lt;A href="https://community.nxp.com/t5/MCUXpresso-General/K8x-MCU-Reset-Fails-project-execution-fails-before-hitting/td-p/1700355" target="_self"&gt;this issue&lt;/A&gt;)&lt;/P&gt;&lt;P&gt;RCM After Normal Power-Cycle&lt;BR /&gt;SRS0 0x0&lt;BR /&gt;SRS1 0x4&lt;BR /&gt;SSRS0 0x82&lt;BR /&gt;SSRS1 0x4&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;RCM after Successful __NVIC_SystemReset&lt;/SPAN&gt;&lt;SPAN&gt;()&lt;BR /&gt;SRS0 0x0&lt;BR /&gt;SRS1 0x4&lt;BR /&gt;SSRS0 0x2&lt;BR /&gt;SSRS1 0x4&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;If&amp;nbsp;__NVIC_SystemReset() Fails, then debugger loses control, so you have to cycle power and restart MCUXpresso before you can attempt to read the RCM, therefore&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;RCM on first power-up after Failed __NVIC_SystemReset() (and system freeze):&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Either...&lt;BR /&gt;SRS0 0x2&lt;BR /&gt;SRS1 0x0&lt;BR /&gt;SSRS0 0x2&lt;BR /&gt;SSRS1 0x0&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Or..&lt;BR /&gt;SRS0 0x82&lt;BR /&gt;SRS1 0x0&lt;BR /&gt;SSRS0 0x82&lt;BR /&gt;SSRS1 0x0&lt;BR /&gt;(If a UART is connected to the PC, then the power cycle fails, but succeeds on a second power-cycle after disconnecting the UART, hence 2 RCM SRS possibilities)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 25 Sep 2023 19:39:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/NVIC-SystemReset-not-working-on-MK82/m-p/1727452#M65557</guid>
      <dc:creator>deniscollis</dc:creator>
      <dc:date>2023-09-25T19:39:05Z</dc:date>
    </item>
    <item>
      <title>Re: __NVIC_SystemReset not working on MK82</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/NVIC-SystemReset-not-working-on-MK82/m-p/1727464#M65558</link>
      <description>&lt;P&gt;Hi Miguel,&lt;/P&gt;&lt;P&gt;The reset sources before issuing the software reset is 0x82 from output of RCM_GetPreviousResetSources() API.&lt;/P&gt;</description>
      <pubDate>Thu, 21 Sep 2023 22:22:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/NVIC-SystemReset-not-working-on-MK82/m-p/1727464#M65558</guid>
      <dc:creator>zahidul3</dc:creator>
      <dc:date>2023-09-21T22:22:33Z</dc:date>
    </item>
    <item>
      <title>Re: __NVIC_SystemReset not working on MK82</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/NVIC-SystemReset-not-working-on-MK82/m-p/1730774#M65585</link>
      <description>&lt;P&gt;I think we have found the issue. It has to do with the K81 or K82 NMI pin, which is connected to the IRQ pin of a PN5180 or PN5190 NFC frontend. This interferes with the flash configuration block, as set in startup_mk81f25615 or startup_mk82f25615.&amp;nbsp; The default created from the SDK has the following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;//*****************************************************************************
// Flash Configuration block : 16-byte flash configuration field that stores
// default protection settings (loaded on reset) and security information that
// allows the MCU to restrict access to the Flash Memory module.
// Placed at address 0x400 by the linker script.
//*****************************************************************************
__attribute__ ((used,section(".FlashConfig"))) const struct {
    unsigned int word1;
    unsigned int word2;
    unsigned int word3;
    unsigned int word4;
} Flash_Config = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3DFE};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In this case:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;NMI_DIS bit is set, (NMI pin/interrupts reset default to 'enabled')&lt;/LI&gt;&lt;LI&gt;BOOTPIN_OPT is not set (which forces Boot from ROM is BOOTCFG0 is asserted - requires RESET pin enabled)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Changing to:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;NMI is not set (NMI Interrupts are always blocked)&lt;/LI&gt;&lt;LI&gt;BOOTPIN_OPT is set (requires BOOTSRC_SEL to be set)&lt;/LI&gt;&lt;LI&gt;BOOTSRC_SEL is 00b (Boot from Internal Flash)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;} Flash_Config = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF3BFE};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;__NVIC_SystemReset() is now working.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(BTW, the reason why it worked after cycling power is because the FOPT register reverts to its unset state, 0xFFFFFFFF, after POR)&lt;/P&gt;</description>
      <pubDate>Thu, 28 Sep 2023 23:20:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/NVIC-SystemReset-not-working-on-MK82/m-p/1730774#M65585</guid>
      <dc:creator>deniscollis</dc:creator>
      <dc:date>2023-09-28T23:20:37Z</dc:date>
    </item>
  </channel>
</rss>

