[SOLVED] IMXRT1020 will not program on secondary pinmux

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

  • [SOLVED] IMXRT1020 will not program on secondary pinmux

    Hi, Current release (V6.62a) and Beta (V6.63b) will not program my device which is on FlashSPI alternate config. Reverting to V6.56d fixes the issue. Interaction sequence is attached. I cannot send the hex file because it's too big for the forum but you can send me PM and I'll send it to you.

    Regards

    DAVE

    Brainfuck Source Code

    1. $ JLinkExe
    2. SEGGER J-Link Commander V6.63b (Compiled Feb 7 2020 17:27:18)
    3. DLL version V6.63b, compiled Feb 7 2020 17:27:03
    4. Connecting to J-Link via USB...O.K.
    5. Firmware: J-Trace PRO V2 Cortex compiled Jan 7 2020 16:55:37
    6. Hardware version: V2.00
    7. S/N: 93200XXXX
    8. License(s): RDI, FlashBP, FlashDL, JFlash, GDB
    9. IP-Addr: 172.26.172.168
    10. Emulator has RAWTRACE capability
    11. VTref=3.309V
    12. Type "connect" to establish a target connection, '?' for help
    13. J-Link>connect
    14. Please specify device / core. <Default>: MIMXRT1021XXX5A
    15. Type '?' for selection dialog
    16. Device>
    17. Please specify target interface:
    18. J) JTAG (Default)
    19. S) SWD
    20. T) cJTAG
    21. TIF>s
    22. Specify target interface speed [kHz]. <Default>: 4000 kHz
    23. Speed>
    24. Device "MIMXRT1021XXX5A" selected.
    25. Connecting to target via SWD
    26. Found SW-DP with ID 0x0BD11477
    27. DPIDR: 0x0BD11477
    28. Scanning AP map to find all available APs
    29. AP[1]: Stopped AP scan as end of AP map has been reached
    30. AP[0]: AHB-AP (IDR: 0x04770041)
    31. Iterating through AP map to find AHB-AP to use
    32. AP[0]: Core found
    33. AP[0]: AHB-AP ROM base: 0xE00FD000
    34. CPUID register: 0x411FC271. Implementer code: 0x41 (ARM)
    35. Found Cortex-M7 r1p1, Little endian.
    36. FPUnit: 8 code (BP) slots and 0 literal slots
    37. CoreSight components:
    38. ROMTbl[0] @ E00FD000
    39. ROMTbl[0][0]: E00FE000, CID: B105100D, PID: 000BB4C8 ROM Table
    40. ROMTbl[1] @ E00FE000
    41. ROMTbl[1][0]: E00FF000, CID: B105100D, PID: 000BB4C7 ROM Table
    42. ROMTbl[2] @ E00FF000
    43. ROMTbl[2][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
    44. ROMTbl[2][1]: E0001000, CID: B105E00D, PID: 000BB002 DWT
    45. ROMTbl[2][2]: E0002000, CID: B105E00D, PID: 000BB00E FPB-M7
    46. ROMTbl[2][3]: E0000000, CID: B105E00D, PID: 000BB001 ITM
    47. ROMTbl[1][1]: E0041000, CID: B105900D, PID: 001BB975 ETM-M7
    48. ROMTbl[1][2]: E0042000, CID: B105900D, PID: 004BB906 CTI
    49. ROMTbl[0][1]: E0040000, CID: B105900D, PID: 000BB9A9 TPIU-M7
    50. ROMTbl[0][2]: E0043000, CID: B105F00D, PID: 001BB101 TSG
    51. Cache: Separate I- and D-cache.
    52. I-Cache L1: 16 KB, 256 Sets, 32 Bytes/Line, 2-Way
    53. D-Cache L1: 16 KB, 128 Sets, 32 Bytes/Line, 4-Way
    54. Cortex-M7 identified.
    55. J-Link>mem 0x60000000 128
    56. 60000000 = FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
    57. 60000010 = FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
    58. <SNIP>
    59. 60000110 = FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
    60. 60000120 = FF FF FF FF FF FF FF FF ........
    61. J-Link>loadfile /XXXXX/Builds/circuitpython/ports/mimxrt10xx/build-versiboard2/firmware.hex
    62. Downloading file [/XXXXX/Builds/circuitpython/ports/mimxrt10xx/build-versiboard2/firmware.hex]...
    63. Comparing flash [100%]Erasing flash [100%] Done.
    64. ****** Error: PC of target system has unexpected value after erasing sectors. (PC = 0x00000000)!
    65. ---------------------------------------------------------------------- Registers -------------------------------------------------------------------------------------
    66. PC = 00000000
    67. Current: R0 = 00000000, R1 = 00000000, R2 = 00000000, R3 = 00000000
    68. R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000
    69. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    70. Failed to erase sectors.
    71. Can not read register 15 (R15) while CPU is runningCan not read register 7 (R7) while CPU is runningCan not read register 6 (R6) while CPU is runningCan not read register 5 (R5) while CPU is runningCan not read register 4 (R4) while CPU is runningCan not read register 3 (R3) while CPU is runningCan not read register 2 (R2) while CPU is runningCan not read register 1 (R1) while CPU is runningCan not rea
    72. Unspecified error -1
    73. J-Link>q
    74. dmarples@precision:~$ JLinkExe
    75. SEGGER J-Link Commander V6.56d (Compiled Dec 12 2019 13:05:00)
    76. DLL version V6.56d, compiled Dec 12 2019 13:04:51
    77. Connecting to J-Link via USB...O.K.
    78. Firmware: J-Trace PRO V2 Cortex compiled Jan 7 2020 16:55:37
    79. Hardware version: V2.00
    80. S/N: 93200XXXX
    81. License(s): RDI, FlashBP, FlashDL, JFlash, GDB
    82. IP-Addr: 172.26.172.168
    83. Emulator has RAWTRACE capability
    84. VTref=3.311V
    85. Type "connect" to establish a target connection, '?' for help
    86. J-Link>connect
    87. Please specify device / core. <Default>: MIMXRT1021XXX5A
    88. Type '?' for selection dialog
    89. Device>
    90. Please specify target interface:
    91. J) JTAG (Default)
    92. S) SWD
    93. T) cJTAG
    94. TIF>s
    95. Specify target interface speed [kHz]. <Default>: 4000 kHz
    96. Speed>
    97. Device "MIMXRT1021XXX5A" selected.
    98. Connecting to target via SWD
    99. Found SW-DP with ID 0x0BD11477
    100. Scanning AP map to find all available APs
    101. AP[1]: Stopped AP scan as end of AP map has been reached
    102. AP[0]: AHB-AP (IDR: 0x04770041)
    103. Iterating through AP map to find AHB-AP to use
    104. AP[0]: Core found
    105. AP[0]: AHB-AP ROM base: 0xE00FD000
    106. CPUID register: 0x411FC271. Implementer code: 0x41 (ARM)
    107. Found Cortex-M7 r1p1, Little endian.
    108. FPUnit: 8 code (BP) slots and 0 literal slots
    109. CoreSight components:
    110. ROMTbl[0] @ E00FD000
    111. ROMTbl[0][0]: E00FE000, CID: B105100D, PID: 000BB4C8 ROM Table
    112. ROMTbl[1] @ E00FE000
    113. ROMTbl[1][0]: E00FF000, CID: B105100D, PID: 000BB4C7 ROM Table
    114. ROMTbl[2] @ E00FF000
    115. ROMTbl[2][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
    116. ROMTbl[2][1]: E0001000, CID: B105E00D, PID: 000BB002 DWT
    117. ROMTbl[2][2]: E0002000, CID: B105E00D, PID: 000BB00E FPB-M7
    118. ROMTbl[2][3]: E0000000, CID: B105E00D, PID: 000BB001 ITM
    119. ROMTbl[1][1]: E0041000, CID: B105900D, PID: 001BB975 ETM-M7
    120. ROMTbl[1][2]: E0042000, CID: B105900D, PID: 004BB906 CTI
    121. ROMTbl[0][1]: E0040000, CID: B105900D, PID: 000BB9A9 TPIU-M7
    122. ROMTbl[0][2]: E0043000, CID: B105F00D, PID: 001BB101 TSG
    123. Cache: Separate I- and D-cache.
    124. I-Cache L1: 16 KB, 256 Sets, 32 Bytes/Line, 2-Way
    125. D-Cache L1: 16 KB, 128 Sets, 32 Bytes/Line, 4-Way
    126. Cortex-M7 identified.
    127. J-Link>mem 0x60000000 128
    128. 60000000 = FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
    129. 60000010 = FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
    130. <SNIP>
    131. 60000110 = FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
    132. 60000120 = FF FF FF FF FF FF FF FF
    133. J-Link>loadfile /XXXXX/Builds/circuitpython/ports/mimxrt10xx/build-versiboard2/firmware.hex
    134. Downloading file [/XXXXX/Builds/circuitpython/ports/mimxrt10xx/build-versiboard2/firmware.hex]...
    135. Comparing flash [100%]Erasing flash [100%] Done.
    136. Programming flash [100%] Done.
    137. Verifying flash [100%] Done.
    138. J-Link: Flash download: Bank 0 @ 0x60000000: 2 ranges affected (196608 bytes)
    139. J-Link: Flash download: Total time needed: 4.444s (Prepare: 0.046s, Compare: 2.590s, Erase: 0.368s, Program: 0.725s, Verify: 0.711s, Restore: 0.002s)
    140. O.K.
    141. J-Link>mem 0x60000000 128
    142. 60000000 = 46 43 46 42 00 04 01 56 00 00 00 00 00 03 03 00
    143. 60000010 = 01 00 00 00 01 04 00 00 40 00 00 00 00 00 00 00
    144. 60000020 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    145. 60000030 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    146. 60000040 = 00 00 00 00 01 04 06 00 00 00 00 00 00 00 00 00
    147. 60000050 = 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00
    148. 60000060 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    149. 60000070 = 00 00 00 00 00 00 00 00 10 00 10 00 00 00 00 00
    150. 60000080 = EB 04 18 0A 06 32 04 26 00 00 00 00 00 00 00 00
    151. 60000090 = 81 04 04 24 00 00 00 00 00 00 00 00 00 00 00 00
    152. 600000A0 = 06 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    153. 600000B0 = 20 04 18 08 00 00 00 00 00 00 00 00 00 00 00 00
    154. 600000C0 = 32 04 18 08 04 22 00 00 00 00 00 00 00 00 00 00
    155. 600000D0 = C7 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    156. 600000E0 = 02 04 18 08 04 20 00 00 00 00 00 00 00 00 00 00
    157. 600000F0 = 03 04 18 08 04 24 00 00 00 00 00 00 00 00 00 00
    158. 60000100 = 9F 04 04 24 00 00 00 00 00 00 00 00 00 00 00 00
    159. 60000110 = 31 04 04 20 00 00 00 00 00 00 00 00 00 00 00 00
    160. 60000120 = 00 00 00 00 00 00 00 00
    161. J-Link>
    Display All
  • Hello,

    We were able to reproduce not the same issue but a similar one.
    This one will be fixed in the next official version (V6.62b), scheduled to be available later today.

    Could you please give this version a quick try and provide feedback?

    BTW: I noticed that you do *not* perform a reset prior programming.
    This is recommended in order to make sure that the device is in a proper / defined state before programming.

    Best regards
    Erik
  • With this new version, using GDB Server, after an initial 'load' of an elf, 'start' or 'run' for the first time will result in a target disconnect. Restarting GDB Server and gdb allows normal operation thereafter.

    I cannot recreate the previously observed issue at the moment.

    Regards

    DAVE