Hi all,
I have a few inquiries about behaviors of i.MX 8M Plus SoC regarding JTAG debug via external debugger and I was hoping you could help me clear it up.
Contrary to how other i.MX 8M derivatives I worked with (i.MX 8M Nano, i.MX8M Mini) behaved, I noticed that JTAG TAP is not available or operational after device is released from reset. It only becomes available after a valid boot image starts executing on ARM Cortex-A53 core(s).
And it does not have to be anything special as far as user code on boot image is concerned, simple 'while (1)' suffices.
But interestingly enough not all boot images are OK, for example if I create a boot image with software breakpoint 'BRK' instruction instead of 'while(1)', the device does not boot (or JTAG does not become available).
My queries:
Than you for your time and effort.
pls refer to the document as below, which is for TRACE32 debugger
https://community.nxp.com/t5/NXP-Tech-Blog/Debug-i-MX8MP-uboot-with-TRACE32/ba-p/1615599
1)I'm not sure what you mean JTAG is unavailable, couldn't debug or couldn't connect? I attached an AN for how to use Jtag on imx processor, which can tell you all of detailed information, you can refer to that firstly
2)what is the official procedure to flash boot image to e.g. eMMC or QSPI if you do not have slot for SD card on custom board design?
> the link I sent to you before is about official procedure to flash image to emmc, you also can refer to the enclosed AN
1) Couldn't connect. Let me explain a bit:
With our debug/trace tools we already support SoCs like i.MX 6UL, i.MX8 M, i.MX8 MMini, i.MX8 MNano, etc. On all of the above JTAG is not problematic on "virgin" device, in means that we can read for example JTAG IDCODE on an SoC that does not have boot image programmed on any boot medium.
On i.MX 8M Plus, this cannot be done, JTAG debug logic seems dead until device is programmed with valid boot image.
My question here is, is this just the way it is or can tool vendor somehow access JTAG debug logic while device does not have valid boot image programmed.
2) Understood. Official procedure of programming "virgin" device without SD card is via USB and NXP provided tool.