Dear Community,
I need to tune the default reset sequence (executed thereafter with 'mo reset').
The problem:
-------------------
Stop SoC (i.MX6Q) just after powering it up (in the early SRAM - 0x908000 address
in this case). This is necessary for debugging early bootloader code (U-Boot SPL
to be precise).
I've tried to pass adjusted SetResetTime (it provides only ms resolution) and
SetResetType=0 to ./JLinkGDBServerExe.
Unfortunately, the result is not acceptable - I still see SPL welcome prompt
"U-Boot SPL 2019.10-00343-" after "mo reset".
This is too late for early debugging.
It seems like I do need to configure TAP before ARM debug interface is visible
and accessible in the usual way.
With other tool I was able to specify following "reset" sequence [*]:
Assert RESET -> wait 100us -> assert TRST -> wait 100us -> deasert TRST -> deasert RESET -> wait 20ms -> Set TCK and TMS to HIGH -> wait 1ms
Please correct me - but it seems to me that I do need to re-implement ResetTarget()
function in *.JLinkScript file and use JTAG_* global DLL variables (e.g. JTAG_TRSDPin)
from [1] 7.13.3 ?
One problem is that JLINK_SYS_Sleep() (7.13.2.50) has only ms resolution. Is there
a function with us resolution?
Do you maybe have an example code for [*] reset adjustments?
Thanks in advance for help.
Link:
[1] - segger.com/downloads/jlink/UM08001
I need to tune the default reset sequence (executed thereafter with 'mo reset').
The problem:
-------------------
Stop SoC (i.MX6Q) just after powering it up (in the early SRAM - 0x908000 address
in this case). This is necessary for debugging early bootloader code (U-Boot SPL
to be precise).
I've tried to pass adjusted SetResetTime (it provides only ms resolution) and
SetResetType=0 to ./JLinkGDBServerExe.
Unfortunately, the result is not acceptable - I still see SPL welcome prompt
"U-Boot SPL 2019.10-00343-" after "mo reset".
This is too late for early debugging.
It seems like I do need to configure TAP before ARM debug interface is visible
and accessible in the usual way.
With other tool I was able to specify following "reset" sequence [*]:
Assert RESET -> wait 100us -> assert TRST -> wait 100us -> deasert TRST -> deasert RESET -> wait 20ms -> Set TCK and TMS to HIGH -> wait 1ms
Please correct me - but it seems to me that I do need to re-implement ResetTarget()
function in *.JLinkScript file and use JTAG_* global DLL variables (e.g. JTAG_TRSDPin)
from [1] 7.13.3 ?
One problem is that JLINK_SYS_Sleep() (7.13.2.50) has only ms resolution. Is there
a function with us resolution?
Do you maybe have an example code for [*] reset adjustments?
Thanks in advance for help.
Link:
[1] - segger.com/downloads/jlink/UM08001