Programming Flash on i.MX7D via JTAG

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Programming Flash on i.MX7D via JTAG

Jump to solution
1,618 Views
brianmiller
Contributor II

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!

Labels (1)
0 Kudos
1 Solution
1,015 Views
sinanakman
Senior Contributor III

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

View solution in original post

3 Replies
1,015 Views
b36401
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
1,015 Views
brianmiller
Contributor II

Is this a limitation on the i.MX7 to QSPI interface, or is it a limitation on the JTAG adapter design?

Thanks!

0 Kudos
1,016 Views
sinanakman
Senior Contributor III

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