<?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: RT1050 - Debugging with QSPI flash on secondary pinmux in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934750#M3888</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So your code was quite helpful in helping me understand what exactly is going on in the boot header.&amp;nbsp; I can see how the code conforms to the ISSI IS25LP064, and also what needs to change for my Cypress S25FL256 device.&amp;nbsp; Notably, the Cypress part has four status registers (well, one status and three configuration registers), and the QUAD enable bit is in bit 1 of the second register, not bit 3 of the first.&amp;nbsp; So right now this is my boot header code:&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/* Width of flash addresses (either 24 or 32). */&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define QSPI_ADDR_WIDTH   24u&lt;/SPAN&gt;

&lt;SPAN class="property macro token"&gt;#ifdef USE_QSPI&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;const&lt;/SPAN&gt; flexspi_nor_config_t qspi_config &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;memConfig &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;tag                &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; FLEXSPI_CFG_BLK_TAG&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;version            &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; FLEXSPI_CFG_BLK_VERSION&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;readSampleClkSrc   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kFlexSPIReadSampleClk_LoopbackInternally&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;csHoldTime         &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;3u&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;csSetupTime        &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;3u&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="comment token"&gt;/* This defines the sequence to use to set the QUAD bit.
         * Command 0x01 writes up to four registers - SR1V, CR1V, CR2V, CR3V.
         * SR1V = 0x00 (no protection)
         * CR1V = 0x20 (bit 1 = QUAD enable, all other bits to 0)
         * CR2V = 0x60 (defaults -- high driver impedance, QPI off, 24-bit addresses)
         * CR3V = 0x78 (defaults -- 64 byte wrap, wrap disabled, 8 read dummy cycles) */&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;deviceModeCfgEnable  &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; true&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;deviceModeSeq&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;seqNum &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;deviceModeSeq&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;seqId  &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;deviceModeArg        &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00026078&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="comment token"&gt;/* Device geometry, I/O, and speed. */&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;deviceType    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kFlexSpiDeviceType_SerialNOR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sflashPadType &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kSerialFlash_4Pads&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;serialClkFreq &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kFlexSpiSerialClk_100MHz&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sflashA1Size  &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;32u&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1024u&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1024u&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;dataValidTime &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;16u&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;16u&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="comment token"&gt;/* Lookup table for flash commands for this device.  Up to 8 instructions
         * can be defined for each LUT table location.  Each instruction is 16 bits,
         * and the data structure organizes them as 32-bit words (for some reason). */&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;lookupTable &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
            &lt;SPAN class="comment token"&gt;/* 0 - Quad Input/output read sequence - with optimized XIP support */&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FLEXSPI_LUT_SEQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CMD_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;    FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xEB&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                        RADDR_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  FLEXSPI_4PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; QSPI_ADDR_WIDTH&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FLEXSPI_LUT_SEQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MODE8_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  FLEXSPI_4PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xA0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// 2 dummy cycles&lt;/SPAN&gt;
                                        DUMMY_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  FLEXSPI_4PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;// 4 dummy cycles&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FLEXSPI_LUT_SEQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;READ_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;   FLEXSPI_4PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                        JMP_ON_CS&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
            &lt;SPAN class="comment token"&gt;/* 1 - Read Status */&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FLEXSPI_LUT_SEQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CMD_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;    FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x05&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                        READ_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;   FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;// Read 1 byte&lt;/SPAN&gt;
            &lt;SPAN class="comment token"&gt;/* 3 - Write Enable */&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FLEXSPI_LUT_SEQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CMD_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;    FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x06&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                        STOP&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;       FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
            &lt;SPAN class="comment token"&gt;/* 4 - Write status */&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FLEXSPI_LUT_SEQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CMD_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;    FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x01&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                        WRITE_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;// Write 4 bytes&lt;/SPAN&gt;
            &lt;SPAN class="comment token"&gt;/* 5 - Erase Sector */&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;5&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FLEXSPI_LUT_SEQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CMD_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;    FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xD8&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Block Erase&lt;/SPAN&gt;
                                        RADDR_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; QSPI_ADDR_WIDTH&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
            &lt;SPAN class="comment token"&gt;/* 9 - Page Program */&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;9&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FLEXSPI_LUT_SEQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CMD_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;    FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x02&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                        RADDR_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; QSPI_ADDR_WIDTH&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;9&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FLEXSPI_LUT_SEQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;WRITE_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x08&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                        STOP&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;       FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
            &lt;SPAN class="comment token"&gt;/* 11 - Chip Erase */&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;11&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;  &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FLEXSPI_LUT_SEQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CMD_SDR&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;    FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xC7&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
                                        STOP&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;       FLEXSPI_1PAD&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;/* Pretend that our sectors (4KB) are as big as our 64KB blocks. */&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;pageSize           &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;256u&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sectorSize         &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;64u&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1024u&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;blockSize          &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;64u&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1024u&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;isUniformBlockSize &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; true&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#else&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;const&lt;/SPAN&gt; flexspi_nor_config_t hyperflash_config &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#endif &lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;// USE_QSPI&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not sure if this is completely correct, but it seems that the boot utility liked it enough to flash my SREC image to my board.&amp;nbsp; I think what I probably need to do now is verify that I have an actual functioning target by loading code into RAM, then maybe probe SDRAM to verify that's functioning, then try loading code into flash again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's not trivial to swap flash devices on this board... it's an 8-WSON package.&amp;nbsp; I don't have reason to question the flash device right now; I've got a number of other things to investigate before I try swapping chips.&amp;nbsp; You've been quite helpful, thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;David R.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 15 Aug 2019 23:53:05 GMT</pubDate>
    <dc:creator>dmarks_ls</dc:creator>
    <dc:date>2019-08-15T23:53:05Z</dc:date>
    <item>
      <title>RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934726#M3864</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;TL;DR - We can't seem to download and debug an RT1050 program image to a board that has a QSPI flash attached to the secondary FlexSPI pinmux location.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We've constructed a custom board based on the RT1050 (MIMXRT1052CVJ5B).&amp;nbsp; Because of how many serial I/O ports we had to allocate, we did not use an octal HyperFlash like that on the EVKB; rather, we connected a QSPI flash (S25FL256L) to the secondary pinmux location, as so:&lt;/P&gt;&lt;TABLE class="j-table jiveBorder" style="border: 1px solid #c6c6c6; border-width: 1px; border-color: #c6c6c6;"&gt;&lt;THEAD&gt;&lt;TR style="background-color: #efefef;"&gt;&lt;TH&gt;QSPI&lt;/TH&gt;&lt;TH&gt;FLEXSPI&lt;/TH&gt;&lt;TH&gt;GPIO&lt;/TH&gt;&lt;TH&gt;Ball&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;CS*&lt;/TD&gt;&lt;TD&gt;FLEXSPI_A_SS0_B&lt;/TD&gt;&lt;TD&gt;GPIO_B1_15&lt;/TD&gt;&lt;TD&gt;J14&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SCLK&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;FLEXSPI_&lt;/SPAN&gt;A_SCLK&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;GPIO_&lt;/SPAN&gt;B1_14&lt;/TD&gt;&lt;TD&gt;G12&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D3&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;FLEXSPI_&lt;/SPAN&gt;A_DATA3&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;GPIO_B1_10&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;L13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D2&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;FLEXSPI_A_DATA2&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;GPIO_B1_11&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;J13&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D1&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;FLEXSPI_A_DATA1&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;GPIO_B1_12&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;H12&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D0&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;FLEXSPI_A_DATA0&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;GPIO_B1_13&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;H11&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We also replicated the configuration DIP switches that are present on the EVKB.&amp;nbsp; Referring to Table 8-9 of the RT1050 manual, I could see that BOOT_CFG2[2:0] (i.e. BOOT_CFG[10:8]) needed to be "111" for "QSPI device&amp;nbsp;supports 3B read&amp;nbsp;by default (on&amp;nbsp;secondary pinmux&amp;nbsp;option)", not "010" for "HyperFlash 1.8V".&amp;nbsp; So I set the DIP switches to "0000 0011 0110" to select Flash Type 111 and Boot Type 10 (internal boot).&amp;nbsp; And it appears that I've set the DIP switches correctly, because if I reset the processor, I see this on the QSPI pins:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="rt1050_logic_qspi_secondary_pinmux.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/85011iB50904EFF5B1409F/image-size/large?v=v2&amp;amp;px=999" role="button" title="rt1050_logic_qspi_secondary_pinmux.png" alt="rt1050_logic_qspi_secondary_pinmux.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My Logic pod isn't fast enough to capture the actual data that's being transmitted (nor can it decode QSPI), but I can see three bursts... the first two are about 3.7 us each, and the big one is about 259 us long.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The debug pod (SEGGER J-Link Pro)&amp;nbsp;connects OK with the CPU; there was some initial confusion over what debug mode to use, but we now have SWD selected.&amp;nbsp; When I try to program and download an image, the SEGGER four-bar programming window appears, it gets to 25% compare a touch slowly, then 50%, then the window disappears:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="mcux_segger_flash_download.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/84670i73A02866211CDD46/image-size/large?v=v2&amp;amp;px=999" role="button" title="mcux_segger_flash_download.png" alt="mcux_segger_flash_download.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then the debugger lands at address 0x20b4f2 (the actual address for any given run is somewhat random, I got 0x20d136 another time):&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="mcux_break_at_address.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/84705iAAE36A2D882FC2C9/image-size/large?v=v2&amp;amp;px=999" role="button" title="mcux_break_at_address.png" alt="mcux_break_at_address.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;And you pretty much can't do anything at this point.&amp;nbsp; The addresses clearly reside inside the ROM region, so presumably the RT1050 was not able to boot successfully and remained in its ROM program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's what I see on my Logic probe while launching the debug session:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="rt1050_logic_qspi_debug_start.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/85161iD4916B1D3E3F0111/image-size/large?v=v2&amp;amp;px=999" role="button" title="rt1050_logic_qspi_debug_start.png" alt="rt1050_logic_qspi_debug_start.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That big burst in the middle there is a whole bunch of transfers, each lasting about 259 us and spaced apart every 6-7 ms.&amp;nbsp;&amp;nbsp;So, any ideas what we're doing wrong?&amp;nbsp; I certainly can't rule out a hardware issue, but it looks like the signals between the CPU and the QSPI flash are OK.&amp;nbsp; Maybe one has to do some additional configuration of the J-Link debug launch.&amp;nbsp; Where should I start?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Jul 2019 23:27:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934726#M3864</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2019-07-31T23:27:04Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934727#M3865</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A _jive_internal="true" data-content-finding="Community" data-userid="28688" data-username="drodgers" href="https://community.nxp.com/people/drodgers"&gt;David Rodgers&lt;/A&gt; ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; What's the IDE you are using?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; If you want to debug the code in XIP mode, it also related to the flashloader which associated with the IDE.&lt;/P&gt;&lt;P&gt;&amp;nbsp; So, in my opinion, I suggest you use the tool download the code to your external memory at first, instead of debug it, but you need to enter the serial download mode.&lt;/P&gt;&lt;P&gt;&amp;nbsp; You can try the MCUBootUtility tool, which can be downloaded from this link:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;A href="https://github.com/JayHeng/NXP-MCUBootUtility/releases/tag/v2.0.0"&gt;https://github.com/JayHeng/NXP-MCUBootUtility/releases/tag/v2.0.0&lt;/A&gt;&lt;/P&gt;&lt;P&gt;The user manual link:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://github.com/JayHeng/NXP-MCUBootUtility" title="https://github.com/JayHeng/NXP-MCUBootUtility"&gt;GitHub - JayHeng/NXP-MCUBootUtility: A one-stop boot utility tool based on Python2.7+wxPython4.0, it can help you get st…&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After you download the code, you can enter the internal boot mode again, check the code function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Aug 2019 09:57:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934727#M3865</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-08-02T09:57:26Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934728#M3866</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm using MCUX v11.0.0.&amp;nbsp; I'll try the serial download tool on Monday, but I hope I'm going to be able to load firmware into our board using a debug pod at some point.&amp;nbsp; Is it necessary to load firmware into a blank board using serial download before the board will accept a firmware image via debug pod w/ internal boot?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Aug 2019 13:32:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934728#M3866</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2019-08-02T13:32:41Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934729#M3867</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So, I'm trying to use the MCU Boot Utility, with limited success.&amp;nbsp; I changed BOOT_MODE to 01 using the DIP switches, plugged our board into my PC using a USB cable, pressed reset, and saw the USB HID device appear in Device Manager; I also saw the VID/PID 0x1FC9/0x0130 appear in the "Port Setup" drop-down boxes.&amp;nbsp; I ensured i.MXRT105x was selected, then opened Boot Device Configuration and switched the device model to ISSI IS25xx.&amp;nbsp; I clicked Connect to ROM and saw the "light" go yellow, then green, then blue, showing a VID/PID of 0x15A2/0x0073.&amp;nbsp; So we've got a valid connection to the target.&amp;nbsp; (If I forget to change the boot device from HyperFlash to QSPI flash, I get a special message about that.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, the "All-in-One Action" button isn't working.&amp;nbsp; I select my application image file (AXF) from my project, then explicity select ".out(acf) from MCUXpresso" as the image type.&amp;nbsp; I have "DEV Unsigned Image Boot" selected.&amp;nbsp; I click the AIO Action button, the UI grinds for about 8-9 seconds, then I get this dialog pop-up:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="boot_utility_bootable_image_fails.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/86273iDBEAE761BF3557B2/image-size/large?v=v2&amp;amp;px=999" role="button" title="boot_utility_bootable_image_fails.png" alt="boot_utility_bootable_image_fails.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My copy of the Boot Utility is located in "C:\NXP\NXP-MCUBootUtility-2.0.0\bin", so there's no spaces in the install path (can't believe we're still dealing with this in 2019).&amp;nbsp; So, what exactly am I supposed to do now?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(Also, the &lt;A href="https://github.com/JayHeng/NXP-MCUBootUtility"&gt;user guide on GitHub&lt;/A&gt; has a &lt;A href="https://camo.githubusercontent.com/cf1a78cde806f48732acb33d76a898d8699f9302/687474703a2f2f68656e6a61793732342e636f6d2f696d6167652f636e626c6f67732f6e7870536563426f6f745f76315f305f305f736563626f6f74315f756e7369676e65645f652e706e67"&gt;broken image&lt;/A&gt;.&amp;nbsp; In the section "&lt;A href="https://github.com/JayHeng/NXP-MCUBootUtility#331-mode-1-no-security-measures-are-enabled"&gt;3.3.1 Mode 1: No security measures are enabled&lt;/A&gt;", the diagram only includes the top 5-10% of the image; the rest is blank.&amp;nbsp; And I'd really like to see that particular diagram, since this is the section I'm having trouble with.)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Aug 2019 18:15:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934729#M3867</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2019-08-05T18:15:56Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934730#M3868</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I suspect the internal pullups are not switched on when using the secondary pinmux option, with the result that the flash is write protected at boot. My configuration now has 100K to 3v3 on /CS, DI and /HOLD, and then everything is peachy for me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DAVE&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Aug 2019 21:59:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934730#M3868</guid>
      <dc:creator>dmarples</dc:creator>
      <dc:date>2019-08-05T21:59:50Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934731#M3869</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN class=""&gt;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="285630" data-username="dmarples" href="https://community.nxp.com/people/dmarples"&gt;Dave Marples&lt;/A&gt;&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp; Thanks a lot for your updated information.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; The MCU internal pull up is weak, so normally, in the practical usage, it's better to add the external pull up.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; So you still have any further question.&lt;/P&gt;&lt;P&gt;&amp;nbsp; If you still need help from my side, please kindly let me know.&lt;/P&gt;&lt;DIV&gt;&lt;DIV class=""&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class="" data-comment-id="1186576"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;SPAN class="" data-acclaim-count="0" data-bullet="true" data-can-apply="false" data-show-icon="true" data-type="small"&gt;&lt;SPAN class=""&gt;Like&lt;SPAN class=""&gt; • &lt;/SPAN&gt;&lt;LABEL class=""&gt;Show 0 Likes&lt;/LABEL&gt;&lt;A _jive_internal="true" class="" data-acclaim-type="like" data-command="showAcclaim" data-content-finding="Community" data-count="0" data-object-id="1186576" data-object-type="2" href="https://community.nxp.com/thread/509297" title="Show 0 Likes"&gt;0&lt;/A&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A data-content-finding="Community" data-isanonymous="false"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;Reply&lt;/A&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;A _jive_internal="true" class="" data-author-id="215657" data-content-finding="Community" data-dom-actions="[]" data-object-id="1186576" data-object-type="2" data-object-url="https://community.nxp.com/thread/509297#comment-1186576" data-parent-id="-1" data-root-community="NXP Community" href="https://community.nxp.com/thread/509297"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt; Actions &lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Aug 2019 02:41:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934731#M3869</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-08-06T02:41:02Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934732#M3870</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/kerryzhou"&gt;kerryzhou&lt;/A&gt;‌&amp;nbsp;-- I think there was some confusion, Dave Marples offered his own insight on my original question; that was not me replying to my own thread.&amp;nbsp; In my hardware design, I already have a 10K pullup on CS* and 33K pullups on DQ3/HOLD* and DQ2/W*, matching the implementation on the EVKB.&amp;nbsp; Are you recommending any additional pullups?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;David R.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Aug 2019 20:32:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934732#M3870</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2019-08-07T20:32:45Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934733#M3871</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN class=""&gt;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="28688" data-username="drodgers" href="https://community.nxp.com/people/drodgers"&gt;David Rodgers&lt;/A&gt;&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp; So sorry,&amp;nbsp; Dave's reply really confuse me, which let me think it also from your reply. I mix it together, it's my fault.&lt;/P&gt;&lt;P&gt;&amp;nbsp; So, your problem still in the connection with MCUbootutility right?&lt;/P&gt;&lt;P&gt;&amp;nbsp; Could you share some screenshot about the connection problem on yourside?&lt;/P&gt;&lt;P&gt;&amp;nbsp; Do you also configure the Boot Device as FLEXSPI NOR, and configure the Boot Device configuration as your own QSPI?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV class=""&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Aug 2019 05:50:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934733#M3871</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-08-08T05:50:44Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934734#M3872</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/kerryzhou"&gt;kerryzhou&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;I've provided several screenshots above, showing QSPI bus activity, the behavior of the SEGGER programming window, the debugger context when the debug session launches, and the error dialog when I try programming the board directly using MCU Boot Utility.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll provide a summary of my configuration and my issues here:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;We have a custom RT1052 board with a QSPI flash attached to the secondary pinmux location, as specified above.&amp;nbsp; The flash was not pre-programmed prior to board assembly; it should be completely blank.&lt;/LI&gt;&lt;LI&gt;The board has a full complement of DIP switches matching the EVKB, allowing configuration of all relevant BOOT_CFG and BOOT_MODE settings.&lt;/LI&gt;&lt;LI&gt;We appear to have the correct BOOT_CFG/BOOT_MODE selection (internal boot, QSPI on secondary pinmux) because the RT1052 accesses the QSPI flash after reset.&lt;/LI&gt;&lt;LI&gt;The MCUXpresso debug launch is not programming the board as it should; the SEGGER window tries comparing flash, gives up at 50%, and then pauses and drops somewhere into the ROM code.&lt;/LI&gt;&lt;LI&gt;If I configure the RT1052 for "Serial Downloader" instead of "Internal Boot", I can connect the MCU Boot Utility using the USB connection on our board.&lt;/LI&gt;&lt;LI&gt;The MCU Boot Utility cannot seem to build and/or download a boot image to the RT1052; please see my August 5 reply above.&lt;/LI&gt;&lt;LI&gt;It is unclear to me whether it should be possible to perform an internal boot / SWD code download to a board with blank flash, or whether is necessary to have some load of code in the flash before a SWD debug launch and code download will work.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you provide any assistance for these issues?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Aug 2019 16:13:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934734#M3872</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2019-08-08T16:13:56Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934735#M3873</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;David,&lt;/P&gt;&lt;P&gt;Sorry if I confused matters, was trying to help. I went through a _lot_ of pain getting this configuration running, so I'd like to help a fellow sufferer &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;JLink certainly can program a blank flash on the secondary pinmux, that is (now!) what I do all of the time. I'm on 1021, but I can't imagine there are differences.&amp;nbsp; Given that your CPU is trying to access the flash I would be inclined to suspect you've got the various initialisation tables a bit wrong (or, more probably, MCUX has, since I don't think you generate them manually in a MCUX configuration).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm running NuttX and the start of my flash looks like this;&lt;/P&gt;&lt;PRE&gt;60000000 A __boot_hdr_start__
