[SOLVED] iMXRT1050-EVKB QSPI Flash issues

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] iMXRT1050-EVKB QSPI Flash issues

    Hi - I'm working on getting the iMXRT1050-EVKB NXP development board running/debugging using the QSPI flash (IS25WP064AJBLE). I've modified the EVKB hardware from the default HyperFlash to QSPI Flash. I've modified the JLinkDevices.xml to use iMXRT105x/NXP_iMXRT105x_QSPI.elf. I'm using JLink V6.50a with j-Trace Pro Cortex-M.

    Using a logic analyzer I can see that the JLink/Trace is reading/writing the QSPI flash successfully (and the data is what I expect) when it goes thru the comparison/program phase. I can see the QSPI flash being successfully read (and the data is what I expect) where the reset handler entry point code starts. However, the JLink gdb server always fails with:

    Starting target CPU...
    ERROR: Can not read register 15 (R15) while CPU is running
    Reading all registers
    ERROR: Can not read register 0 (R0) while CPU is running
    etc

    However, if I change the JLinkDevices.xml to use iMXRT102x/NXP_iMXRT102x_QSPI.elf, I can usually get it to work (usually; sometimes it seems that it fails to compare/erase properly).

    Is this an issue on my side? Any insight is appreciated. Thanks.
    -Kevin
  • Hello Kevin,

    Thank you for your inquiry.
    Such an issue is not known to us.
    Does the example project from our Wiki work on your board? Did you follow all steps? It has been tested with the EVK so it should be working:
    wiki.segger.com/i.MXRT1050#QSPI_Flash_2

    Did you power cycle the eval board after a failed session? iMX devices are prone to get stuck if something went wrong and only a power on reset clears the device from that state.

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Thanks for the response.

    Actually, no, the example project doesn't work.

    I downloaded the project. I downloaded Embedded Studio. I opened the .emProject file. I built the project. Looking at the map file it doesn't seem to put any code/data in the IMXRT1050 flash memory space (starts at 0x6000 0000), only in the ITCM/DTCM.

    So I fiddled with the configuration to put things in flash memory space (Options -> Code -> Build -> Memory Segments -> FLASH1 RX 0x60000000 ...) and rebuilt.

    I changed the JLinkDevices.xml to use iMXRT105x/NXP_iMXRT105x_QSPI.elf for the MIMRT105x devices.

    I then configured to debug using jlink (Options -> Debug -> Debugger -> Target Connection -> J-Link, and Target Device -> MIMRT1052xxxx). I'm using j-Trace Pro, with a 1050EVKB target. Starting a debug session pops up a dialog with "failed to download application. undocumented error".

    Changing the JLinkDevices.xml to use iMXRT102x/NXP_iMXRT102x_QSPI.elf works - it programs the flash and stops at main().
  • Following up: I tried the newly released V6.52 JLink driver, modified JLinkDevices.xml to use iMXRT105x/NXP_iMXRT105x_QSPI.elf, and now things work as expected. Seems this issue has been addressed in the latest driver.
  • Hello,

    Great to hear that you are up and running again.
    We will consider this thread as solved now.

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.