Hi Chen Xiaofan
in Jlink code in src/jtag/drivers/jlink.c
there is the following:
static int jlink_init(void)
{
....
/*
* The next three instructions were added after discovering a problem
* while using an oscilloscope.
* For the V8 SAM-ICE dongle (and likely other j-link device variants),
* the reset line to the target microprocessor was found to cycle only
* intermittently during emulator startup (even after encountering the
* downstream reset instruction later in the code).
* This was found to create two issues:
* 1) In general it is a bad practice to not reset a CPU to a known
* state when starting an emulator and
* 2) something critical happens inside the dongle when it does the
* first read following a new USB session.
* Keeping the processor in reset during the first read collecting
* version information seems to prevent errant
* "J-Link command EMU_CMD_VERSION failed" issues.
*/
LOG_INFO("J-Link initialization started / target CPU reset initiated");
jlink_simple_command(EMU_CMD_HW_TRST0);
jlink_simple_command(EMU_CMD_HW_RESET0);
usleep(1000);
During JLink initialization OpenOCD forces nTRST and nSRST.
Personally I do not like it, since I use to attach OpenOCD on running
boards and I want to start debugging without resetting the CPU.
In my personal build of OpenOCD I always comment the nSRST part.
I never got the problem reported in the comment above, but I only have
JLink version 5 and 6.
What about removing these two code lines instead of cutting nTRST and
nSRST wires?
Best Regards
Antonio Borneo
On Fri, Aug 12, 2011 at 10:00 AM, Xiaofan Chen <[email protected]> wrote:
> On Sun, Jul 10, 2011 at 8:38 PM, Jean-Christophe PLAGNIOL-VILLARD
> <[email protected]> wrote:
>>> Unfortunately this is a known issue.
>>> https://lists.berlios.de/pipermail/openocd-development/2011-July/020046.html
>>>
>>> Basically 4.10i and below works, 4.20 and above does not work.
>>>
>>> Hopefully this will be fixed with some reverse-engineering
>>> or contacting Segger. It seems Segger knows the problem
>>> and may want to work with OpenOCD developers to fix the problem.
>>>
>>> http://www.segger2.com/index.php?page=Thread&threadID=869
>> I try to get in Contact with them already hope they will reply soon
>
> Any updates?
>
> I came across this post in SparkFun forum and it might ring some bell.
> http://forum.sparkfun.com/viewtopic.php?f=18&t=28923&sid=bc50d79d7c9cc1e96e5b0d99a43008aa
> ***********
> I have some update. I run logic analyzer and noticed that Segger GDB
> server does not use nor nSRST neither nTRST during JTAG init.
> And Segger SW connects to target MCU properly. Just after RESET,
> I am getting zero on TDO.
>
> If I desoldered nSRST and nTRST, now I can connect to the AT91SAM9263.
> But do not understand, why. Can TDO signal be disabled after RESET ?
>
> "reset_config" does not work properly for JLink interface in my version of
> OpenOcd. Even if I use "reset_config none", on LA I see that RESET
> signals are both used with some default values. Is it repaired in some
> newer version of OpenOcd ?
> **********
>
>
> --
> Xiaofan
> _______________________________________________
> Openocd-development mailing list
> [email protected]
> https://lists.berlios.de/mailman/listinfo/openocd-development
>
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development