[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openocd-development
Subject:    [openocd:tickets] #352 Watchpoints with HLA target
From:       "Fab" <fabounet () users ! sourceforge ! net>
Date:       2022-05-25 7:33:08
Message-ID: 628ddbb3e29ade4052607a6c.tickets () openocd ! p ! sourceforge ! net
[Download RAW message or body]

[Attachment #2 (multipart/related)]


--==============080531639088164836=MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit




---

** [tickets:#352] Watchpoints with HLA target**

**Status:** new
**Milestone:** 0.11.0
**Created:** Wed May 25, 2022 07:33 AM UTC by Fab
**Last Updated:** Wed May 25, 2022 07:33 AM UTC
**Owner:** nobody


Using the latest commit (0a36acbf6ac67cf6e95077aa25a001e2638f2798), an ST-link-v2 \
adapter, and a Cortex-M7, I launch openocd with: ~~~
openocd -f ./tcl/interface/stlink.cfg -f ./tcl/target/stm32f7x.cfg
~~~

Works like a charm in conjunction with gdb, but watchpoints are not reported as WP, \
but as breakpoints.

The reasons are:
- In src/target/hla_target.c, adapter_examine_debug_reason, the examination is pretty \
                shallow.
- Also, "hit_watchpoint" is not filled in the hla_target structure.

Re-using the methods in src/target/cortex_m.c worked for me.

I also tried to forcibly use a "cortex_m" target, but it didn't go well.

Below is the log when I launch openocd, which shows that we use an HLA_SWD transport:
~~~
Info : auto-selecting first available session transport "hla_swd". To override use \
'transport select <transport>'. Info : The selected transport took over low-level \
target control. The results might differ compared to plain JTAG/SWD Info : DEPRECATED \
target event trace-config; use TPIU events {pre,post}-{enable,disable} Info : \
Listening on port 6666 for tcl connections Info : Listening on port 4444 for telnet \
connections Info : clock speed 2000 kHz
Info : STLINK V2J29S7 (API v2) VID:PID 0483:3748
Info : Target voltage: 3.243973
Info : [stm32f7x.cpu] Cortex-M7 r1p0 processor detected
Info : [stm32f7x.cpu] target has 8 breakpoints, 4 watchpoints
~~~


---

Sent from sourceforge.net because openocd-devel@lists.sourceforge.net is subscribed \
to https://sourceforge.net/p/openocd/tickets/

To unsubscribe from further messages, a project admin can change settings at \
https://sourceforge.net/p/openocd/admin/tickets/options.  Or, if this is a mailing \
                list, you can unsubscribe from the mailing list.
--==============080531639088164836=MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="utf-8"

<div class="markdown_content"><hr/>
<p><strong> <a class="alink" \
href="https://sourceforge.net/p/openocd/tickets/352/">[tickets:#352]</a> Watchpoints \
with HLA target</strong></p> <p><strong>Status:</strong> new<br/>
<strong>Milestone:</strong> 0.11.0<br/>
<strong>Created:</strong> Wed May 25, 2022 07:33 AM UTC by Fab<br/>
<strong>Last Updated:</strong> Wed May 25, 2022 07:33 AM UTC<br/>
<strong>Owner:</strong> nobody</p>
<p>Using the latest commit (0a36acbf6ac67cf6e95077aa25a001e2638f2798), an ST-link-v2 \
adapter, and a Cortex-M7, I launch openocd with:</p> <div \
class="codehilite"><pre><span></span><code>openocd -f ./tcl/interface/stlink.cfg -f \
./tcl/target/stm32f7x.cfg </code></pre></div>

<p>Works like a charm in conjunction with gdb, but watchpoints are not reported as \
WP, but as breakpoints.</p> <p>The reasons are:<br/>
- In src/target/hla_target.c, adapter_examine_debug_reason, the examination is pretty \
                shallow.<br/>
- Also, "hit_watchpoint" is not filled in the hla_target structure.</p>
<p>Re-using the methods in src/target/cortex_m.c worked for me.</p>
<p>I also tried to forcibly use a "cortex_m" target, but it didn't go well.</p>
<p>Below is the log when I launch openocd, which shows that we use an HLA_SWD \
transport:</p> <div class="codehilite"><pre><span></span><code><span \
class="n">Info</span><span class="w"> </span><span class="o">:</span><span class="w"> \
</span><span class="n">auto</span><span class="o">-</span><span \
class="n">selecting</span><span class="w"> </span><span class="n">first</span><span \
class="w"> </span><span class="n">available</span><span class="w"> </span><span \
class="n">session</span><span class="w"> </span><span class="n">transport</span><span \
class="w"> </span><span class="s2">"hla_swd"</span><span class="o">.</span><span \
class="w"> </span><span class="n">To</span><span class="w"> </span><span \
class="kd">override</span><span class="w"> </span><span class="n">use</span><span \
class="w"> </span><span class="s1">'transport select &lt;transport&gt;'</span><span \
class="o">.</span><span class="w"></span> <span class="n">Info</span><span class="w"> \
</span><span class="o">:</span><span class="w"> </span><span \
class="n">The</span><span class="w"> </span><span class="n">selected</span><span \
class="w"> </span><span class="n">transport</span><span class="w"> </span><span \
class="n">took</span><span class="w"> </span><span class="n">over</span><span \
class="w"> </span><span class="n">low</span><span class="o">-</span><span \
class="n">level</span><span class="w"> </span><span class="n">target</span><span \
class="w"> </span><span class="n">control</span><span class="o">.</span><span \
class="w"> </span><span class="n">The</span><span class="w"> </span><span \
class="n">results</span><span class="w"> </span><span class="n">might</span><span \
class="w"> </span><span class="n">differ</span><span class="w"> </span><span \
class="n">compared</span><span class="w"> </span><span class="n">to</span><span \
class="w"> </span><span class="n">plain</span><span class="w"> </span><span \
class="n">JTAG</span><span class="o">/</span><span class="n">SWD</span><span \
class="w"></span> <span class="n">Info</span><span class="w"> </span><span \
class="o">:</span><span class="w"> </span><span class="n">DEPRECATED</span><span \
class="w"> </span><span class="n">target</span><span class="w"> </span><span \
class="n">event</span><span class="w"> </span><span class="nf">trace</span><span \
class="o">-</span><span class="n">config</span><span class="o">;</span><span \
class="w"> </span><span class="n">use</span><span class="w"> </span><span \
class="n">TPIU</span><span class="w"> </span><span class="n">events</span><span \
class="w"> </span><span class="o">{</span><span class="n">pre</span><span \
class="o">,</span><span class="n">post</span><span class="o">}-{</span><span \
class="n">enable</span><span class="o">,</span><span class="n">disable</span><span \
class="o">}</span><span class="w"></span> <span class="n">Info</span><span class="w"> \
</span><span class="o">:</span><span class="w"> </span><span \
class="n">Listening</span><span class="w"> </span><span class="n">on</span><span \
class="w"> </span><span class="n">port</span><span class="w"> </span><span \
class="mi">6666</span><span class="w"> </span><span class="k">for</span><span \
class="w"> </span><span class="n">tcl</span><span class="w"> </span><span \
class="n">connections</span><span class="w"></span> <span class="n">Info</span><span \
class="w"> </span><span class="o">:</span><span class="w"> </span><span \
class="n">Listening</span><span class="w"> </span><span class="n">on</span><span \
class="w"> </span><span class="n">port</span><span class="w"> </span><span \
class="mi">4444</span><span class="w"> </span><span class="k">for</span><span \
class="w"> </span><span class="n">telnet</span><span class="w"> </span><span \
class="n">connections</span><span class="w"></span> <span class="n">Info</span><span \
class="w"> </span><span class="o">:</span><span class="w"> </span><span \
class="n">clock</span><span class="w"> </span><span class="n">speed</span><span \
class="w"> </span><span class="mi">2000</span><span class="w"> </span><span \
class="n">kHz</span><span class="w"></span> <span class="n">Info</span><span \
class="w"> </span><span class="o">:</span><span class="w"> </span><span \
class="n">STLINK</span><span class="w"> </span><span class="n">V2J29S7</span><span \
class="w"> </span><span class="o">(</span><span class="n">API</span><span class="w"> \
</span><span class="n">v2</span><span class="o">)</span><span class="w"> </span><span \
class="n">VID</span><span class="o">:</span><span class="n">PID</span><span \
class="w"> </span><span class="mi">0483</span><span class="o">:</span><span \
class="mi">3748</span><span class="w"></span> <span class="n">Info</span><span \
class="w"> </span><span class="o">:</span><span class="w"> </span><span \
class="n">Target</span><span class="w"> </span><span class="n">voltage</span><span \
class="o">:</span><span class="w"> </span><span class="mf">3.243973</span><span \
class="w"></span> <span class="n">Info</span><span class="w"> </span><span \
class="o">:</span><span class="w"> </span><span class="o">[</span><span \
class="n">stm32f7x</span><span class="o">.</span><span class="na">cpu</span><span \
class="o">]</span><span class="w"> </span><span class="n">Cortex</span><span \
class="o">-</span><span class="n">M7</span><span class="w"> </span><span \
class="n">r1p0</span><span class="w"> </span><span class="n">processor</span><span \
class="w"> </span><span class="n">detected</span><span class="w"></span> <span \
class="n">Info</span><span class="w"> </span><span class="o">:</span><span class="w"> \
</span><span class="o">[</span><span class="n">stm32f7x</span><span \
class="o">.</span><span class="na">cpu</span><span class="o">]</span><span class="w"> \
</span><span class="n">target</span><span class="w"> </span><span \
class="n">has</span><span class="w"> </span><span class="mi">8</span><span class="w"> \
</span><span class="n">breakpoints</span><span class="o">,</span><span class="w"> \
</span><span class="mi">4</span><span class="w"> </span><span \
class="n">watchpoints</span><span class="w"></span> </code></pre></div>

<hr/>
<p>Sent from sourceforge.net because openocd-devel@lists.sourceforge.net is \
subscribed to <a href="https://sourceforge.net/p/openocd/tickets/">https://sourceforge.net/p/openocd/tickets/</a></p>
 <p>To unsubscribe from further messages, a project admin can change settings at <a \
href="https://sourceforge.net/p/openocd/admin/tickets/options.">https://sourceforge.net/p/openocd/admin/tickets/options.</a> \
                Or, if this is a mailing list, you can unsubscribe from the mailing \
                list.</p></div>
--==============080531639088164836==--





[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic