Can anyone help me figure out why I'm seeing slower performance on the iMX6UL-EVK when a u-boot image is loaded via JTAG vs when it is loaded from the sdcard? I suspect it has to do with the DDR configuration. In the sdcard instance, u-boot's SPL is initializing the system. In the JTAG instance, I'm loading u-boot and an image.fit directly into RAM and executing after setting registers. Just hand-timing the boot time between the two I see u-boot take ~8 seconds to boot the image.fit from the sdcard, but it takes ~36 seconds to boot the same image.fit when its loaded into RAM via JTAG. I'll attach the files I'm using to test this but you can also find the files in a public repo here: buildroot-imx6ulevk-test/board/freescale/imx6ulevk at master · cryptotronix/buildroot-imx6ulevk-test · GitHub
The u-boot is mainline, v2018.05, with a slightly modified mx6ul_14x14_evk_defconfig to enable the FIT image support.
Note: in order to test the JTAG version you'll need a segger j-link, with the imx6ulevk having had the resistor changes to enable JTAG. You can run the flash.sh script to load the imx6, to see the slower boot time you'll need to break u-boot's autoboot and type the command: "bootm 0x90000000", which is where the image.fit has been loaded into RAM by the jlinkscript