Skip to content

Commit fd7e090

Browse files
author
pyocd-bot
committed
Deploying to main from @ pyocd/pyocd-website-source@cde1248 🚀
1 parent 7372fff commit fd7e090

File tree

3 files changed

+278
-12
lines changed

3 files changed

+278
-12
lines changed

index.html

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -188,42 +188,42 @@ <h2 class="">Recent posts</h2>
188188
<div class="row row-cols-1 row-cols-lg-3 g-4">
189189

190190
<div class="col">
191-
<a href="/posts/2025/07-04-pyocd-0.37.0-released.html">
191+
<a href="/posts/2025/10-24-pyocd-0.40.0-released.html">
192192
<div class="card h-100">
193193
<div class="card-body">
194-
<h5 class="card-title">pyOCD 0.37.0 released</h5>
195-
<p class="card-text">Introducing support for CMSIS-Toolbox Run and Debug Management.</p>
194+
<h5 class="card-title">pyOCD 0.40.0 released</h5>
195+
<p class="card-text">Introducing support for multiple concurrent GDB client connections to the same GDB server.</p>
196196
</div>
197197
<div class="card-footer">
198-
<small class="">04 Jul 2025</small>
198+
<small class="">24 Oct 2025</small>
199199
</div>
200200
</div>
201201
</a>
202202
</div>
203203

204204
<div class="col">
205-
<a href="/posts/2022/01-24-pyocd-0.33.0-released.html">
205+
<a href="/posts/2025/07-04-pyocd-0.37.0-released.html">
206206
<div class="card h-100">
207207
<div class="card-body">
208-
<h5 class="card-title">pyOCD 0.33.0 released</h5>
209-
<p class="card-text">RTT, user-defined commands, color logging, and plenty of bug fixes.</p>
208+
<h5 class="card-title">pyOCD 0.37.0 released</h5>
209+
<p class="card-text">Introducing support for CMSIS-Toolbox Run and Debug Management.</p>
210210
</div>
211211
<div class="card-footer">
212-
<small class="">24 Jan 2022</small>
212+
<small class="">04 Jul 2025</small>
213213
</div>
214214
</div>
215215
</a>
216216
</div>
217217