60000000 R flash_config
60001000 A __boot_hdr_conf__
60001000 R g_image_vector_table
60001020 R g_boot_data
60001030 A __boot_hdr_end__
60002000 A _stext
60002000 T _vectors&lt;/PRE&gt;&lt;P&gt;...and the various data in each of those tables is as follows;&lt;/P&gt;&lt;PRE&gt;000000 4346 4246 0400 5601 0000 0000 0300 0003
000010 0001 0000 0401 0000 0040 0000 0000 0000
000020 0000 0000 0000 0000 0000 0000 0000 0000
&amp;lt;SNIP&amp;gt;
001000 00d1 4120 2000 6000 0000 0000 0000 0000
001010 1020 6000 1000 6000 0000 0000 0000 0000
001020 0000 6000 ffff 1f7f 0000 0000 ffff ffff
001030 ffff ffff ffff ffff ffff ffff ffff ffff&lt;/PRE&gt;&lt;P&gt;The source that I build those tables from is;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;
__attribute__((section(".boot_hdr.conf")))
const struct flexspi_nor_config_s flash_config =
{
&amp;nbsp; .mem_config =
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; .tag&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; = FLEXSPI_CFG_BLK_TAG,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .version&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; = FLEXSPI_CFG_BLK_VERSION,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .read_sample_clksrc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = FLASH_READ_SAMPLE_CLK_LOOPBACK_INTERNELLY,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .cs_hold_time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3u,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .cs_setup_time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3u,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .device_mode_cfg_enable = true,&amp;nbsp;&amp;nbsp; &amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp; .device_mode_seq.seq_num= 1,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .device_mode_seq.seq_id = 4,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* These commands set the Quad bit */ 
&amp;nbsp;&amp;nbsp;&amp;nbsp; .device_mode_arg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x40,&amp;nbsp; /* on the flash to drive 4 pins.&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; .device_type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = FLEXSPI_DEVICE_TYPE_SERIAL_NOR,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .sflash_pad_type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = SERIAL_FLASH_4PADS,&amp;nbsp;&amp;nbsp; &amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp; .serial_clk_freq&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = FLEXSPI_SERIAL_CLKFREQ_100MHz,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .sflash_a1size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 8u * 1024u * 1024u,
&amp;nbsp;&amp;nbsp;&amp;nbsp; .data_valid_time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = {16u, 16u},
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* .controller_misc_option = (1 &amp;lt;&amp;lt; FLEXSPIMISC_OFFSET_PAD_SETTING_OVERRIDE_EN), */
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* .cspad_setting_override =&amp;nbsp;&amp;nbsp; 1|(1&amp;lt;&amp;lt;3)|(3&amp;lt;&amp;lt;6),&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* .sclkpad_setting_override = (7&amp;lt;&amp;lt;3)|(3&amp;lt;&amp;lt;6),&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* .datapad_setting_override = (2&amp;lt;&amp;lt;3)|(3&amp;lt;&amp;lt;6),&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* .dqspad_setting_override = 0, */

&amp;nbsp;&amp;nbsp;&amp;nbsp; .lookup_table&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; /* 0 - Quad Input/output read sequence - with optimised XIP support */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [0]=FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xEB, RADDR_SDR, FLEXSPI_4PAD, 0x18),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [1]=FLEXSPI_LUT_SEQ(MODE8_SDR, FLEXSPI_4PAD, 0xA0, DUMMY_SDR, FLEXSPI_4PAD, 0x04),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [2]=FLEXSPI_LUT_SEQ(READ_SDR, FLEXSPI_4PAD, 0x04, JMP_ON_CS, 0, 1),

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 1 - Read Status */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [1*4] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x05, READ_SDR, FLEXSPI_1PAD, 0x01),
&amp;nbsp;&amp;nbsp; &amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 3 - Write Enable */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [3*4] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x06, STOP, 0, 0),
&amp;nbsp;&amp;nbsp; &amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 4 - Write status */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [4*4] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x01, WRITE_SDR, FLEXSPI_1PAD, 0x1), 

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 5 - Erase Sector */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [5*4] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xD7, RADDR_SDR, FLEXSPI_1PAD, 0x18),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 9 - Page Program */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [9*4] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x02, RADDR_SDR, FLEXSPI_1PAD, 0x18),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [9*4+1] = FLEXSPI_LUT_SEQ(WRITE_SDR, FLEXSPI_1PAD, 0x8, STOP, FLEXSPI_1PAD, 0x0),
&amp;nbsp;&amp;nbsp; &amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 11 - Chip Erase */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [11*4] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0xC7, STOP, FLEXSPI_1PAD, 0x0),
&amp;nbsp;&amp;nbsp;&amp;nbsp; },
&amp;nbsp; },
&amp;nbsp; 
&amp;nbsp; .page_size&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; = 256u,
&amp;nbsp; .sector_size&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; = 4u * 1024u,
&amp;nbsp; .blocksize&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; = 32u * 1024u,
&amp;nbsp; .is_uniform_blocksize&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = false,
};

