Programming Flash on i.MX7D via JTAG

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Programming Flash on i.MX7D via JTAG

跳至解决方案
1,691 次查看
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!

标签 (1)
0 项奖励
1 解答
1,088 次查看
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

在原帖中查看解决方案

3 回复数
1,088 次查看
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 项奖励
1,088 次查看
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 项奖励
1,089 次查看
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