Hi @Tommy Murphy,
Thank you for referencing me to Section 10.7 in the OpenOCD manual.
I've observed the given example:
openocd.cfg file:
source [ find interface/olimex-arm-usb-tiny-h.cfg ]
reset_config trst_and_srst
jtag_rclk 8
Because my chip connects through the STLink probe and uses SWD transport
protocol (instead of JTAG), I made a few modifications to the example:
openocd.cfg file:
source [ find interface/stlink.cfg ]
transport select hla_swd
reset_config srst_only
adapter_khz 480
I connect a NUCLEO_F303K8 board to my PC for this test. Then I issue the
following command in my console:
> openocd -s "C:\...\scripts" -f "C:\...\openocd.cfg"
OpenOCD outputs the following and then terminates:
Open On-Chip Debugger 0.10.0+dev-00921-gef8c69ff9 (2019-07-06-01:00)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 480 kHz
Info : Listening on port for tcl connections
Info : Listening on port for telnet connections
Info : clock speed 480 kHz
Error: BUG: current_target out of bounds
So I end up with two questions concerning autoprobing.
Q1: Unfortunately, In my example given above OpenOCD doesn't do any autoprobing
as described in Section 10.7. Is this because OpenOCD doesn't support
autoprobing with the SWD protocol? Or am I simply making a mistake in my .cfg
file?
Q2: I also noticed that the autoprobing example from Section 10.7 configures
the reset behaviour of OpenOCD. Does this mean that autoprobing will always be
"intrusive" in the sense that it resets the chip?
Thank you very much for your help ^_^
Kind greetings,
Kristof Mulier
Van: "Tommy Murphy"
Aan: "kristof mulier" , "openocd-devel"
Verzonden: Maandag 8 juli 2019 20:38:54
Onderwerp: Re: How do I simply "ping" a chip with OpenOCD?
Maybe look at section 10.7 Autoprobing of the openocd user's guide?
ORIGINAL MESSAGE FROM KRISTOF:
Dear OpenOCD developer,
I would like to do something uncommon with OpenOCD. Instead of connecting to
the chip, I'd like to merely detect the chip.
The procedure I have in mind would look like this:
1. Start OpenOCD with the probe config file (eg. stlink.cfg ) given as -f
parameter. So OpenOCD knows what probe to use, but doesn't know what chip it
will find.
2. OpenOCD detects a chip and reports this somehow (eg. write something to
stdout). If possible, this action should not be intrusive to the chip (like
resetting it).
3. OpenOCD shuts down.
Here are some more notes about the procedure:
Note 1: It would be nice if OpenOCD doesn't reach the "server" state where I
need to setup a Telnet or GDB client to interact with it. I'd be happy to get
the chip detection reported in a more convenient way, like getting the chip
info on the stdout channel.
Note 2: The detection should be non-intrusive to the chip. However, if OpenOCD
doesn't find anything, I'd like to have a backup method where OpenOCD tries to
find a chip more aggressively (like holding down the nRST pin). I can invoke
this other approach myself if needed (so there's no need for OpenOCD to do that
automatically).
Note 3: At first, I'll just apply this "chip detection" only on STM32 chips
with an STLinkV2 or STLinkV3 probe, later on other probes and chips as well.
Note 4: Some boards only have an SWD connection (no JTAG).
Thank you very much :-)
Kind greetings,
Kristof Mulier
PS: I only have basic user-knowledge about OpenOCD.
___
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel