AnsweredAssumed Answered

imx6: problem uploading uboot image in serial downloader mode

Question asked by Kin Lee on Feb 4, 2018
Latest reply on Feb 5, 2018 by Kin Lee

Hi NXP Community,

We have developed a board using a iMX6DL and we've run into problems uploading a u-boot.imx image when in serial downloader mode. However when we create a SD card image using our buildroot environment (buildroot-2017.02.9 with uboot-rel_imx_4.1.15_2.0.0_ga based on sabre_sd), uboot loads ok and we can boot the Linux kernel successfully.

 

We are using imx_usb_load to transfer u-boot.imx to our board we have observed/tried:

  • when uploading on our board no output is received via UART. Using the same u-boot.imx and same upload method on a different 3rd party purchased iMX6DL development board works.
  • using imx_usb_load -v u-boot.imx to verify the uploaded contents shows the following data mismatch between the image file and memory (this is probably why u-boot can't start):

    loading binary file(u-boot.imx) to 177ff400, skip=0, fsize=74c00 type=aa

    <<<478208, 478208 bytes>>>
    succeeded (status 0x88888888)
    !!!!mismatch
    00000be0: 00000000 00000000 00000000 00000000  00000000 00000000 00000000 00000000
    177fffe0: 00000000 00000000 00000000 00000000  00000000 00000000 00000000 00300000
                                                                                ^
    00000c20: 17800060 178000c0 17800120 17800180  178001e0 17800240 178002a0 deadbeef
    17800020: 17800060 178000c0 17800120 17800180  178001e0 17800240 178002a0 17adbeef
                                                                              v-
    00000c60: e51fd028 e58de000 e14fe000 e58de004  e3a0d013 e169f00d e1a0e00f e1b0f00e
    17800060: e51fd028 e58de000 e14fe000 e58de004  e3a0d013 e169f00d e1a0e00f e5b0f00e
                                                                               ^
    00000d20: e51fd0e8 e58de000 e14fe000 e58de004  e3a0d013 e169f00d e1a0e00f e1b0f00e
    17800120: e51fd0e8 e58de000 e14fe000 e58de004  e3a0d013 e169f00d e1a0e00f e5b0f00e
                                                                               ^
    00000de0: e51fd1a8 e58de000 e14fe000 e58de004  e3a0d013 e169f00d e1a0e00f e1b0f00e
    178001e0: e51fd1a8 e58de000 e14fe000 e58de004  e3a0d013 e169f00d e1a0e00f e5b0f00e
                                                                               ^
    DoIRomDownload failed, err=-1
    HAB security state: development mode (0x56787856)
  • We've run DDR_Tester, and updated write level, read DQS, read and write calibrations, to the relevant .cfg file (which holds the DCD data) in u-boot. However the problem persists. The data mismatch is always the same (same position same incorrect values). Since we can run the DDR_Tester I think our USB connection is okay.
  • As previously stated booting the same image via SD card is okay - uboot and linux work.

The serial upload data mismatch suggest our DDR is not configured properly however booting our board using an SD card image works perfectly, which suggest our DCD values are okay.

Any suggestions/solutions would be really appreciated.

 

Thanks in advance!

Wei

Outcomes