<?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: ISP Entry Methods in MCX N5xx EVK in MCX Microcontrollers</title>
    <link>https://community.nxp.com/t5/MCX-Microcontrollers/ISP-Entry-Methods-in-MCX-N5xx-EVK/m-p/2155099#M3779</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/252395"&gt;@Avinpat123&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;To enter ISP mode, please use the runBootloader API.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alice_Yang_0-1755679363032.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/353251iE278C0DC9D7BBAF2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alice_Yang_0-1755679363032.png" alt="Alice_Yang_0-1755679363032.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;P&gt;In the application image boot process, regardless of whether the ISP pin is connected to the high level, the device will directly enter the ISP mode through the UART interface according to the parameter ISP Interface in arg.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;BR /&gt;#define ROM_API_TREE ((uint32_t*)0x1303fc00)&lt;/P&gt;
&lt;P&gt;#define RUN_BOOTLOADER_API_TREE ((void (*)(void *)) ROM_API_TREE[0])&lt;/P&gt;
&lt;P&gt;uint32_t arg = 0xEB120000; /*0xEB: represents Enter Boot; 0x12: represents enter ISP mode by UART only */&lt;/P&gt;
&lt;P&gt;RUN_BOOTLOADER_API_TREE-&amp;gt;runBootloader(&amp;amp;arg);&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;BR /&gt;After the application image, which calls the above runBootloader API, has booted successfully, the device will only allow the UART interface to be connected to transfer the data with the host.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 20 Aug 2025 08:46:57 GMT</pubDate>
    <dc:creator>Alice_Yang</dc:creator>
    <dc:date>2025-08-20T08:46:57Z</dc:date>
    <item>
      <title>ISP Entry Methods in MCX N5xx EVK</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/ISP-Entry-Methods-in-MCX-N5xx-EVK/m-p/2154986#M3776</link>
      <description>&lt;P&gt;Hi, I am using an N5xx EVK. I need to enter into ISP mode so that I can make use of the default UART for flashing my user application via blhost . I want to trigger ISP entry through a software method instead of using hardware pins&lt;/P&gt;&lt;P&gt;I tried Hardware method that is working fine (by pressing ISP button then reset board) but i need software method&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;when we access via blhost command response was not there&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Avinpat123_0-1755671846901.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/353212iE639CA4E836BDEDD/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Avinpat123_0-1755671846901.png" alt="Avinpat123_0-1755671846901.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Tried code follows&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;typedef&lt;/SPAN&gt; &lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt; (*&lt;/SPAN&gt;&lt;SPAN&gt;pBootloaderEntry&lt;/SPAN&gt;&lt;SPAN&gt;)(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt; *arg);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt;&lt;SPAN&gt; BOOTLOADER_API_TREE_ADDR (0x1301fc00u)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt;&lt;SPAN&gt; BOOTLOADER_API_ENTRY ((pBootloaderEntry)(*(uint32_t *)(BOOTLOADER_API_TREE_ADDR)))&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;void&lt;/SPAN&gt; &lt;SPAN&gt;EnterISP&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PRINTF(&lt;/SPAN&gt;&lt;SPAN&gt;"Jumping to ROM &lt;/SPAN&gt;&lt;SPAN&gt;bootloader&lt;/SPAN&gt;&lt;SPAN&gt;...\r\n"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;__disable_irq();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;// Jump into &lt;/SPAN&gt;&lt;SPAN&gt;bootloader&lt;/SPAN&gt;&lt;SPAN&gt; (ISP mode)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;BOOTLOADER_API_ENTRY(0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/*&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* @brief Application entry point.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;int&lt;/SPAN&gt; &lt;SPAN&gt;main&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* &lt;/SPAN&gt;&lt;SPAN&gt;Init&lt;/SPAN&gt;&lt;SPAN&gt; board hardware. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;BOARD_InitBootPins();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;BOARD_InitBootClocks();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;BOARD_InitBootPeripherals();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;#ifndef&lt;/SPAN&gt;&lt;SPAN&gt; BOARD_INIT_DEBUG_CONSOLE_PERIPHERAL&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* &lt;/SPAN&gt;&lt;SPAN&gt;Init&lt;/SPAN&gt;&lt;SPAN&gt; FSL debug console. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;BOARD_InitDebugConsole();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;#endif&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PRINTF(&lt;/SPAN&gt;&lt;SPAN&gt;"Hello World2\r\n"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PRINTF(&lt;/SPAN&gt;&lt;SPAN&gt;"Send 'd' for firmware upgrade\r\n"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Enter an infinite loop, just incrementing a counter. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;while&lt;/SPAN&gt;&lt;SPAN&gt;(1)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;char&lt;/SPAN&gt;&lt;SPAN&gt; ch = GETCHAR();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; (ch == &lt;/SPAN&gt;&lt;SPAN&gt;'d'&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PRINTF(&lt;/SPAN&gt;&lt;SPAN&gt;"jump to &lt;/SPAN&gt;&lt;SPAN&gt;bootloader&lt;/SPAN&gt;&lt;SPAN&gt;...\r\n"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;EnterISP();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt; 0 ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 20 Aug 2025 06:38:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/ISP-Entry-Methods-in-MCX-N5xx-EVK/m-p/2154986#M3776</guid>
      <dc:creator>Avinpat123</dc:creator>
      <dc:date>2025-08-20T06:38:23Z</dc:date>
    </item>
    <item>
      <title>Re: ISP Entry Methods in MCX N5xx EVK</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/ISP-Entry-Methods-in-MCX-N5xx-EVK/m-p/2155099#M3779</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/252395"&gt;@Avinpat123&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;To enter ISP mode, please use the runBootloader API.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alice_Yang_0-1755679363032.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/353251iE278C0DC9D7BBAF2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alice_Yang_0-1755679363032.png" alt="Alice_Yang_0-1755679363032.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;P&gt;In the application image boot process, regardless of whether the ISP pin is connected to the high level, the device will directly enter the ISP mode through the UART interface according to the parameter ISP Interface in arg.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;BR /&gt;#define ROM_API_TREE ((uint32_t*)0x1303fc00)&lt;/P&gt;
&lt;P&gt;#define RUN_BOOTLOADER_API_TREE ((void (*)(void *)) ROM_API_TREE[0])&lt;/P&gt;
&lt;P&gt;uint32_t arg = 0xEB120000; /*0xEB: represents Enter Boot; 0x12: represents enter ISP mode by UART only */&lt;/P&gt;
&lt;P&gt;RUN_BOOTLOADER_API_TREE-&amp;gt;runBootloader(&amp;amp;arg);&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;BR /&gt;After the application image, which calls the above runBootloader API, has booted successfully, the device will only allow the UART interface to be connected to transfer the data with the host.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Aug 2025 08:46:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/ISP-Entry-Methods-in-MCX-N5xx-EVK/m-p/2155099#M3779</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2025-08-20T08:46:57Z</dc:date>
    </item>
    <item>
      <title>Re: ISP Entry Methods in MCX N5xx EVK</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/ISP-Entry-Methods-in-MCX-N5xx-EVK/m-p/2155725#M3785</link>
      <description>&lt;P&gt;Hi, Alice_yang thanks for the fast reply the solution you have provided that is &lt;STRONG&gt;working fine&lt;/STRONG&gt;&amp;nbsp;&lt;BR /&gt;and final code solution is written below.&lt;/P&gt;&lt;P&gt;1. I have one more question the information you have provided for bootloader API can we know in which doc it was defined can you just share me a link for that one.&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;// **ISP ROM API ADDRESS FOR MCX N5XX EVK**&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt;&lt;SPAN&gt; ROM_API_TREE ((uint32_t*)0x1303fc00)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;#define&lt;/SPAN&gt; &lt;SPAN&gt;RUN_BOOTLOADER_API_TREE&lt;/SPAN&gt;&lt;SPAN&gt; ((&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt; (*)(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt; *)) ROM_API_TREE[0])&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* &lt;/SPAN&gt;&lt;SPAN&gt;TODO&lt;/SPAN&gt;&lt;SPAN&gt;: insert other definitions and declarations here. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;void&lt;/SPAN&gt; &lt;SPAN&gt;EnterISP&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;void&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PRINTF(&lt;/SPAN&gt;&lt;SPAN&gt;"Entering ISP mode via software trigger...\r\n"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;// **CRITICAL: Use structured argument as per NXP Bootloader API specification**&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; arg = 0xEB120000;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/*&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* 0xEB12 0000 breakdown:// for ISP in UART interface only&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* 0xEB11 0000 breakdown:// for ISP in USB HID interface only&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* 0xEB = Enter Boot (Tag field [31:24])&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* 1 = Enter ISP mode (Boot Mode field [23:20])&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* 1 = USB HID Interface (ISP Interface field [19:16])&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* 2 = UART interface (ISP Interface field [19:16])&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* 0000 = Reserved/Image Index fields&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;__disable_irq();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;// Call NXP ROM &lt;/SPAN&gt;&lt;SPAN&gt;bootloader&lt;/SPAN&gt;&lt;SPAN&gt; API with correct argument&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;RUN_BOOTLOADER_API_TREE&lt;/SPAN&gt;&lt;SPAN&gt;(&amp;amp;arg);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;// Should never reach here&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;while&lt;/SPAN&gt;&lt;SPAN&gt;(1);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 21 Aug 2025 05:24:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/ISP-Entry-Methods-in-MCX-N5xx-EVK/m-p/2155725#M3785</guid>
      <dc:creator>Avinpat123</dc:creator>
      <dc:date>2025-08-21T05:24:43Z</dc:date>
    </item>
  </channel>
</rss>

