[SOLVED] JLINK how to get uboot running on imx6ull

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

  • [SOLVED] JLINK how to get uboot running on imx6ull

    Hello,

    I have a imx6ull evk and I would like to test the JTAG interface. Executing JLinkExe and starting JLinkGdbServer works fine.

    Source Code

    1. SEGGER J-Link Commander V6.30k (Compiled Apr 9 2018 18:33:16)
    2. DLL version V6.30k, compiled Apr 9 2018 18:33:07
    3. Connecting to J-Link via USB...O.K.
    4. Firmware: J-Link V10 compiled Mar 29 2018 17:45:34
    5. Hardware version: V10.10
    6. S/N: 50105141
    7. License(s): GDB
    8. VTref = 3.315V
    9. Type "connect" to establish a target connection, '?' for help
    10. J-Link>connect
    11. Please specify device / core. <Default>: MCIMX6Y2
    12. Type '?' for selection dialog
    13. Device>
    14. Please specify target interface:
    15. J) JTAG (Default)
    16. S) SWD
    17. TIF>
    18. Device position in JTAG chain (IRPre,DRPre) <Default>: -1,-1 => Auto-detect
    19. JTAGConf>
    20. Specify target interface speed [kHz]. <Default>: 4000 kHz
    21. Speed>
    22. Device "MCIMX6Y2" selected.
    23. Connecting to target via JTAG
    24. J-Link script: Setting up AP map
    25. TotalIRLen = 13, IRPrint = 0x0101
    26. **************************
    27. WARNING: At least one of the connected devices is not JTAG compliant (IEEE Std 1149.1, 7.1.1.d, IR-cells). (NumDevices = 3, NumBitsSet = 2)
    28. **************************
    29. JTAG chain detection found 3 devices:
    30. #0 Id: 0x5BA00477, IRLen: 04, CoreSight JTAG-DP
    31. #1 Id: 0x00000001, IRLen: 05, Unknown device
    32. #2 Id: 0x088C101D, IRLen: 04, JTAG-DP
    33. AP map detection skipped. Manually configured AP map found.
    34. AP[0]: AHB-AP (IDR: Not set)
    35. AP[1]: APB-AP (IDR: Not set)
    36. Using preconfigured AP[1] as APB-AP
    37. AP[1]: APB-AP found
    38. ROMTbl[0][0]: CompAddr: 80001000 CID: B105900D, PID:04-001BB961 TMC
    39. ROMTbl[0][1]: CompAddr: 80002000 CID: B105900D, PID:04-004BB906 CTI
    40. ROMTbl[0][2]: CompAddr: 80003000 CID: B105900D, PID:04-004BB912 TPIU
    41. ROMTbl[0][3]: CompAddr: 80004000 CID: B105F00D, PID:04-001BB101 TSG
    42. ROMTbl[0][4]: CompAddr: 80020000 CID: B105100D, PID:04-000BB4A7 ROM Table
    43. ROMTbl[1][0]: CompAddr: 80030000 CID: B105900D, PID:04-005BBC07 Cortex-A7
    44. Found Cortex-A7 r0p5
    45. 6 code breakpoints, 4 data breakpoints
    46. Debug architecture ARMv7.1
    47. Data endian: little
    48. Main ID register: 0x410FC075
    49. I-Cache L1: 32 KB, 512 Sets, 32 Bytes/Line, 2-Way
    50. D-Cache L1: 32 KB, 128 Sets, 64 Bytes/Line, 4-Way
    51. Unified-Cache L2: 128 KB, 256 Sets, 64 Bytes/Line, 8-Way
    52. System control register:
    53. Instruction endian: little
    54. Level-1 instruction cache enabled
    55. Level-1 data cache disabled
    56. MMU disabled
    57. Branch prediction enabled
    58. Cortex-A7 identified.
    59. J-Link>
    60. Unknown command. '?' for help.
    61. J-Link>
    Display All


    Source Code

    1. SEGGER J-Link GDB Server V6.30k Command Line Version
    2. JLinkARM.dll V6.30k (DLL compiled Apr 9 2018 18:33:07)
    3. -----GDB Server start settings-----
    4. GDBInit file: none
    5. GDB Server Listening port: 2331
    6. SWO raw output listening port: 2332
    7. Terminal I/O port: 2333
    8. Accept remote connection: yes
    9. Generate logfile: off
    10. Verify download: off
    11. Init regs on start: off
    12. Silent mode: off
    13. Single run mode: off
    14. Target connection timeout: 0 ms
    15. ------J-Link related settings------
    16. J-Link Host interface: USB
    17. J-Link script: none
    18. J-Link settings file: none
    19. ------Target related settings------
    20. Target device: Unspecified
    21. Target interface: JTAG
    22. Target interface speed: 4000kHz
    23. Target endian: little
    24. Connecting to J-Link...
    25. J-Link is connected.
    26. Failed to set device (Unspecified). Unknown device selected?ERROR : Failed to set device.
    27. Firmware: J-Link V10 compiled Mar 29 2018 17:45:34
    28. Hardware: V10.10
    29. S/N: 50105141
    30. Feature(s): GDB
    31. Checking target voltage...
    32. Target voltage: 3.32 V
    33. Listening on TCP/IP port 2331
    34. Connecting to target...ERROR: No CPU core or target device has been selected. Please make sure at least the core J-Link shall connect to, is selected.
    35. ERROR: Could not connect to target.
    36. Target connection failed. GDBServer will be closed...Restoring target state and closing J-Link connection...
    37. Shutting down...
    38. Could not connect to target.
    39. Please check power, connection and settings.cb82lol@cb82lol:~$ JLinkGDBServer -device MCIMX6Y2
    40. SEGGER J-Link GDB Server V6.30k Command Line Version
    41. JLinkARM.dll V6.30k (DLL compiled Apr 9 2018 18:33:07)
    42. Command line: -device MCIMX6Y2
    43. -----GDB Server start settings-----
    44. GDBInit file: none
    45. GDB Server Listening port: 2331
    46. SWO raw output listening port: 2332
    47. Terminal I/O port: 2333
    48. Accept remote connection: yes
    49. Generate logfile: off
    50. Verify download: off
    51. Init regs on start: off
    52. Silent mode: off
    53. Single run mode: off
    54. Target connection timeout: 0 ms
    55. ------J-Link related settings------
    56. J-Link Host interface: USB
    57. J-Link script: none
    58. J-Link settings file: none
    59. ------Target related settings------
    60. Target device: MCIMX6Y2
    61. Target interface: JTAG
    62. Target interface speed: 4000kHz
    63. Target endian: little
    64. Connecting to J-Link...
    65. J-Link is connected.
    66. Firmware: J-Link V10 compiled Mar 29 2018 17:45:34
    67. Hardware: V10.10
    68. S/N: 50105141
    69. Feature(s): GDB
    70. Checking target voltage...
    71. Target voltage: 3.32 V
    72. Listening on TCP/IP port 2331
    73. Connecting to target...WARNING: At least one of the connected devices is not JTAG compliant (IEEE Std 1149.1, 7.1.1.d, IR-cells). (NumDevices = 3, NumBitsSet = 2)
    74. J-Link found 3 JTAG devices, Total IRLen = 13
    75. JTAG ID: 0x5BA00477 (Cortex-A7)
    76. Connected to target
    77. Waiting for GDB connection...
    Display All


    My first aim is to load a u-boot image to the RAM and execute it.
    Does anyone have a proper docu?

    Thanks
  • Hello,

    Thank you for your inquiry.
    To make sure we understand you correctly. You want to program u-boot to the RAM of imx6ull using one of our tools?
    U-boot is not our software so we can't provide any images for that.

    But if you have an image already you can simply load it using J-Link Commander using the "loadfile" command.
    More information about this can be found in the J-Link user manual in the J-Link install folder under /Doc

    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.
  • Hello Nino,

    I have compiled u-boot. Running J-Link as I have shown in my first post is also not a problem.
    My problem is, that I am not able to upload a file to the imx6ull.

    Here is the output:

    Source Code

    1. J-Link>loadfile /home/user/projekte/u-boot/u-boot-imx6/u-boot.srec 0x80000000
    2. Downloading file [/home/user/projekte/u-boot/u-boot-imx6/u-boot.srec]...
    3. Memory access: CPU temp. halted: https://wiki.segger.com/Memory_accesses#Stop_mode
    4. O.K.


    On the mentioned page: wiki.segger.com/Memory_accesses#Stop_mode I could not find any additional info.

    I also got outputs like this

    Source Code

    1. J-Link>loadfile /home/user/projekte/u-boot/u-boot-imx6/u-boot.srec 0x80000
    2. Downloading file [/home/user/projekte/u-boot/u-boot-imx6/u-boot.srec]...
    3. Writing target memory failed


    I found the following page:
    wiki.segger.com/index.php?title=I.MX6_SoloX_Support

    If something like this could be provided for the imx6ull, I guess this would help.

    Regards
  • Hello,

    My problem is, that I am not able to upload a file to the imx6ull.

    The first textbox shows the download succeeded.
    The link to the wiki is only an information for the user that the CPU has been halted temporarily to enable programming.
    The article is currently being worked on, that is why you don't find any information there. Sorry for this inconvenience.

    We recommend halting the CPU manually before using loadfile for this device.
    So your commands would be:
    halt
    loadfile...

    I found the following page:
    wiki.segger.com/index.php?title=I.MX6_SoloX_Support

    If something like this could be provided for the imx6ull, I guess this would help.


    A QSPI Flash loader for the imx6ull is already available. But it has nothing to do with the issues you were seeing as the Flash loader is, as the name indicates, there to write to Flash and not RAM.

    For best J-Link implementation, debugging and software project management we recommend using our IDE Embedded Studio for debugging: segger.com/products/development-tools/embedded-studio/

    Should you however want to stay with your current IDE environment we recommend debugging with our debug software Ozone that supports various compiler outputs and can be used for free with a J-Link Plus or higher: segger.com/products/development-tools/ozone-j-link-debugger/

    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.