218218
<div class="col">
219-
<a href="/posts/2021/12-30-pyocd-0.32.3-released.html">
219+
<a href="/posts/2022/01-24-pyocd-0.33.0-released.html">
220220
<div class="card h-100">
221221
<div class="card-body">
222-
<h5 class="card-title">pyOCD 0.32.3 released</h5>
223-
<p class="card-text">PyOCD version 0.32.3 is now available.</p>
222+
<h5 class="card-title">pyOCD 0.33.0 released</h5>
223+
<p class="card-text">RTT, user-defined commands, color logging, and plenty of bug fixes.</p>
224224
</div>
225225
<div class="card-footer">
226-
<small class="">30 Dec 2021</small>
226+
<small class="">24 Jan 2022</small>
227227
</div>
228228
</div>
229229
</a>
Lines changed: 261 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,261 @@
1+
<!DOCTYPE html>
2+
<html lang="en" dir="ltr">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
7+
<!--
8+
<link rel="icon" type="image/png" href="/assets/images/favicon.png" />
9+
-->
10+
11+
<link rel="preconnect" href="https://fonts.googleapis.com">
12+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
13+
14+
<link href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap" rel="stylesheet">
15+
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap" rel="stylesheet">
16+
<link href="https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,wght@0,200;0,300;0,400;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet">
17+
18+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css">
19+
20+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
21+
22+
<link rel="stylesheet" href="/assets/styles/main.css">
23+
24+
<title>pyOCD 0.40.0 released &mdash; pyOCD</title>
25+
26+
<!-- Global site tag (gtag.js) - Google Analytics -->
27+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-2RKCB4KZ7S"></script>
28+
<script>
29+
window.dataLayer = window.dataLayer || [];
30+
function gtag(){dataLayer.push(arguments);}
31+
gtag('js', new Date());
32+
33+
gtag('config', 'G-2RKCB4KZ7S');
34+
</script>
35+
</head>
36+
37+
<body id="top">
38+
<div class="full-view-height d-flex flex-column">
39+
<div class="flex-shrink-0">
40+
<nav class="navbar navbar-expand-md navbar-dark py-1">
41+
<div class="container-fluid">
42+
<a class="navbar-brand" href="/">
43+
<img src="/assets/pyocd_logo_white.svg" height="42" width="auto" alt=""></img>
44+
</a>
45+
<a class="navbar-brand color-secondary" href="/">
46+
<span class="display-lg project-name">pyOCD</span>
47+
</a>
48+
49+
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
50+
<span class="navbar-toggler-icon"></span>
51+
</button>
52+
53+
<div class="collapse navbar-collapse justify-content-end" id="navbarCollapse">
54+
<ul class="navbar-nav">
55+
56+
57+
<li class="nav-item mr-auto mx-1">
58+
<a class="nav-link" href="/docs/">Documentation</a>
59+
</li>
60+
61+
<li class="nav-item mr-auto mx-1">
62+
<a class="nav-link" href="/posts/">Posts</a>
63+
</li>
64+
65+
<li class="nav-item mr-auto mx-1">
66+
<a class="nav-link" href="https://github.com/pyocd/pyOCD"><i class="bi bi-github"></i></a>
67+
</li>
68+
69+
</ul>
70+
</div>
71+
</div>
72+
</nav>
73+
74+
</div>
75+
<div class="container flex-grow-1">
76+
<div class="row">
77+
<main role="main" class="content-scroll p-3 p-md-4">
78+
<p>&larr; <a href="/posts/">View all posts</a></p>
79+
80+
<h1><a href="/posts/2025/10-24-pyocd-0.40.0-released.html">pyOCD 0.40.0 released</a></h1>
81+
82+
<div class="post-header">
83+
<p class="text-muted border-bottom">
84+
<strong>Oct 24, 2025</strong>
85+
<br/>Teo Mahnic
86+
87+
</p>
88+
</div>
89+
90+
<p>Version 0.40.0 of pyOCD has been released and is available from PyPI. This release includes a number of improvements,
91+
bug fixes and some smaller changes. The complete list is shown below.</p>
92+
93+
<p>To upgrade pyOCD, just run <code class="highlighter-rouge">pip</code>:</p>
94+
95+
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install --upgrade pyocd
96+
</code></pre></div></div>
97+
98+
<p>This release introduces significant improvements and stability fixes across debugging, reset management,
99+
and flashing workflows. The GDB server now supports multiple concurrent client connections with enhanced
100+
logging and accurate target architecture reporting, while Cortex-M coverage expands with additional secure
101+
and non-secure core registers. Reset management has been streamlined with a clearer API, improved debug
102+
sequence error handling, and support for custom CMSIS-Pack reset sequences. Flashing operations are more
103+
reliable through optimized reset handling and a clean hardware reset after programming.</p>
104+
105+
<p>Thanks again to all the contributors who helped make this release possible! ❤️</p>
106+
107+
<p><a href="https://github.com/pyocd/pyOCD/releases/tag/v0.40.0">v0.40.0 on GitHub</a> <br />
108+
<a href="https://pypi.org/project/pyocd/0.40.0">v0.40.0 on PyPI</a></p>
109+
110+
<hr />
111+
112+
<h2 id="improvements">Improvements</h2>
113+
<ul>
114+
<li>GDB Server:
115+
<ul>
116+
<li>Add support for multiple concurrent GDB client connections to the same GDB server</li>
117+
<li>Improve logging with support for multiple concurrent GDB clients</li>
118+
<li>Report correct target architecture and align registers with GDB feature names</li>
119+
</ul>
120+
</li>
121+
<li>Cortex-M:
122+
<ul>
123+
<li>Add missing secure/non-secure core registers (CONTROL, FAULTMASK, BASEPRI, and PRIMASK)</li>
124+
</ul>
125+
</li>
126+
<li>Reset Management:
127+
<ul>
128+
<li>Update ResetType API for clearer reset handling</li>
129+
<li>Remove reset fallback mechanism for CMSIS-Pack based targets to prevent unintended behavior</li>
130+
<li>Support custom reset sequence execution defined in CMSIS-Pack</li>
131+
<li>Refine debug sequence error handling and breakpoint management across resets</li>
132+
</ul>
133+
</li>
134+
<li>Load (Flashing):
135+
<ul>
136+
<li>Remove implicit resets between loading multiple application files</li>
137+
<li>Set Reset Catch on all cores when performing primary-core reset before flashing</li>
138+
<li>Perform a hardware reset (nSRST) after flashing to ensure a clean post-load state</li>
139+
</ul>
140+
</li>
141+
<li><a href="https://open-cmsis-pack.github.io/cmsis-toolbox/YML-CBuild-Format/#run-and-debug-management">CMSIS-Toolbox Run and Debug Management</a> integration:
142+
<ul>
143+
<li>Add CMSIS-Pack related commands to <code class="highlighter-rouge">commander</code> interface</li>
144+
</ul>
145+
</li>
146+
</ul>
147+
148+
<h2 id="fixes">Fixes</h2>
149+
<ul>
150+
<li>ST-Link: correct reported length on memory read/write failures</li>
151+
<li>JLink: block unsupported memory access commands</li>
152+
<li>CMSIS-DAP: fix <code class="highlighter-rouge">jtag_sequence</code> returning no data (@NorbertHipfl)</li>
153+
<li>SWO: correct thread exit flag handling in the SWO read thread (@crypto-lars)</li>
154+
<li>Fix caching of banked SP registers to prevent stale values</li>
155+
<li>Fix memory region filtering for multi-core targets</li>
156+
<li>RTOS: handling for banked PSP registers</li>
157+
<li>RTX5:
158+
<ul>
159+
<li>Fix incorrect thread priority offset</li>
160+
<li>Relax requirement for target in halted state in RTOS operations</li>
161+
</ul>
162+
</li>
163+
</ul>
164+
165+
<h2 id="other">Other</h2>
166+
<ul>
167+
<li>Remove dependency on <code class="highlighter-rouge">six</code> package (@a-detiste)</li>
168+
<li>CI: remove deprecated GitHub Actions command (@CubikingChill)</li>
169+
<li>Update Capstone disassembly engine to version 5 (@Hoohaha)</li>
170+
</ul>
171+
172+
<h2 id="new-contributors">New Contributors</h2>
173+
<ul>
174+
<li>@NorbertHipfl made their first contribution in https://github.com/pyocd/pyOCD/pull/1820</li>
175+
<li>@crypto-lars made their first contribution in https://github.com/pyocd/pyOCD/pull/1824</li>
176+
<li>@CubikingChill made their first contribution in https://github.com/pyocd/pyOCD/pull/1834</li>
177+
</ul>
178+
179+
<p><a href="https://github.com/pyocd/pyOCD/compare/v0.39.0...v0.40.0"><strong>View Full Changelog</strong></a></p>
180+
181+
182+
</main>
183+
</div>
184+
</div>
185+
186+
<div class="flex-shrink-0">
187+
<footer class="pyocd-footer p-0 mt-3">
188+
<div class="row row-cols-1 row-cols-sm-2 row-cols-md-4 pt-4">
189+
<div class="col-3">
190+
<p class="small">
191+
Copyright &copy; 2021-2025 PyOCD Authors.
192+
</p>
193+
<p class="small">
194+
Site and docs are <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.<br/>
195+
Project code is <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
196+
</p>
197+
</div>
198+
<div class="col-3"> <!-- mt-3 mb-3 mx-4 -->
199+
<h5>Links</h5>
200+
<ul class="list-unstyled">
201+
<li>
202+
<a href="/docs/">Documentation</a>
203+
</li>
204+
<li>
205+
<a href="/posts/">Posts</a>
206+
</li>
207+
<li>
208+
<a href="https://github.com/pyocd/pyOCD/blob/main/CONTRIBUTING.md">Contributing</a>
209+
</li>
210+
<li>
211+
<a href="https://github.com/pyocd/.github/blob/main/CODE_OF_CONDUCT.md">Code of Conduct</a>
212+
</li>
213+
<li>
214+
<a href="https://github.com/pyocd/">GitHub</a>
215+
</li>
216+
</ul>
217+
</div>
218+
<div class="col-3">
219+
<h5>Projects</h5>
220+
<ul class="list-unstyled">
221+
<li>
222+
<a href="https://github.com/pyocd/pyOCD">pyOCD</a>
223+
</li>
224+
<li>
225+
<a href="https://github.com/pyocd/cmsis-pack-manager">cmsis-pack-manager</a>
226+
</li>
227+
<li>
228+
<a href="https://github.com/pyocd/FlashAlgo">FlashAlgo</a>
229+
</li>
230+
</ul>
231+
</div>
232+
<div class="col-3">
233+
<h5>Community</h5>
234+
<ul class="list-unstyled">
235+
<li>
236+
<a href="https://github.com/pyocd/pyOCD/issues">Issues</a>
237+
</li>
238+
<li>
239+
<a href="https://github.com/pyocd/pyOCD/discussions">Discussions</a>
240+
</li>
241+
<li>
242+
<a href="https://join.slack.com/t/pyocd/shared_invite/zt-zqjv6zr5-ZfGAXl_mFCGGmFlB_8riHA">Slack</a>
243+
</li>
244+
<li>
245+
<a href="https://groups.google.com/g/pyocd">Mailing list</a>
246+
</li>
247+
</ul>
248+
</div>
249+
</div>
250+
</footer>
251+
252+
</div>
253+
</div>
254+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-/bQdsTh/da6pkI1MST/rWKFNjaCP5gBSY4sEBT38Q/9RBh9AH40zEOg7Hlq2THRZ" crossorigin="anonymous"></script>
255+
<script src="/assets/javascript/jquery-3.6.0.slim.min.js"></script>
256+
<!--
257+
<script type="text/javascript" src="/assets/javascript/index.js"></script>
258+
-->
259+
260+
</body>
261+
</html>

posts/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,11 @@ <h3>News and blog posts</h3>
8080
</div>
8181
<ul>
8282

83+
<li>
84+
<a href="/posts/2025/10-24-pyocd-0.40.0-released.html"><strong>24 Oct 2025</strong> pyOCD 0.40.0 released</a>
85+
<div><p>Introducing support for multiple concurrent GDB client connections to the same GDB server.</p></div>
86+
</li>
87+
8388
<li>
8489
<a href="/posts/2025/07-04-pyocd-0.37.0-released.html"><strong>04 Jul 2025</strong> pyOCD 0.37.0 released</a>
8590
<div><p>Introducing support for CMSIS-Toolbox Run and Debug Management.</p></div>

0 commit comments

Comments
 (0)