[SOLVED] Nitrogen Max with JLinkGDBserver - Failing reads after commands to external DDR

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

  • [SOLVED] Nitrogen Max with JLinkGDBserver - Failing reads after commands to external DDR

    When running JLink with a Nitrogen Max board, I have difficulties to read peripheral
    registers and memory after performing the initial setup of pins, DDR memory and clocks.

    I am starting JLink GDB on an Xubuntu 15.04 X64 machine with:

    Source Code

    1. JLinkGDBServer -device MCIMX6Q6 -if JTAG -speed auto


    The GDB client is started with

    Source Code

    1. gdb-multiarch


    The initial setup (see appended gdbinit file) is taken from the board setup files for Nitrogen Max
    in Boundary Devices U-Boot repo.

    I am able to write and read all the way up to the step where I start to issue commands to the DDR through
    MMDC Core Special Command Register (monitor memU32 0x021b001c=0x04088032).
    After this I am no longer able to read peripheral registers.
    I also notice that some write operations have been duplicated, might this be a speed issue?
    I have also tested to swap enabling the clocks early/late and not using the "-speed auto" option with no
    success.

    Any clues on what goes wrong? Any special tricks that must be performed?
    If anyone has some info on reference iMX6Q JLinkGDBServer/GDB scripts out there that are known to work,
    I would be very pleased to hear about it!
    As soon as the access works as expected, I plan to load U-Boot and execute it from the gdb environment. :)
    Files

    The post was edited 2 times, last by tan ().

  • Problem solved :)

    The described issue was caused by a duplicated DDR initialization. The first initialization was done by an existing bootloader in SPI NOR flash.
    The problem can be avoided by forcing the boot mode to USB serial download.
    When using the serial boot mode, the initialisation by the script is running OK and access to the DDR memory is granted.