&lt;PRE&gt;__attribute__((section(".boot_hdr.ivt")))
const struct ivt_s g_image_vector_table =
{
&amp;nbsp; IVT_HEADER,&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; /* IVT Header */
&amp;nbsp; 0x60002000,&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; /* Image&amp;nbsp; Entry Function */
&amp;nbsp; IVT_RSVD,&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; /* Reserved = 0 */
&amp;nbsp; (uint32_t)DCD_ADDRESS,&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; /* Address where DCD information is stored */
&amp;nbsp; (uint32_t)BOOT_DATA_ADDRESS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Address where BOOT Data Structure is stored */
&amp;nbsp; (uint32_t)&amp;amp;g_image_vector_table,&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Pointer to IVT Self (absolute address) */
&amp;nbsp; (uint32_t)CSF_ADDRESS,&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; /* Address where CSF file is stored */
&amp;nbsp; IVT_RSVD&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; /* Reserved = 0 */
};

__attribute__((section(".boot_hdr.boot_data")))
const struct boot_data_s g_boot_data =
{
&amp;nbsp; FLASH_BASE,&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; /* boot start location */
&amp;nbsp; (FLASH_END - FLASH_BASE),&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* size */
&amp;nbsp; PLUGIN_FLAG,&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; /* Plugin flag*/
&amp;nbsp; 0xFFFFFFFF&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; /* empty - extra data word */
};&lt;/PRE&gt;&lt;/PRE&gt;&lt;P&gt;Drop me a note if you want an image to just try burning into the chip to see if it will boot from it...you should be able to do that from JLinkExe which would at least put to bed any concern over hardware issues.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;DAVE&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Aug 2019 00:26:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934735#M3873</guid>
      <dc:creator>dmarples</dc:creator>
      <dc:date>2019-08-09T00:26:21Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934736#M3874</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN class=""&gt;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="28688" data-username="drodgers" href="https://community.nxp.com/people/drodgers"&gt;David Rodgers&lt;/A&gt;&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Thanks a lot for your detail information.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; In factor, the secondary pin mux option connect to the nor flash, not only related to the BOOT_CFG, BOOT_MODE configuration, you also need to configure the option0 and option1 in the flashloader, that's why you have problems both in the mcuxpresso IDE and MCUBootutility.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; About the MCUXpresso IDE associated with JLINK, it may need to modify some files in the JLINK driver. Actually, if you are using the IAR, it will be more easy to modify it, you can modify the .board files.&lt;/P&gt;&lt;P&gt;But, about the MCUBootUtility tools, I have checked it with the tool author yesterday, but forget to tell you the details, now, please use the MCUbootUtility to download the code again.&lt;/P&gt;&lt;P&gt;1.&amp;nbsp; RT board enter the serial download mode, BOOT_MODE=01.&lt;/P&gt;&lt;P&gt;2. Open the MCUBootUtility tool, configure the following point:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/86666i61AFED2ADB84995A/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;option 0[Has option1]=1, option1[enable second pinmux] =1, just choose the secondary pin mux.&lt;/P&gt;&lt;P&gt;Then, when you download the code, the flashloader will try the nor flash which is connect to the secorday mux pins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please try it on your side.&lt;/P&gt;&lt;P&gt;Any updated information, please kindly let me know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Aug 2019 02:17:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934736#M3874</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-08-09T02:17:18Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934737#M3875</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not aware of any need to change files in jlink, at least for the&lt;/P&gt;&lt;P&gt;1021...it may of course be different for the other chips. There &lt;U&gt;is&lt;/U&gt; a need&lt;/P&gt;&lt;P&gt;to change jlink files when you're moving from hyperflash to qspi (there is&lt;/P&gt;&lt;P&gt;jlink documentation available on this) but not according to which bus&lt;/P&gt;&lt;P&gt;you've got your qpsi device connected to - provided you've not messed with&lt;/P&gt;&lt;P&gt;the fuses then that is set by the configuration pins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dave&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Aug 2019 06:41:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934737#M3875</guid>
      <dc:creator>dmarples</dc:creator>
      <dc:date>2019-08-09T06:41:50Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934738#M3876</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN class=""&gt;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="285630" data-username="dmarples" href="https://community.nxp.com/people/dmarples"&gt;Dave Marples&lt;/A&gt;&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; You are right, the JLINK file which is needed to mofiy is the JLinkDevices.xml file, as you know, the default setting is used for Hyper Flash.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; The option0 and option1 is used when download the code with MCUBootUtility, it is used to select the secondary pin mux.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Could you tell me your RT1020 with JLINK is based on which IDE? MCUXPresso or others, eg IAR, MDK?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Aug 2019 07:18:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934738#M3876</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-08-09T07:18:09Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934739#M3877</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do you have a reference for the J-Link documentation for&amp;nbsp;changing J-Link&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&amp;nbsp;files when moving from Hyperflash to&amp;nbsp;QSPI?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Aug 2019 15:06:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934739#M3877</guid>
      <dc:creator>amwilhite</dc:creator>
      <dc:date>2019-08-09T15:06:34Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934740#M3878</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN class=""&gt;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="320108" data-username="amwilhite@indesign-llc.com" href="https://community.nxp.com/people/amwilhite@indesign-llc.com"&gt;Austin Wilhite&lt;/A&gt;&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp; Please check my attached JLinkDevices.xml, it modify the RT105X from hyper flash to QSPI flash.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/86692i5CC3FE0EC7D86CB0/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps you!&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Aug 2019 02:08:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934740#M3878</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-08-12T02:08:11Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934741#M3879</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dave,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are you using a Quad SPI Flash that is different from the&amp;nbsp;IS25WP064A populated on the EVK?&lt;/P&gt;&lt;P&gt;Can you comment on the changes you made to the flash config structure that differ from those listed in &lt;A _jive_internal="true" href="https://community.nxp.com/thread/508663#comment-1182536"&gt;this thread&lt;/A&gt;?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Aug 2019 17:27:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934741#M3879</guid>
      <dc:creator>amwilhite</dc:creator>
      <dc:date>2019-08-12T17:27:25Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934742#M3880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your valuable information!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Kerry&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Aug 2019 02:10:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934742#M3880</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-08-13T02:10:38Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934743#M3881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/kerryzhou"&gt;kerryzhou&lt;/A&gt;‌, &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/jayheng"&gt;jayheng&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Finally coming back around to try and get this working... regarding the MCU Boot Utility,&amp;nbsp;I did modify my Boot Device Configuration to select "Has Option1" and "Enable Second Pinmux", but I'm still getting the error dialog that says&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;Bootable image is not generated successfully! Make sure you don't put the tool in path with blank space!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See &lt;A _jive_internal="true" href="https://community.nxp.com/thread/509297#comment-1187411"&gt;my comment above&lt;/A&gt; where I detailed what was occurring.&amp;nbsp; I've attached a text file (anonymized) of the output of the console window when I hit the "All-in-One Action" button.&amp;nbsp; You can see from the output that I have the tool installed in a space-free directory path.&amp;nbsp; Any ideas what's wrong with the Boot Utility?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Aug 2019 18:12:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934743#M3881</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2019-08-13T18:12:40Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934744#M3882</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/dmarples"&gt;dmarples&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I see what you're on about with editing the boot header configuration... that does have to be customized to match the flash device that's in use on the board.&amp;nbsp; Can you tell me what flash device you have on your RT1021 board?&amp;nbsp; I need to reconcile some of what's in your source code with your device's datasheet. so I can better understand how to modify my code for our flash device.&amp;nbsp; We're using a Cypress S25FL256L (&lt;A href="https://www.cypress.com/file/316171/download"&gt;datasheet&lt;/A&gt;), and I can see that its geometry and command set is slightly different from what you have defined.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;David R.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Aug 2019 20:45:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934744#M3882</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2019-08-13T20:45:47Z</dc:date>
    </item>
    <item>
      <title>Re: RT1050 - Debugging with QSPI flash on secondary pinmux</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934745#M3883</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm using the same devices as on the Eval Board, IS25LP064A. It's a while since I made the changes but IIRC you don't need _all_ of the entries in the boot header to bring it up (once I'd figured out the structure of the boot header, then it was easier to put them all in for the case I might need them later).&amp;nbsp; I would recommend dropping one of these chips onto your board to remove a variable, then working back to your flash device.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;DAVE&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Aug 2019 21:00:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1050-Debugging-with-QSPI-flash-on-secondary-pinmux/m-p/934745#M3883</guid>
      <dc:creator>dmarples</dc:creator>
      <dc:date>2019-08-13T21:00:57Z</dc:date>
    </item>
  </channel>
</rss>

