I'm trying to recover a Boundary Devices Nitrogen7 board in HAB mode, where I uploaded a bum image to the flash. The HAB mode is being problematic to using SDP to upload a new image, so I tried using a Segger J-Link JTAG interface to load a new image directly to the flash. It turns out that the J-Link doesn't work with the i.MX7D and QSPI memory.
Does anybody know of a JTAG interface that does work with the i.MX7D and QSPI memory?
Thanks!
Solved! Go to Solution.
Hi Brian
To elaborate on what Victor refers to, the process involves two things :
- initializing your board and DDR via JTAG
- running a code (e.g u-boot) out of RAM that is now initialized and
use it to program your QSPI flash.
As far as the JTAG adaptor design is concerned a standard design
should have no limitation on the above steps.
For the step one above, you might ask your JTAG probe vendor (e.g j-link)
and their support team to provide you an init script. We did something
similar for BDI3000 and iMX6 and documented here :
https://community.nxp.com/docs/DOC-106493
You would need something similar for iMX7. Then you would have to
use an app or bootloader (e.g. u-boot) that you load and run out of
RAM via your JTAG probe. You can then utilize the flash programming
features of the bootloader (if the controller and your flash type is supported)
to program your flash and recover your board.
There might also be JTAG debug probes that provide programming the
QSPI flash as part of their firmware. You would still need an init script
to initialize your board though.
Hope this gives some insight.
Regards
Sinan Akman
Unfortunately we have no application can write the flash directly via JTAG.
I mean it is possible to init i.MX system via JTAG debugger and run target application to write the flash.
However we have no such application.
Have a great day,
Victor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Is this a limitation on the i.MX7 to QSPI interface, or is it a limitation on the JTAG adapter design?
Thanks!
Hi Brian
To elaborate on what Victor refers to, the process involves two things :
- initializing your board and DDR via JTAG
- running a code (e.g u-boot) out of RAM that is now initialized and
use it to program your QSPI flash.
As far as the JTAG adaptor design is concerned a standard design
should have no limitation on the above steps.
For the step one above, you might ask your JTAG probe vendor (e.g j-link)
and their support team to provide you an init script. We did something
similar for BDI3000 and iMX6 and documented here :
https://community.nxp.com/docs/DOC-106493
You would need something similar for iMX7. Then you would have to
use an app or bootloader (e.g. u-boot) that you load and run out of
RAM via your JTAG probe. You can then utilize the flash programming
features of the bootloader (if the controller and your flash type is supported)
to program your flash and recover your board.
There might also be JTAG debug probes that provide programming the
QSPI flash as part of their firmware. You would still need an init script
to initialize your board though.
Hope this gives some insight.
Regards
Sinan Akman