I've attempted to compile and run the MCUXpresso 11.9.1 MCU-Link Flash driver for an RT1170 using these instructions (out-of-date, gotta go hunting for directories and files but welcome to the Wild West), only to be rewarded with the following error message when trying to attach to a target board:
WARNING - uknown version of flash memory device in driver image (v.0x0)
This error message came from trying to attach to a target using the Debug build of iMXRT117x_FlexSPI_SFDP. A Release build using "MIMXRT1170_SFDP_QSPI" as described in the ReadMe.txt won't even compile. Sigh.
So MCUXpresso's J-Link can't be configured to match the target's SPI Flash interface and now the MCU-LInk stuff dives down this rat hole. Extremely. Frustrating. They weren't kidding when they said that if you step even just a little bit away from the reference design you're going to be launched into lots of time-wasting adventures.
Any help?
Hi @Littell
The built-in flash download algorithm of MCUXpresso IDE can only be used in CMSIS-DAP type simulators. If you use JLink in MCUXPresso IDE, then the download algorithm can only use JLink's algorithm.
"MIMXRT1170_SFDP_QSPI" is the download algorithm of CMSIS. So your pin has been modified, it won't work anymore.
So you should change the board to an external debuger(shorted JP5) and debug it using jlink.
BR
Hang
Hi @Littell
I'm sorry, I misunderstood.
According to the error message prompt, there is a problem with the current download algorithm. May I ask if you have changed the flash?
BR
Hang
Please re-read my original post. I need MCU-Link support for SPI NOR Flash connected to the FlexSPI1 Secondary Pin Group. I followed the directions as well as I could in Kerry's KB article but it fails with the error message shown.
What are the correct steps needed to add Secondary Pin Group support to MCU-Link in the MCUXpresso IDE?
Hi @Littell
MCU-LINK supports CMSIS-DAP debugging protocol, and the debugger on the board defaults to CMSIS-DAP. "MIMXRT1170_SFDP_QSPI" is the download algorithm of CMSIS.
To better address your question, could you please tell me which article you mentioned about Kerry?
BR
Hang
This is Kerry's article: https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/RT1170-flexSPI1-secondary-QSPI-flash-debug-flash...
It's written for an older version of MCUXpresso (11.8.1) but I was able to find the needed files and make the modification to support the Secondary Pin Group. However, attempting to use the modified driver resulted in the error message:
WARNING - uknown version of flash memory device in driver image (v.0x0)
The question (once again) is what are the correct steps to create a working driver that is modified to support the Secondary Pin Group?
Hi
I have generated a cfx file based on the document, you can try it.
If it still doesn't work, change project LPCXFlashDriverLiB to debug mode and compile it. change project IMXRT117x_FlexSFDP to debug mode and compile it. Change option0 and option1 to the corresponding mode, run project IMXRT117x_FlexSFDP, it will debug the test_main.c.
BR
Hang
The result was:
...
MCUXpresso IDE RedlinkMulti Driver v11.9 (Apr 5 2024 19:43:49 - crt_emu_cm_redlink build 47)
Found chip XML file in C:/Dev/SmartStart/repositories/Engineering/720-0082-00/ONS-6447/design_files/RT117/APP/Debug\MIMXRT1176xxxxx.xml
( 5) Remote configuration complete
Reconnected to existing LinkServer process.
============= SCRIPT: RT1170_connect_M7_wake_M4.scp =============
RT1170 Connect M7 and Wake M4 Script
DpID = 6BA02477
APID = 0x84770001
Setting M4 spin code
Setting M4 clock
Resetting M4 core
View cores on the DAP AP
DpID = 6BA02477
TAP 0: 6BA02477 Core 0: M7 APID: 84770001 ROM Table: E00FD003*
TAP 0: 6BA02477 Core 1: M4 APID: 24770011 ROM Table: E00FF003
============= END SCRIPT ========================================
Probe Firmware: MCU-LINK on-board (r0E2) CMSIS-DAP V3.140 (NXP Semiconductors)
Serial Number: 5KCGN5K55MEDO
VID:PID: 1FC9:0143
USB Path: 0001:0011:00
Using memory from core 0 after searching for a good core
debug interface type = <unknown> (DAP DP ID 6BA02477) over <unset_wire_type> TAP 0
processor type = Cortex-M7 (CPU ID 00000C27) on DAP AP 0
number of h/w breakpoints = 8
number of flash patches = 0
number of h/w watchpoints = 4
Probe(0): Connected&Reset. DpID: 6BA02477. CpuID: 00000C27. Info: <None>
Debug protocol: SWD. RTCK: Disabled. Vector catch: Disabled.
Content of CoreSight Debug ROM(s):
RBASE E00FD000: CID B105100D PID 000008E88C ROM (type 0x1)
ROM 1 E00FE000: CID B105100D PID 04000BB4C8 ROM (type 0x1)
ROM 2 E00FF000: CID B105100D PID 04000BB4C7 ROM (type 0x1)
ROM 3 E000E000: CID B105E00D PID 04000BB00C Gen SCS (type 0x0)
ROM 3 E0001000: CID B105E00D PID 04000BB002 Gen DWT (type 0x0)
ROM 3 E0002000: CID B105E00D PID 04000BB00E Gen (type 0x0)
ROM 3 E0000000: CID B105E00D PID 04000BB001 Gen ITM (type 0x0)
ROM 2 E0041000: CID B105900D PID 04001BB975 CSt ARM ETMv4.0 type 0x13 Trace Source - Core
ROM 2 E0042000: CID B105900D PID 04004BB906 CSt type 0x14 Debug Control - Trigger, e.g. ECT
ROM 1 E0043000: CID B105900D PID 04001BB908 CSt CSTF type 0x12 Trace Link - Trace funnel/router
NXP: MIMXRT1176xxxxx
DAP stride is 1024 bytes (256 words)
Inspected v.2 External Flash Device on SPI using SFDP JEDEC ID MIMXRT1170_SFDP_QSPI_SECONDPIN.cfx
Image 'iMXRT1170_SFDP_FlexSPI1_A_QSPI Aug 19 2024 12:07:18'
Opening flash driver MIMXRT1170_SFDP_QSPI_SECONDPIN.cfx
Sending VECTRESET to run flash driver
Driver V.2 dynamic startup failed - driver Init provided no flash parameters
Flash Driver V.2 startup failed - rc Ef(55): Dynamic flash driver startup failed to provide flash parameters.
Terminate (0x0, 0x0, 0x0) status 0x40 - driver reports init failure - EXTSPIJ driver rc 20107 (0x4E8B)
chip initialization failed - Ef(55): Dynamic flash driver startup failed to provide flash parameters.
failed to initialize flash driver MIMXRT1170_SFDP_QSPI_SECONDPIN.cfx
Inspected v.2 External Flash Device on SPI using SFDP JEDEC ID MIMXRT1170_SFDP_QSPI_SECONDPIN.cfx
Image 'iMXRT1170_SFDP_FlexSPI1_A_QSPI Aug 19 2024 12:07:18'
Opening flash driver MIMXRT1170_SFDP_QSPI_SECONDPIN.cfx
chip initialization failed - Ep(08). Cannot access core regs when target running.
failed to initialize flash driver MIMXRT1170_SFDP_QSPI_SECONDPIN.cfx
Beyond that I can't offer much. I don't have time to debug your code. I barely have time to debug my own!
Hi
You can also refer to this article.
https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/RT1170-Octal-flash-enablement/ta-p/1498369
BR
Hang
Did the error messages I posted indicate the cause of the problem?
Hi @Littell
This error message indicates that there was an issue during the initialization of the flash driver.
So I suggest you debug it.
Change project LPCXFlashDriverLiB to debug mode and compile it. change project IMXRT117x_FlexSFDP to debug mode and compile it. Change option0 and option1 to the corresponding mode, run project IMXRT117x_FlexSFDP, it will debug the test_main.c.
BR
Hang