PageSourceSearch

https://blog.pagefault-limited.co.uk/adding-digital-channels-to-th…-150-oscilloscope-and-flashing-new-firmware

html pagefault-limited.co.uk collected 2026-10-06 08:55:55 UTC 292,146 bytes, 1,525 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-GB" class="no-js">
3<head>
4	<meta charset="UTF-8">
5	<meta name="viewport" content="width=device-width, initial-scale=1.0">
6	<link rel="profile" href="https://gmpg.org/xfn/11">
7		<link rel="pingback" href="https://blog.pagefault-limited.co.uk/xmlrpc.php">
8		
8<script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script>
8
9<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
10	<style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style>
11	
12	<!-- This site is optimized with the Yoast SEO plugin v25.1 - https://yoast.com/wordpress/plugins/seo/ -->
13	<title>Adding Digital Channels to the DSO-150 Oscilloscope And Flashing New Firmware - Pagefault Blog</title>
14	<link rel="canonical" href="https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware" />
15	<meta property="og:locale" content="en_GB" />
16	<meta property="og:type" content="article" />
17	<meta property="og:title" content="Adding Digital Channels to the DSO-150 Oscilloscope And Flashing New Firmware - Pagefault Blog" />
18	<meta property="og:description" content="For some time I have been aware of the little portable oscilloscopes (DSO) kits produced by JYE Tech, such as the DSO-138 and DSO-150. While these kits can be purchased fully built, they are usually sold in a DIY state of &#8220;you solder everything&#8221; or &#8220;you solder everything minus the smd components&#8221;. In the images &hellip; Continue reading &quot;Adding Digital Channels to the DSO-150 Oscilloscope And Flashing New Firmware&quot;" />
19	<meta property="og:url" content="https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware" />
20	<meta property="og:site_name" content="Pagefault Blog" />
21	<meta property="article:published_time" content="2019-03-24T16:30:19+00:00" />
22	<meta property="article:modified_time" content="2021-01-17T14:18:15+00:00" />
23	<meta property="og:image" content="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742.jpg" />
24	<meta property="og:image:width" content="1796" />
25	<meta property="og:image:height" content="2733" />
26	<meta property="og:image:type" content="image/jpeg" />
27	<meta name="author" content="Don Prince" />
28	<meta name="twitter:card" content="summary_large_image" />
29	<meta name="twitter:label1" content="Written by" />
30	<meta name="twitter:data1" content="Don Prince" />
31	<meta name="twitter:label2" content="Estimated reading time" />
32	<meta name="twitter:data2" content="11 minutes" />
33	
33<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"Article","@id":"https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#article","isPartOf":{"@id":"https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware"},"author":{"name":"Don Prince","@id":"https://blog.pagefault-limited.co.uk/#/schema/person/052b3b95b2af482f957cef9ecec6aa27"},"headline":"Adding Digital Channels to the DSO-150 Oscilloscope And Flashing New Firmware","datePublished":"2019-03-24T16:30:19+00:00","dateModified":"2021-01-17T14:18:15+00:00","mainEntityOfPage":{"@id":"https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware"},"wordCount":1235,"commentCount":6,"publisher":{"@id":"https://blog.pagefault-limited.co.uk/#organization"},"image":{"@id":"https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#primaryimage"},"thumbnailUrl":"https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742.jpg","keywords":["analog","digital","DSO-150","firmware","ft2232hl","ftdi","jtsg","logic","opensource","oscilloscope"],"articleSection":["Debug","DSO-150","Electronics","JTAG","Open Source","openocd","Oscilloscope","Programming","Tools"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#respond"]}]},{"@type":"WebPage","@id":"https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware","url":"https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware","name":"Adding Digital Channels to the DSO-150 Oscilloscope And Flashing New Firmware - Pagefault Blog","isPartOf":{"@id":"https://blog.pagefault-limited.co.uk/#website"},"primaryImageOfPage":{"@id":"https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#primaryimage"},"image":{"@id":"https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#primaryimage"},"thumbnailUrl":"https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742.jpg","datePublished":"2019-03-24T16:30:19+00:00","dateModified":"2021-01-17T14:18:15+00:00","breadcrumb":{"@id":"https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#primaryimage","url":"https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742.jpg","contentUrl":"https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742.jpg","width":1796,"height":2733,"caption":"Firmware Flashed"},{"@type":"BreadcrumbList","@id":"https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://blog.pagefault-limited.co.uk/"},{"@type":"ListItem","position":2,"name":"Posts","item":"https://blog.pagefault-limited.co.uk/posts"},{"@type":"ListItem","position":3,"name":"Adding Digital Channels to the DSO-150 Oscilloscope And Flashing New Firmware"}]},{"@type":"WebSite","@id":"https://blog.pagefault-limited.co.uk/#website","url":"https://blog.pagefault-limited.co.uk/","name":"Pagefault Blog","description":"On and Off again! One Bit to switch them all.","publisher":{"@id":"https://blog.pagefault-limited.co.uk/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://blog.pagefault-limited.co.uk/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https://blog.pagefault-limited.co.uk/#organization","name":"Pagefault Limited","url":"https://blog.pagefault-limited.co.uk/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https://blog.pagefault-limited.co.uk/#/schema/logo/image/","url":"https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/logo-small.png","contentUrl":"https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/logo-small.png","width":800,"height":100,"caption":"Pagefault Limited"},"image":{"@id":"https://blog.pagefault-limited.co.uk/#/schema/logo/image/"}},{"@type":"Person","@id":"https://blog.pagefault-limited.co.uk/#/schema/person/052b3b95b2af482f957cef9ecec6aa27","name":"Don Prince","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https://blog.pagefault-limited.co.uk/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/48a07e84e1804c9bca88bf884837506758974f86fce60b1a4b47b441124b15bb?s=96&d=mm&r=g","contentUrl":"https://secure.gravatar.com/avatar/48a07e84e1804c9bca88bf884837506758974f86fce60b1a4b47b441124b15bb?s=96&d=mm&r=g","caption":"Don Prince"}}]}</script>
33
34	<!-- / Yoast SEO plugin. -->
35
36
37<link rel='dns-prefetch' href='//www.googletagmanager.com' />
38<link rel='dns-prefetch' href='//pagead2.googlesyndication.com' />
39<link rel="alternate" type="application/rss+xml" title="Pagefault Blog &raquo; Feed" href="https://blog.pagefault-limited.co.uk/feed" />
40<link rel="alternate" type="application/rss+xml" title="Pagefault Blog &raquo; Comments Feed" href="https://blog.pagefault-limited.co.uk/comments/feed" />
41<link rel="alternate" type="application/rss+xml" title="Pagefault Blog &raquo; Adding Digital Channels to the DSO-150 Oscilloscope And Flashing New Firmware Comments Feed" href="https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware/feed" />
42		<!-- This site uses the Google Analytics by MonsterInsights plugin v9.5.3 - Using Analytics tracking - https://www.monsterinsights.com/ -->
vendor: 59 bytes, lines 42-43
42
43							<script src="//www.googletagmanager.com/gtag/js?id=
43G-LV2X12HE05
vendor: 68 bytes, lines 43-44
43"  data-cfasync="false" data-wpfc-render="false" async></script>
44			
44<script data-cfasync="false" data-wpfc-render="false">
45				var mi_version = '9.5.3';
46				var mi_track_user = true;
47				var mi_no_track_reason = '';
48								var MonsterInsightsDefaultLocations = {"page_location":"https:\/\/blog.pagefault-limited.co.uk\/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware\/"};
49				if ( typeof MonsterInsightsPrivacyGuardFilter === 'function' ) {
50					var MonsterInsightsLocations = (typeof MonsterInsightsExcludeQuery === 'object') ? MonsterInsightsPrivacyGuardFilter( MonsterInsightsExcludeQuery ) : MonsterInsightsPrivacyGuardFilter( MonsterInsightsDefaultLocations );
51				} else {
52					var MonsterInsightsLocations = (typeof MonsterInsightsExcludeQuery === 'object') ? MonsterInsightsExcludeQuery : MonsterInsightsDefaultLocations;
53				}
54
55								var disableStrs = [
56										'ga-disable-G-LV2X12HE05',
57									];
58
59				/* Function to detect opted out users */
60				function __gtagTrackerIsOptedOut() {
61					for (var index = 0; index < disableStrs.length; index++) {
62						if (document.cookie.indexOf(disableStrs[index] + '=true') > -1) {
63							return true;
64						}
65					}
66
67					return false;
68				}
69
70				/* Disable tracking if the opt-out cookie exists. */
71				if (__gtagTrackerIsOptedOut()) {
72					for (var index = 0; index < disableStrs.length; index++) {
73						window[disableStrs[index]] = true;
74					}
75				}
76
77				/* Opt-out function */
78				function __gtagTrackerOptout() {
79					for (var index = 0; index < disableStrs.length; index++) {
80						document.cookie = disableStrs[index] + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
81						window[disableStrs[index]] = true;
82					}
83				}
84
85				if ('undefined' === typeof gaOptout) {
86					function gaOptout() {
87						__gtagTrackerOptout();
88					}
89				}
90								window.dataLayer = window.dataLayer || [];
91
92				window.MonsterInsightsDualTracker = {
93					helpers: {},
94					trackers: {},
95				};
96				if (mi_track_user) {
97					function __gtagDataLayer() {
98						dataLayer.push(arguments);
99					}
100
101					function __gtagTracker(type, name, parameters) {
102						if (!parameters) {
103							parameters = {};
104						}
105
106						if (parameters.send_to) {
107							__gtagDataLayer.apply(null, arguments);
108							return;
109						}
110
111						if (type === 'event') {
112														parameters.send_to = monsterinsights_frontend.v4_id;
113							var hookName = name;
114							if (typeof parameters['event_category'] !== 'undefined') {
115								hookName = parameters['event_category'] + ':' + name;
116							}
117
118							if (typeof MonsterInsightsDualTracker.trackers[hookName] !== 'undefined') {
119								MonsterInsightsDualTracker.trackers[hookName](parameters);
120							} else {
121								__gtagDataLayer('event', name, parameters);
122							}
123							
124						} else {
125							__gtagDataLayer.apply(null, arguments);
126						}
127					}
128
129					__gtagTracker('js', new Date());
130					__gtagTracker('set', {
131						'developer_id.dZGIzZG': true,
132											});
133					if ( MonsterInsightsLocations.page_location ) {
134						__gtagTracker('set', MonsterInsightsLocations);
135					}
136										__gtagTracker('config', 'G-LV2X12HE05', {"forceSSL":"true","link_attribution":"true"} );
137															window.gtag = __gtagTracker;										(function () {
138						/* https://developers.google.com/analytics/devguides/collection/analyticsjs/ */
139						/* ga and __gaTracker compatibility shim. */
140						var noopfn = function () {
141							return null;
142						};
143						var newtracker = function () {
144							return new Tracker();
145						};
146						var Tracker = function () {
147							return null;
148						};
149						var p = Tracker.prototype;
150						p.get = noopfn;
151						p.set = noopfn;
152						p.send = function () {
153							var args = Array.prototype.slice.call(arguments);
154							args.unshift('send');
155							__gaTracker.apply(null, args);
156						};
157						var __gaTracker = function () {
158							var len = arguments.length;
159							if (len === 0) {
160								return;
161							}
162							var f = arguments[len - 1];
163							if (typeof f !== 'object' || f === null || typeof f.hitCallback !== 'function') {
164								if ('send' === arguments[0]) {
165									var hitConverted, hitObject = false, action;
166									if ('event' === arguments[1]) {
167										if ('undefined' !== typeof arguments[3]) {
168											hitObject = {
169												'eventAction': arguments[3],
170												'eventCategory': arguments[2],
171												'eventLabel': arguments[4],
172												'value': arguments[5] ? arguments[5] : 1,
173											}
174										}
175									}
176									if ('pageview' === arguments[1]) {
177										if ('undefined' !== typeof arguments[2]) {
178											hitObject = {
179												'eventAction': 'page_view',
180												'page_path': arguments[2],
181											}
182										}
183									}
184									if (typeof arguments[2] === 'object') {
185										hitObject = arguments[2];
186									}
187									if (typeof arguments[5] === 'object') {
188										Object.assign(hitObject, arguments[5]);
189									}
190									if ('undefined' !== typeof arguments[1].hitType) {
191										hitObject = arguments[1];
192										if ('pageview' === hitObject.hitType) {
193											hitObject.eventAction = 'page_view';
194										}
195									}
196									if (hitObject) {
197										action = 'timing' === arguments[1].hitType ? 'timing_complete' : hitObject.eventAction;
198										hitConverted = mapArgs(hitObject);
199										__gtagTracker('event', action, hitConverted);
200									}
201								}
202								return;
203							}
204
205							function mapArgs(args) {
206								var arg, hit = {};
207								var gaMap = {
208									'eventCategory': 'event_category',
209									'eventAction': 'event_action',
210									'eventLabel': 'event_label',
211									'eventValue': 'event_value',
212									'nonInteraction': 'non_interaction',
213									'timingCategory': 'event_category',
214									'timingVar': 'name',
215									'timingValue': 'value',
216									'timingLabel': 'event_label',
217									'page': 'page_path',
218									'location': 'page_location',
219									'title': 'page_title',
220									'referrer' : 'page_referrer',
221								};
222								for (arg in args) {
223																		if (!(!args.hasOwnProperty(arg) || !gaMap.hasOwnProperty(arg))) {
224										hit[gaMap[arg]] = args[arg];
225									} else {
226										hit[arg] = args[arg];
227									}
228								}
229								return hit;
230							}
231
232							try {
233								f.hitCallback();
234							} catch (ex) {
235							}
236						};
237						__gaTracker.create = newtracker;
238						__gaTracker.getByName = newtracker;
239						__gaTracker.getAll = function () {
240							return [];
241						};
242						__gaTracker.remove = noopfn;
243						__gaTracker.loaded = true;
244						window['__gaTracker'] = __gaTracker;
245					})();
246									} else {
247										console.log("");
248					(function () {
249						function __gtagTracker() {
250							return null;
251						}
252
253						window['__gtagTracker'] = __gtagTracker;
254						window['gtag'] = __gtagTracker;
255					})();
256									}
257			</script>
257
258				<!-- / Google Analytics by MonsterInsights -->
259		
259<script>
260window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/blog.pagefault-limited.co.uk\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.8.10"}};
261/*! This file is auto-generated */
262!function(s,n){var o,i,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),a=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===a[t]})}function u(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);for(var n=e.getImageData(16,16,1,1),a=0;a<n.data.length;a++)if(0!==n.data[a])return!1;return!0}function f(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\udedf")}return!1}function g(e,t,n,a){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):s.createElement("canvas"),o=r.getContext("2d",{willReadFrequently:!0}),i=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(function(e){i[e]=t(o,e,n,a)}),i}function t(e){var t=s.createElement("script");t.src=e,t.defer=!0,s.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",i=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){s.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+g.toString()+"("+[JSON.stringify(i),f.toString(),p.toString(),u.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"}),r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=function(e){c(n=e.data),r.terminate(),t(n)})}catch(e){}c(n=g(i,f,p,u))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings);
263</script>
263
264<link rel='stylesheet' id='crayon-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/crayon-syntax-highlighter/css/min/crayon.min.css?ver=_2.7.2_beta' media='all' />
265<link rel='stylesheet' id='crayon-theme-visual-assist-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/crayon-syntax-highlighter/themes/visual-assist/visual-assist.css?ver=_2.7.2_beta' media='all' />
266<link rel='stylesheet' id='crayon-font-monaco-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/crayon-syntax-highlighter/fonts/monaco.css?ver=_2.7.2_beta' media='all' />
267<style id='wp-emoji-styles-inline-css'>
268
269	img.wp-smiley, img.emoji {
270		display: inline !important;
271		border: none !important;
272		box-shadow: none !important;
273		height: 1em !important;
274		width: 1em !important;
275		margin: 0 0.07em !important;
276		vertical-align: -0.1em !important;
277		background: none !important;
278		padding: 0 !important;
279	}
280</style>
281<link rel='stylesheet' id='wp-block-library-css' href='https://blog.pagefault-limited.co.uk/wp-includes/css/dist/block-library/style.min.css?ver=6.8.10' media='all' />
282<style id='wp-block-library-theme-inline-css'>
283.wp-block-audio :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio :where(figcaption){color:#ffffffa6}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:#ffffffa6}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:#ffffffa6}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote:where(.is-style-plain){border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:#ffffffa6}.wp-block-video :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video :where(figcaption){color:#ffffffa6}.wp-block-video{margin:0 0 1em}:root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em}
284</style>
285<style id='classic-theme-styles-inline-css'>
286/*! This file is auto-generated */
287.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
288</style>
289<style id='pdfp-pdfposter-style-inline-css'>
290.pdfp_wrapper .pdf{position:relative}.pdfp_wrapper.pdfp_popup_enabled .iframe_wrapper{display:none}.pdfp_wrapper.pdfp_popup_enabled .iframe_wrapper:fullscreen{display:block}.pdfp_wrapper .iframe_wrapper{height:100%;width:100%}.pdfp_wrapper .iframe_wrapper:fullscreen iframe{height:100vh!important}.pdfp_wrapper .iframe_wrapper iframe{width:100%}.pdfp_wrapper .iframe_wrapper .close{background:#fff;border:1px solid #ddd;border-radius:3px;color:#222;cursor:pointer;display:none;font-family:sans-serif;font-size:36px;line-height:100%;padding:0 7px;position:absolute;right:12px;top:35px;z-index:9999}.pdfp_wrapper .iframe_wrapper:fullscreen .close{display:block}.pdfp_wrapper .pdfp_fullscreen_close{display:none}.pdfp_wrapper.pdfp_fullscreen_opened .pdfp_fullscreen_close{align-items:center;background:#fff;border-radius:3px;color:#222;cursor:pointer;display:flex;font-size:35px;height:30px;justify-content:center;overflow:hidden;padding-bottom:4px;position:fixed;right:20px;top:20px;width:32px}.pdfp_wrapper.pdfp_fullscreen_opened .pdfp_fullscreen_overlay{background:#2229;height:100%;left:0;position:fixed;top:0;width:100%}.pdfp_wrapper.pdfp_fullscreen_opened .iframe_wrapper{display:block;height:90vh;left:50%;max-width:95%;position:fixed;top:50%;transform:translate(-50%,-50%);width:900px;z-index:99999999999}.pdfp_wrapper iframe{border:none;outline:none}.pdfp-adobe-viewer{border:1px solid #ddd;border-radius:3px;
290cursor:pointer;outline:none;text-decoration:none}.pdfp_download{margin-right:15px}.cta_wrapper{margin-bottom:10px;text-align:left}.cta_wrapper button{cursor:pointer}.pdfp_wrapper p{margin:10px 0;text-align:center}.popout-disabled{height:50px;position:absolute;right:12px;top:12px;width:50px}.pdfp_wrapper iframe{max-width:100%}.ViewSDK_hideOverflow[data-align=center]{margin-left:auto;margin-right:auto}.ViewSDK_hideOverflow[data-align=left]{margin-right:auto}.ViewSDK_hideOverflow[data-align=right]{margin-left:auto}@media screen and (max-width:768px){.pdfp_wrapper iframe{height:calc(100vw + 120px)}}@media screen and (max-width:576px){.cta_wrapper .pdfp_download{margin-bottom:10px;margin-right:0}.cta_wrapper .pdfp_download button{margin-right:0!important}.cta_wrapper{align-items:center;display:flex;flex-direction:column}}
291.pdfp_wrapper .pdf{position:relative}.pdfp_wrapper .iframe_wrapper{height:100%;width:100%}.pdfp_wrapper .iframe_wrapper:fullscreen iframe{height:100vh!important}.pdfp_wrapper .iframe_wrapper iframe{width:100%}.pdfp_wrapper .iframe_wrapper .close{background:#fff;border:1px solid #ddd;border-radius:3px;color:#222;cursor:pointer;display:none;font-family:sans-serif;font-size:36px;line-height:100%;padding:0 7px;position:absolute;right:12px;top:35px;z-index:9999}.pdfp_wrapper .iframe_wrapper:fullscreen .close{display:block}.pdfp-adobe-viewer{border:1px solid #ddd;border-radius:3px;cursor:pointer;outline:none;text-decoration:none}.pdfp_download{margin-right:15px}.cta_wrapper{margin-bottom:10px}.pdfp_wrapper p{margin:10px 0;text-align:center}.popout-disabled{height:50px;position:absolute;right:12px;top:12px;width:50px}@media screen and (max-width:768px){.pdfp_wrapper iframe{height:calc(100vw + 120px)}}.ViewSDK_hideOverflow[data-align=center]{margin-left:auto;margin-right:auto}.ViewSDK_hideOverflow[data-align=left]{margin-right:auto}.ViewSDK_hideOverflow[data-align=right]{margin-left:auto}@media screen and (max-width:768px){.pdfp_wrapper iframe{height:calc(100vw + 120px)!important}}@media screen and (max-width:576px){.cta_wrapper .pdfp_download{margin-bottom:10px;margin-right:0}.cta_wrapper .pdfp_download button{margin-right:0!important}.cta_wrapper{align-items:center;display:flex;flex-direction:column}}
292
293</style>
294<style id='global-styles-inline-css'>
295:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--dark-gray: #1a1a1a;--wp--preset--color--medium-gray: #686868;--wp--preset--color--light-gray: #e5e5e5;--wp--preset--color--blue-gray: #4d545c;--wp--preset--color--bright-blue: #007acc;--wp--preset--color--light-blue: #9adffd;--wp--preset--color--dark-brown: #402b30;--wp--preset--color--medium-brown: #774e24;--wp--preset--color--dark-red: #640c1f;--wp--preset--color--bright-red: #ff675f;--wp--preset--color--yellow: #ffef8e;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
295--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
295.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
296:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
297:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
298:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
299</style>
300<link rel='stylesheet' id='pdfp-public-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/pdf-poster/build/public.css?ver=2.2.3' media='all' />
301<link rel='stylesheet' id='foobox-free-min-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/foobox-image-lightbox/free/css/foobox.free.min.css?ver=2.7.34' media='all' />
302<link rel='stylesheet' id='contact-form-7-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.0.6' media='all' />
303<link rel='stylesheet' id='collapscore-css-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/jquery-collapse-o-matic/css/core_style.css?ver=1.0' media='all' />
304<link rel='stylesheet' id='collapseomatic-css-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/jquery-collapse-o-matic/css/light_style.css?ver=1.6' media='all' />
305<link rel='stylesheet' id='toc-screen-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/table-of-contents-plus/screen.min.css?ver=2411.1' media='all' />
306<link rel='stylesheet' id='c4wp-public-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/wp-captcha//assets/css/c4wp-public.css?ver=6.8.10' media='all' />
307<link rel='stylesheet' id='twentysixteen-fonts-css' href='https://blog.pagefault-limited.co.uk/wp-content/themes/twentysixteen/fonts/merriweather-plus-montserrat-plus-inconsolata.css?ver=20230328' media='all' />
308<link rel='stylesheet' id='genericons-css' href='https://blog.pagefault-limited.co.uk/wp-content/themes/twentysixteen/genericons/genericons.css?ver=20201208' media='all' />
309<link rel='stylesheet' id='twentysixteen-style-css' href='https://blog.pagefault-limited.co.uk/wp-content/themes/twentysixteen/style.css?ver=20250415' media='all' />
310<link rel='stylesheet' id='twentysixteen-block-style-css' href='https://blog.pagefault-limited.co.uk/wp-content/themes/twentysixteen/css/blocks.css?ver=20240817' media='all' />
311<!--[if lt IE 10]>
312<link rel='stylesheet' id='twentysixteen-ie-css' href='https://blog.pagefault-limited.co.uk/wp-content/themes/twentysixteen/css/ie.css?ver=20170530' media='all' />
313<![endif]-->
314<!--[if lt IE 9]>
315<link rel='stylesheet' id='twentysixteen-ie8-css' href='https://blog.pagefault-limited.co.uk/wp-content/themes/twentysixteen/css/ie8.css?ver=20170530' media='all' />
316<![endif]-->
317<!--[if lt IE 8]>
318<link rel='stylesheet' id='twentysixteen-ie7-css' href='https://blog.pagefault-limited.co.uk/wp-content/themes/twentysixteen/css/ie7.css?ver=20170530' media='all' />
319<![endif]-->
320<link rel='stylesheet' id='rdp-mediawiki-style-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/rdp-wiki-embed/pl/css/wiki-embed.css?ver=1.2.20' media='all' />
321<link rel='stylesheet' id='rdp-we-style-common-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/rdp-wiki-embed/pl/css/style.css?ver=1.2.20' media='all' />
322<link rel='stylesheet' id='jquery-lazyloadxt-spinner-css-css' href='//blog.pagefault-limited.co.uk/wp-content/plugins/a3
322-lazy-load/assets/css/jquery.lazyloadxt.spinner.css?ver=6.8.10' media='all' />
323<link rel='stylesheet' id='codecolorer-css' href='https://blog.pagefault-limited.co.uk/wp-content/plugins/codecolorer/codecolorer.css?ver=0.10.1' media='screen' />
324<script src="https://blog.pagefault-limited.co.uk/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script>
vendor: 1 bytes, line 324
324
325<script src="https://blog.pagefault-limited.co.uk/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script>
vendor: 1 bytes, line 325
325
326<script id="crayon_js-js-extra">
327var CrayonSyntaxSettings = {"version":"_2.7.2_beta","is_admin":"0","ajaxurl":"https:\/\/blog.pagefault-limited.co.uk\/wp-admin\/admin-ajax.php","prefix":"crayon-","setting":"crayon-setting","selected":"crayon-setting-selected","changed":"crayon-setting-changed","special":"crayon-setting-special","orig_value":"data-orig-value","debug":""};
328var CrayonSyntaxStrings = {"copy":"Press %s to Copy, %s to Paste","minimize":"Click To Expand Code"};
329</script>
vendor: 1 bytes, line 329
329
330<script src="https://blog.pagefault-limited.co.uk/wp-content/plugins/crayon-syntax-highlighter/js/min/crayon.min.js?ver=_2.7.2_beta" id="crayon_js-js"></script>
vendor: 1 bytes, line 330
330
331<script src="https://blog.pagefault-limited.co.uk/wp-content/plugins/google-analytics-for-wordpress/assets/js/frontend-gtag.min.js?ver=9.5.3" id="monsterinsights-frontend-script-js" async data-wp-strategy="async"></script>
vendor: 1 bytes, line 331
331
332<script data-cfasync="false" data-wpfc-render="false" id='monsterinsights-frontend-script-js-extra'>var monsterinsights_frontend = {"js_events_tracking":"true","download_extensions":"doc,pdf,ppt,zip,xls,docx,pptx,xlsx","inbound_paths":"[{\"path\":\"\\\/go\\\/\",\"label\":\"affiliate\"},{\"path\":\"\\\/recommend\\\/\",\"label\":\"affiliate\"}]","home_url":"https:\/\/blog.pagefault-limited.co.uk","hash_tracking":"false","v4_id":"G-LV2X12HE05"};</script>
vendor: 1 bytes, line 332
332
333<script src="https://blog.pagefault-limited.co.uk/wp-content/plugins/wp-captcha//assets/js/c4wp-public.js?ver=6.8.10" id="c4wp-public-js"></script>
333
334<!--[if lt IE 9]>
335<script src="https://blog.pagefault-limited.co.uk/wp-content/themes/twentysixteen/js/html5.js?ver=3.7.3" id="twentysixteen-html5-js"></script>
335
336<![endif]-->
337<script id="twentysixteen-script-js-extra">
338var screenReaderText = {"expand":"expand child menu","collapse":"collapse child menu"};
339</script>
vendor: 1 bytes, line 339
339
340<script src="https://blog.pagefault-limited.co.uk/wp-content/themes/twentysixteen/js/functions.js?ver=20230629" id="twentysixteen-script-js" defer data-wp-strategy="defer"></script>
vendor: 1 bytes, line 340
340
341<script id="foobox-free-min-js-before">
342/* Run FooBox FREE (v2.7.34) */
343var FOOBOX = window.FOOBOX = {
344	ready: true,
345	disableOthers: false,
346	o: {wordpress: { enabled: true }, captions: { dataTitle: ["captionTitle","title"], dataDesc: ["captionDesc","description"] }, rel: '', excludes:'.fbx-link,.nofoobox,.nolightbox,a[href*="pinterest.com/pin/create/button/"]', affiliate : { enabled: false }, error: "Could not load the item"},
347	selectors: [
348		".gallery", ".wp-block-gallery", ".wp-caption", ".wp-block-image", "a:has(img[class*=wp-image-])", ".foobox"
349	],
350	pre: function( $ ){
351		// Custom JavaScript (Pre)
352		
353	},
354	post: function( $ ){
355		// Custom JavaScript (Post)
356		
357		// Custom Captions Code
358		
359	},
360	custom: function( $ ){
361		// Custom Extra JS
362		
363	}
364};
365</script>
vendor: 1 bytes, line 365
365
366<script src="https://blog.pagefault-limited.co.uk/wp-content/plugins/foobox-image-lightbox/free/js/foobox.free.min.js?ver=2.7.34" id="foobox-free-min-js"></script>
366
367
368<!-- Google tag (gtag.js) snippet added by Site Kit -->
369
370<!-- Google Analytics snippet added by Site Kit -->
vendor: 58 bytes, lines 370-371
370
371<script src="https://www.googletagmanager.com/gtag/js?id=
371G-LV2X12HE05
vendor: 40 bytes, line 371
371" id="google_gtagjs-js" async></script>
372<script id="google_gtagjs-js-after">
373window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}
374gtag("set","linker",{"domains":["blog.pagefault-limited.co.uk"]});
375gtag("js", new Date());
376gtag("set", "developer_id.dZTNiMT", true);
377gtag("config", "G-LV2X12HE05");
378</script>
378
379
380<!-- End Google tag (gtag.js) snippet added by Site Kit -->
381<link rel="https://api.w.org/" href="https://blog.pagefault-limited.co.uk/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://blog.pagefault-limited.co.uk/wp-json/wp/v2/posts/150" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://blog.pagefault-limited.co.uk/xmlrpc.php?rsd" />
382<meta name="generator" content="WordPress 6.8.10" />
383<link rel='shortlink' href='https://blog.pagefault-limited.co.uk/?p=150' />
384<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://blog.pagefault-limited.co.uk/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fblog.pagefault-limited.co.uk%2Fadding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware" />
385<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://blog.pagefault-limited.co.uk/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fblog.pagefault-limited.co.uk%2Fadding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware&#038;format=xml" />
386        <style>
387                    </style>
388<meta name="generator" content="Site Kit by Google 1.152.1" />
388<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1579481821615564"
389     crossorigin="anonymous"></script>
389
390<!-- Enter your scripts here -->
391<!-- Google AdSense meta tags added by Site Kit -->
392<meta name="google-adsense-platform-account" content="ca-host-pub-2644536267352236">
393<meta name="google-adsense-platform-domain" content="sitekit.withgoogle.com">
394<!-- End Google AdSense meta tags added by Site Kit -->
395<style>.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style><style type="text/css">.broken_link, a.broken_link {
396	text-decoration: line-through;
397}</style>
398<!-- Google AdSense snippet added by Site Kit -->
399<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8049997717605249&amp;host=ca-host-pub-2644536267352236" crossorigin="anonymous"></script>
399
400
401<!-- End Google AdSense snippet added by Site Kit -->
402<link rel="icon" href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2018/02/cropped-2018-02-02-172944-cropped-32x32.jpg" sizes="32x32" />
403<link rel="icon" href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2018/02/cropped-2018-02-02-172944-cropped-192x192.jpg" sizes="192x192" />
404<link rel="apple-touch-icon" href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2018/02/cropped-2018-02-02-172944-cropped-180x180.jpg" />
405<meta name="msapplication-TileImage" content="https://blog.pagefault-limited.co.uk/wp-content/uploads/2018/02/cropped-2018-02-02-172944-cropped-270x270.jpg" />
406	<!-- Fonts Plugin CSS - https://fontsplugin.com/ -->
407	<style>
408			</style>
409	<!-- Fonts Plugin CSS -->
410	</head>
411
412<body data-rsssl=1 class="wp-singular post-template-default single single-post postid-150 single-format-standard wp-embed-responsive wp-theme-twentysixteen">
413<div id="page" class="site">
414	<div class="site-inner">
415		<a class="skip-link screen-reader-text" href="#content">
416			Skip to content		</a>
417
418		<header id="masthead" class="site-header">
419			<div class="site-header-main">
420				<div class="site-branding">
421																					<p class="site-title"><a href="https://blog.pagefault-limited.co.uk/" rel="home" >Pagefault Blog</a></p>
422												<p class="site-description">On and Off again! One Bit to switch them all.</p>
423									</div><!-- .site-branding -->
424
425									<button id="menu-toggle" class="menu-toggle">Menu</button>
426
427					<div id="site-header-menu" class="site-header-menu">
428													<nav id="site-navigation" class="main-navigation" aria-label="Primary menu">
429								<div class="menu-footer-container"><ul id="menu-footer" class="primary-menu"><li id="menu-item-51736" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-51736"><a rel="privacy-policy" href="https://blog.pagefault-limited.co.uk/privacy-policy">Privacy Policy</a></li>
430<li id="menu-item-51744" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-51744"><a href="https://blog.pagefault-limited.co.uk/contact-us">Contact Us</a></li>
431</ul></div>							</nav><!-- .main-navigation -->
432						
433											</div><!-- .site-header-menu -->
434							</div><!-- .site-header-main -->
435
436											<div class="header-image">
437					<a href="https://blog.pagefault-limited.co.uk/" rel="home" >
438						<img src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2018/02/cropped-2018-02-02-172944.jpg" width="1200" height="278" alt="Pagefault Blog" sizes="(max-width: 709px) 85vw, (max-width: 909px) 81vw, (max-width: 1362px) 88vw, 1200px" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2018/02/cropped-2018-02-02-172944.jpg 1200w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2018/02/cropped-2018-02-02-172944-300x70.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2018/02/cropped-2018-02-02-172944-768x178.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2018/02/cropped-2018-02-02-172944-1024x237.jpg 1024w" decoding="async" fetchpriority="high" />					</a>
439				</div><!-- .header-image -->
440					</header><!-- .site-header -->
441
442		<div id="content" class="site-content">
443
444<div id="primary" class="content-area">
445	<main id="main" class="site-main">
446		
447<article id="post-150" class="post-150 post type-post status-publish format-standard has-post-thumbnail hentry category-debug category-dso-150 category-electronics category-jtag category-open-source category-openocd category-oscilloscope category-programming category-tools tag-analog tag-digital tag-dso-150 tag-firmware tag-ft2232hl tag-ftdi tag-jtsg tag-logic tag-opensource tag-oscilloscope">
448	<header class="entry-header">
449		<h1 class="entry-title">Adding Digital Channels to the DSO-150 Oscilloscope And Flashing New Firmware</h1>	</header><!-- .entry-header -->
450
451	
452	
453		<div class="post-thumbnail">
454			<img width="1200" height="1826" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742.jpg" class="lazy lazy-hidden attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742.jpg 1796w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-197x300.jpg 197w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-768x1169.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-673x1024.jpg 673w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 60vw, (max-width: 1362px) 62vw, 840px" /><noscript><img width="1200" height="1826" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742.jpg 1796w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-197x300.jpg 197w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-768x1169.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-673x1024.jpg 673w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 60vw, (max-width: 1362px) 62vw, 840px" /></noscript>	</div><!-- .post-thumbnail -->
455
456	
457	<div class="entry-content">
458		
459<p></p>
460
461
462
463<p>For some time I have been aware of the little portable oscilloscopes (DSO) kits produced by <a href="https://jyetech.com">JYE Tech</a>, such as the <a href="https://jyetech.com/dso-138-oscilloscope-diy-kit/">DSO-138</a> and <a href="https://jyetech.com/dso-150-shell/">DSO-150</a>. While these kits can be purchased fully built, they are usually sold in a DIY state of &#8220;you solder everything&#8221; or &#8220;you solder everything minus the smd components&#8221;. In the images below, the red PCB is the DSO-138 and the blue PCB is the big brother DSO-150. </p>
464
465
466
467<figure class="wp-block-gallery columns-3 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138.jpg"><img decoding="async" width="1000" height="1000" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3
467-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138.jpg" alt="" data-id="168" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=168" class="lazy lazy-hidden wp-image-168" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138.jpg 1000w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-174x174.jpg 174w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img decoding="async" width="1000" height="1000" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138.jpg" alt="" data-id="168" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=168" class="wp-image-168" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138.jpg 1000w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-174x174.jpg 174w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">DSO-138 Complete with Case</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1.jpg"><img loading="lazy" decoding="async" width="1000" height="1000" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1.jpg" alt="" data-id="166" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=166" class="lazy lazy-hidden wp-image-166" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1.jpg 1000w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1-174x174.jpg 174w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="1000" height="1000" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1.jpg" alt="" data-id="166" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=166" class="wp-image-166" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1.jpg 1000w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit1-174x174.jpg 174w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">DSO-138 Kit</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features-1024x768.jpg"><img loading="lazy" decoding="async" width="1024" height="768" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3
467-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features-1024x768.jpg" alt="" data-id="165" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=165" class="lazy lazy-hidden wp-image-165" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features-1024x768.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features-300x225.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features-768x576.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features-285x214.jpg 285w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="1024" height="768" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features-1024x768.jpg" alt="" data-id="165" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=165" class="wp-image-165" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features-1024x768.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features-300x225.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features-768x576.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features-285x214.jpg 285w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-features.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">DSO-138 in operation</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2-1024x768.jpg"><img loading="lazy" decoding="async" width="1024" height="768" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2-1024x768.jpg" alt="" data-id="156" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=156" class="lazy lazy-hidden wp-image-156" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2-1024x768.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2-300x225.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2-768x576.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2-285x214.jpg 285w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="1024" height="768" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2-1024x768.jpg" alt="" data-id="156" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=156" class="wp-image-156" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2-1024x768.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2-300x225.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2-768x576.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2-285x214.jpg 285w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-138-kit2.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">DSO-138 Assembling</figcaption></figure></li></ul></figure>
468
469
470
471<figure class="wp-block-gallery columns-3 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-1024x1024.jpg"><img loading="lazy" decoding="async" width="1024" height="1024" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3
471-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-1024x1024.jpg" alt="" data-id="161" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=161" class="lazy lazy-hidden wp-image-161" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-1024x1024.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-174x174.jpg 174w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-1024x1024.jpg" alt="" data-id="161" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=161" class="wp-image-161" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-1024x1024.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4-174x174.jpg 174w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit4.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">DSO-150 Case disassembled</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-1024x1024.jpg"><img loading="lazy" decoding="async" width="1024" height="1024" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-1024x1024.jpg" alt="" data-id="160" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=160" class="lazy lazy-hidden wp-image-160" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-1024x1024.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-174x174.jpg 174w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-1024x1024.jpg" alt="" data-id="160" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=160" class="wp-image-160" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-1024x1024.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3-174x174.jpg 174w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit3.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">DSO-150 Kit PCB</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-1024x1024.jpg"><img loading="lazy" decoding="async" width="1024" height="1024" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3
471-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-1024x1024.jpg" alt="" data-id="159" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=159" class="lazy lazy-hidden wp-image-159" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-1024x1024.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-174x174.jpg 174w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-1024x1024.jpg" alt="" data-id="159" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=159" class="wp-image-159" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-1024x1024.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2-174x174.jpg 174w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit2.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">DSO-150 Kit Components</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-1024x1024.jpg"><img loading="lazy" decoding="async" width="1024" height="1024" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-1024x1024.jpg" alt="" data-id="158" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=158" class="lazy lazy-hidden wp-image-158" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-1024x1024.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-174x174.jpg 174w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-1024x1024.jpg" alt="" data-id="158" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=158" class="wp-image-158" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-1024x1024.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1-174x174.jpg 174w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-kit1.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">DSO-150 BOM</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-1024x1024.jpg"><img loading="lazy" decoding="async" width="1024" height="1024" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3
471-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-1024x1024.jpg" alt="" data-id="157" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=157" class="lazy lazy-hidden wp-image-157" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-1024x1024.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-174x174.jpg 174w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-1024x1024.jpg" alt="" data-id="157" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=157" class="wp-image-157" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-1024x1024.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features-174x174.jpg 174w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-features.jpg 1500w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">DSO-150 Features</figcaption></figure></li></ul></figure>
472
473
474
475<p>I required a portable oscilloscope for some analog related projects, but I also wanted the ability to capture digital output at the same time. In the absence of digital outputs, I kept putting off the purchase until happily, I came across a couple of Github projects where the firmware has been rewritten and enhanced for both the DSOs mentioned. They both now have support for digital channels. That is if you are willing to flash the new firmware.</p>
476
477
478
479<p>The Open source DSO-138 features support for 2 analog + 2 digital channels. A second analog channel requires hardware mods to the pcb.</p>
480
481
482
483<figure class="wp-block-image"><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/DSO-138-oss.png"><img loading="lazy" decoding="async" width="800" height="582" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/DSO-138-oss.png" alt="" class="lazy lazy-hidden wp-image-175" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/DSO-138-oss.png 800w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/DSO-138-oss-300x218.png 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/DSO-138-oss-768x559.png 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /><noscript><img loading="lazy" decoding="async" width="800" height="582" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/DSO-138-oss.png" alt="" class="wp-image-175" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/DSO-138-oss.png 800w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/DSO-138-oss-300x218.png 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/DSO-138-oss-768x559.png 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /></noscript></a><figcaption>DSO-138 with an additional digital channel</figcaption></figure>
484
485
486<p>
486DSO-138: <a href="https://github.com/ardyesp/DLO-138">An open source firmware for DSO-138 O-Scope </a>&nbsp;<span class="collapseomatic " id="id6ac4b79aecb4d"  tabindex="0" title=""    ></span><div id="target-id6ac4b79aecb4d" class="collapseomatic_content ">
487<p><strong>Summary</strong></p>
488<p>DSO-138 is an excellent piece of hardware based on ARM Cortex M3 core STM32F103 processor and sufficient for most beginner users. The stock firmware, while quite responsive, can use a few improvements. The main shortcoming which prompted the development of DLO-138 firmware is the inability to get waveform data into a computer for further analysis and the lack of a second channel. Engineers troubleshooting hardware issues need to mark reference points on waveform so having another analog or digital channel can greatly improve analysis. This firmware hopes to improve on these issues.</p>
489<p><strong>Features</strong></p>
490<ul>
491<li>Two analog channels</li>
492<li>Two digital logic channels (SWDIO and SWDIO pins (PA13 and PA14) on board)</li>
493<li>Serial port interface for captured waveform data</li>
494<li>Trigger source selectable from Analog Channel 1 or Digital Channel</li>
495<li>Option to use rotary encoder instead of + &#8211; and SEL switches</li>
496<li>2K sample depth</li>
497</ul>
498<p>This firmware can be used on stock DSO-138 hardware as well. Select one of the pre-compiled binaries to suit the board. Follow the firmware upgrade instructions for DSO-138. At any time, you can reflash DSO-138 with JYE Tech provided firmware.</p>
499<p><strong>Cost</strong></p>
500<p>Extra features come at an additional cost. In the case of DLO-138, it is the loss of lowest timebase. Maximum sampling rate in DLO-138 is 20 µs/div instead of 10 µs/div. In the 20 µs/div range, firmware under-samples ADC channels, often reading same data twice. To use the second analog channel, analog front end has to be duplicated on a daughter board. On a stock hardware, this firmware can be used to provide two digital logic channels.</p>
501</div>
502
503
504<p>The Open source DSO-150 features support for 1 analog + 3 (yes 3) digital channels. </p>
505
506
507
508<figure class="wp-block-image"><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-oss.jpg"><img loading="lazy" decoding="async" width="1024" height="771" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-oss-1024x771.jpg" alt="" class="lazy lazy-hidden wp-image-176" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-oss-1024x771.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-oss-300x226.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-oss-768x578.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-oss-285x214.jpg 285w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="1024" height="771" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-oss-1024x771.jpg" alt="" class="wp-image-176" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-oss-1024x771.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-oss-300x226.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-oss-768x578.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso-150-oss-285x214.jpg 285w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption>DSO-150 with 1 analog and 3 digital channels</figcaption></figure>
509
510
511<p>DSO-150: An open source firmware for <a href="https://github.com/michar71/Open-DSO-150">JYE Tech DSO-150 Digital Storage Oscilloscope</a> <span class="collapseomatic " id="id6ac4b79aecbe6"  tabindex="0" title=""    ></span><div id="target-id6ac4b79aecbe6" class="collapseomatic_content ">
512<p><strong>Summary</strong></p>
513<p><span style="background-color: #ffffff;"><strong>Complete rewrite of DSO-150 Firmware</strong></span></p>
514<ul>
515<li>No longer DSO-138 compatible (Sorry&#8230;)</li>
516<li>Rewritten for Atollic trueSTUDIO (Yea&#8230; Real debugging)</li>
517<li>Now using internal digital trigger through ADC IRQ (So trigger level can now be correlated to real voltage)</li>
518<li>Lots of new features like voltage overlay, markers, auto cal</li>
519</ul>
520<p><strong>Features</strong></p>
521<ul>
522<li>Support 1 Analog and up to 3 Digital Channels</li>
523<li>Trigger on rising/falling/both edges</li>
524<li>Trigger on Analog, Digital 1,2,3 Signal</li>
525<li>Single/Norm/Auto Trigger Mode</li>
526<li>Exact trigger voltage</li>
527<li>Serial Data Dump</li>
528<li>Automatic Zero-Level Cal for all gain-stages</li>
529<li>Voltmeter mode (Averaged over last 10 samples)</li>
530<li>Signal Statistics Display</li>
531<li>Cursors for Analog Signal</li>
532<li>Load/Store Waveform to/from Flash</li>
533<li>Zoom Out Display (See more data with full sampling Rate)</li>
534<li>&#8220;Persistence&#8221; Mode</li>
535<li>Variable Signal Size for Digital Signal Waveform</li>
536<li>&#8220;loop&#8221; mode to scroll current input-values</li>
537<li>AC/DC mode</li>
538<li>3K Sampling Depth</li>
539<li>Buttons not blocked during sampling</li>
540</ul>
541</div>
542
543
544<p></p>
545
546
547
548<p>After discovering the availability of the enhanced firmware, I bit the bullet and decided to get a DSO-150. Not looking forward to doing that much soldering, I therefore chose yet another purchase option of  DIY &#8220;pre-soldered, just pop everything into the case on arrival&#8221;.</p>
549
550
551
552<p style="font-size:0">The instructions of building and flashing the DSO-Firmware are included in the github page, but as things never go smoothly, I had to</p>
553
554
555
556<ul class="wp-block-list"><li>Convert the built binary to HEX format</li></ul>
557
558
559
560<figure class="wp-block-gallery aligncenter columns-2 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-1024x557.png"><img loading="lazy" decoding="async" width="1024" height="557" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3
560-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-1024x557.png" alt="" data-id="229" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=229" class="lazy lazy-hidden wp-image-229" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-1024x557.png 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-300x163.png 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-768x418.png 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex.png 1920w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="1024" height="557" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-1024x557.png" alt="" data-id="229" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=229" class="wp-image-229" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-1024x557.png 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-300x163.png 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-768x418.png 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex.png 1920w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-2.png"><img loading="lazy" decoding="async" width="910" height="154" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-2.png" alt="" data-id="230" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=230" class="lazy lazy-hidden wp-image-230" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-2.png 910w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-2-300x51.png 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-2-768x130.png 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="910" height="154" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-2.png" alt="" data-id="230" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=230" class="wp-image-230" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-2.png 910w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-2-300x51.png 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/true-studio-elf-to-hex-2-768x130.png 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a></figure></li></ul></figure>
561
562
563
564<p>After building the project in TrueStudio you will be left with an ELF binary file. To be able to update the firmware the ELF file will have to be in HEX file format. This can be easily achieved by adding a post build step to the project.</p>
565
566
567
568<p>The post build command is</p>
569
570
571
572<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
573
574		<div id="crayon-6ac4b79acd0bf407733073" class="crayon-syntax crayon-theme-visual-assist crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
575		
576			<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
577			<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
578			<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
579			<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
580arm-atollic-eabi-objcopy -O ihex ${ProjDirPath}
580/${ConfigName}/${ProjName}.elf ${ProjDirPath}/${ConfigName}/${ProjName}.hex</textarea></div>
581			<div class="crayon-main" style="">
582				<table class="crayon-table">
583					<tr class="crayon-row">
584				<td class="crayon-nums " data-settings="show">
585					<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-6ac4b79acd0bf407733073-1">1</div></div>
586				</td>
587						<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-6ac4b79acd0bf407733073-1"><span class="crayon-e">arm</span>-<span class="crayon-e">atollic</span>-<span class="crayon-e">eabi</span>-<span class="crayon-e">objcopy</span><span class="crayon-h"> </span>-<span class="crayon-e">O</span><span class="crayon-h"> </span><span class="crayon-e">ihex</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-sy">{</span><span class="crayon-i">ProjDirPath</span><span class="crayon-sy">}</span>/<span class="crayon-sy">$</span><span class="crayon-sy">{</span><span class="crayon-i">ConfigName</span><span class="crayon-sy">}</span>/<span class="crayon-sy">$</span><span class="crayon-sy">{</span><span class="crayon-i">ProjName</span><span class="crayon-sy">}</span><span class="crayon-sy">.</span><span class="crayon-i">
587elf</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-sy">{</span><span class="crayon-i">ProjDirPath</span><span class="crayon-sy">}</span>/<span class="crayon-sy">$</span><span class="crayon-sy">{</span><span class="crayon-i">ConfigName</span><span class="crayon-sy">}</span>/<span class="crayon-sy">$</span><span class="crayon-sy">{</span><span class="crayon-i">ProjName</span><span class="crayon-sy">}</span><span class="crayon-sy">.</span><span class="crayon-i">hex</span></div></div></td>
588					</tr>
589				</table>
590			</div>
591		</div>
592<!-- [Format Time: 0.0007 seconds] -->
593
594
595
596
597<p>and the post build description can be whatever you like, in my case</p>
598
599
600
601<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
602
603		<div id="crayon-6ac4b79acd0c8934028839" class="crayon-syntax crayon-theme-visual-assist crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
604		
605			<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
606			<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
607			<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
608			<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
609Convert ELF to HEX</textarea></div>
610			<div class="crayon-main" style="">
611				<table class="crayon-table">
612					<tr class="crayon-row">
613				<td class="crayon-nums " data-settings="show">
614					<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-6ac4b79acd0c8934028839-1">1</div></div>
615				</td>
616						<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-6ac4b79acd0c8934028839-1"><span class="crayon-e">Convert </span><span class="crayon-e">ELF </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-i">HEX</span></div></div></td>
617					</tr>
618				</table>
619			</div>
620		</div>
621<!-- [Format Time: 0.0001 seconds] -->
622
623
624
625
626<p>So now when you build the project you will end up with both an ELF file and a HEX file. The HEX file is what you will flash to the DSO.<br></p>
627
628
629
630<p><br></p>
631
632
633
634<ul class="wp-block-list"><li>Flashing the device.</li></ul>
635
636
637
638<p>I tried to flash the device via the on board USART1 with both Linux and Windows using the tools,</p>
639
640
641
642<ul class="wp-block-list"><li>stm32flash (linux) &#8211;  Open source flash program for STM32 using the ST serial bootloader.  @ <a href="https://sourceforge.net/projects/stm32flash/">https://sourceforge.net/projects/stm32flash/</a></li></ul>
643
644
645
646<p>Download stm32flash with git.</p>
647
648
649
650<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
651
652		<div id="crayon-6ac4b79acd0cb652587890" class="crayon-syntax crayon-theme-visual-assist crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
653		
654			<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
655			<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
656			<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
657			<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
658$ git clone https://git.code.sf.net/p/stm32flash/code stm32flash-code</textarea></div>
659			<div class="crayon-main" style="">
660				<table class="crayon-table">
661					<tr class="crayon-row">
662				<td class="crayon-nums " data-settings="show">
663					<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-6ac4b79acd0cb652587890-1">1</div></div>
664				</td>
665						<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-6ac4b79acd0cb652587890-1"><span class="crayon-sy">$</span><span class="crayon-h"> </span><span class="crayon-e">git </span><span class="crayon-r">clone</span><span class="crayon-h"> </span><span class="crayon-i">https</span><span class="crayon-sy">:</span><span class="crayon-c">//git.code.sf.net/p/stm32flash/code stm32flash-code</span></div></div></td>
666					</tr>
667				</table>
668			</div>
669		</div>
670<!-- [Format Time: 0.0001 seconds] -->
671
672
673
674
675<ul class="wp-block-list"><li>FLASHER-STM32 (windows) &#8211; STM32 Flash loader demonstrator (UM0462) @ <a href="https://www.st.com/b/en/development-tools/flasher-stm32.html" class="broken_link">https://www.st.com/b/en/development-tools/flasher-stm32.html</a><ul><li>DSO-150 flashing instructions &#8211; <span class="collapseomatic " id="id6ac4b79aecc1f"  tabindex="0" title="Flashing Guide"    >Flashing Guide</span><div id="target-id6ac4b79aecc1f" class="collapseomatic_content ">
676<div
677    class='wp-block-pdfp-pdf-poster  alignnone'
678    id='block-10'
679    data-attributes='{&quot;uniqueId&quot;:&quot;pdfp9&quot;,&quot;file&quot;:&quot;https:\/\/blog.pagefault-limited.co.uk\/wp-content\/uploads\/2019\/03\/DSO150_HowToUpgradeFirmware.pdf&quot;,&quot;title&quot;:&quot;DSO-150 How to Upgrade Firmware&quot;,&quot;height&quot;:&quot;840px&quot;,&quot;width&quot;:&quot;100%&quot;,&quot;print&quot;:false,&quot;fullscreenButton&quot;:true,&quot;fullscreenButtonText&quot;:&quot;View Fullscreen&quot;,&quot;newWindow&quot;:false,&quot;showName&quot;:true,&quot;downloadButton&quot;:false,&quot;downloadButtonText&quot;:&quot;Download File&quot;,&quot;protect&quot;:false,&quot;onlyPDF&quot;:false,&quot;defaultBrowser&quot;:false,&quot;thumbMenu&quot;:false,&quot;initialPage&quot;:0,&quot;sidebarOpen&quot;:false,&quot;lastVersion&quot;:false,&quot;hrScroll&quot;:false,&quot;alert&quot;:true,&quot;btnStyles&quot;:{&quot;background&quot;:&quot;#1e73be&quot;,&quot;color&quot;:&quot;#fff&quot;,&quot;fontSize&quot;:&quot;rem&quot;,&quot;padding&quot;:{&quot;top&quot;:10,&quot;right&quot;:20,&quot;bottom&quot;:10,&quot;left&quot;:10}},&quot;popupOptions&quot;:{&quot;enabled&quot;:false,&quot;text&quot;:&quot;Open PDF&quot;,&quot;btnStyle&quot;:{&quot;background&quot;:&quot;#1e73be&quot;,&quot;color&quot;:&quot;#fff&quot;,&quot;fontSize&quot;:&quot;rem&quot;,&quot;padding&quot;:{&quot;top&quot;:10,&quot;right&quot;:20,&quot;bottom&quot;:10,&quot;left&quot;:10}}},&quot;align&quot;:&quot;none&quot;,&quot;alignment&quot;:&quot;left&quot;,&quot;titleFontSize&quot;:&quot;16px&quot;,&quot;isHideRightToolbar&quot;:false,&quot;additional&quot;:{&quot;ID&quot;:&quot;&quot;,&quot;Class&quot;:&quot;&quot;,&quot;CSS&quot;:&quot;&quot;},&quot;adobeEmbedder&quot;:false,&quot;adobeOptions&quot;:{&quot;showDownloadPDF&quot;:true,&quot;showPrintPDF&quot;:true,&quot;showAnnotationTools&quot;:true,&quot;showFullScreen&quot;:false,&quot;embedMode&quot;:&quot;SIZED_CONTAINER&quot;},&quot;popupBtnStyle&quot;:{&quot;background&quot;:&quot;#2271b1&quot;,&quot;color&quot;:&quot;#fff&quot;,&quot;padding&quot;:{&quot;top&quot;:10,&quot;right&quot;:20,&quot;bottom&quot;:10,&quot;left&quot;:10}},&quot;popupBtnText&quot;:&quot;Open Document&quot;,&quot;CSS&quot;:&quot;&quot;}'
680    style="text-align: left">
681    
682        <iframe loading="lazy" style="border:0;" width="100%" height="800px" class="lazy lazy-hidden pdfp_unsupported_frame"  data-lazy-type="iframe" data-src="//docs.google.com/gview?embedded=true&url=https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/DSO150_HowToUpgradeFirmware.pdf"></iframe><noscript><iframe loading="lazy" style="border:0;" width="100%" height="800px" class="pdfp_unsupported_frame" src="//docs.google.com/gview?embedded=true&url=https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/DSO150_HowToUpgradeFirmware.pdf"></iframe></noscript>
683
684    </div></div></li></ul></li></ul>
685
686
687
688<p>But the device was not recognised with the message,</p>
689
690
691
692<p>No response from the target, Bootloader cannot be started</p>
693
694
695
696<p>I eventually concluded that the required Serial bootloader was missing and gave up on UART flashing, deciding instead to flash via STLink/JTAG port. But not having an STLink handy, I decided to flash it with my FTDI FT2232H device and openocd on Linux.</p>
697
698
699
700<p>The FTDI device is readily available in various flavours at  various outlets including Ebay, Aliexpress, and Amazon. Mine is shown below.</p>
701
702
703
704<figure class="wp-block-gallery columns-2 is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-front.jpg"><img loading="lazy" decoding="async" width="982" height="799" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3
704-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-front.jpg" alt="" data-id="264" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=264" class="lazy lazy-hidden wp-image-264" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-front.jpg 982w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-front-300x244.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-front-768x625.jpg 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="982" height="799" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-front.jpg" alt="" data-id="264" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=264" class="wp-image-264" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-front.jpg 982w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-front-300x244.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-front-768x625.jpg 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">FT2232HL Front</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back.jpg"><img loading="lazy" decoding="async" width="937" height="695" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back.jpg" alt="" data-id="263" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=263" class="lazy lazy-hidden wp-image-263" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back.jpg 937w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-300x223.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-768x570.jpg 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="937" height="695" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back.jpg" alt="" data-id="263" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=263" class="wp-image-263" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back.jpg 937w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-300x223.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-768x570.jpg 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">FT2232HL Back</figcaption></figure></li></ul></figure>
705
706
707
708<p>Plugging in the FT2232HL gives you a satisfying,</p>
709
710
711
712<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
713
714		<div id="crayon-6ac4b79acd0ce297605711" class="crayon-syntax crayon-theme-visual-assist crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
715		
716			<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
717			<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
718			<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
719			<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
720&amp;#91; 7247.588043] usb 2-1.2: new high-speed USB device number 8 using ehci-pci
721&amp;#91; 7247.702046] usb 2-1.2: New USB device found, idVendor=0403, idProduct=6010
722&amp;#91; 7247.702050] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
723&amp;#91; 7247.702054] usb 2-1.2: Product: USB &amp;lt;-&gt; Serial Converter
724&amp;#91; 7247.702057] usb 2-1.2: Manufacturer: FTDI
725&amp;#91; 7247.702060] usb 2-1.2: SerialNumber: FT2BM8Q0
726&amp;#91;
726 7247.705291] ftdi_sio 2-1.2:1.0: FTDI USB Serial Device converter detected
727&amp;#91; 7247.705366] usb 2-1.2: Detected FT2232H
728&amp;#91; 7247.705771] usb 2-1.2: FTDI USB Serial Device converter now attached to ttyUSB1
729&amp;#91; 7247.708587] ftdi_sio 2-1.2:1.1: FTDI USB Serial Device converter detected
730&amp;#91; 7247.708633] usb 2-1.2: Detected FT2232H
731&amp;#91; 7247.709110] usb 2-1.2: FTDI USB Serial Device converter now attached to ttyUSB2
732&amp;#91; 7292.457478] ftdi_sio ttyUSB1: FTDI USB Serial Device converter now disconnected from ttyUSB1
733&amp;#91; 7292.457520] ftdi_sio 2-1.2:1.0: device disconnected
734&amp;#91;13411.858946] usb 2-1.2: USB disconnect, device number 8
735&amp;#91;13411.859398] ftdi_sio ttyUSB2: FTDI USB Serial Device converter now disconnected from ttyUSB2
736&amp;#91;13411.859433] ftdi_sio 2-1.2:1.1: device disconnected
737</textarea></div>
738			<div class="crayon-main" style="">
739				<table class="crayon-table">
740					<tr class="crayon-row">
741				<td class="crayon-nums " data-settings="show">
742					<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-6ac4b79acd0ce297605711-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0ce297605711-2">2</div><div class="crayon-num" data-line="crayon-6ac4b79acd0ce297605711-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0ce297605711-4">4</div><div class="crayon-num" data-line="crayon-6ac4b79acd0ce297605711-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0ce297605711-6">6</div><div class="crayon-num" data-line="crayon-6ac4b79acd0ce297605711-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0ce297605711-8">8</div><div class="crayon-num" data-line="crayon-6ac4b79acd0ce297605711-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0ce297605711-10">10</div><div class="crayon-num" data-line="crayon-6ac4b79acd0ce297605711-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0ce297605711-12">12</div><div class="crayon-num" data-line="crayon-6ac4b79acd0ce297605711-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0ce297605711-14">14</div><div class="crayon-num" data-line="crayon-6ac4b79acd0ce297605711-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0ce297605711-16">16</div><div class="crayon-num" data-line="crayon-6ac4b79acd0ce297605711-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0ce297605711-18">18</div></div>
743				</td>
744						<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-6ac4b79acd0ce297605711-1"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.588043</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">usb</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-r">new</span><span class="crayon-h"> </span><span class="crayon-i">high</span>-<span class="crayon-e">speed </span><span class="crayon-e">USB </span><span class="crayon-e">device </span><span class="crayon-i">number</span><span class="crayon-h"> </span><span class="crayon-cn">8</span><span class="crayon-h"> </span><span class="crayon-e">using </span><span class="crayon-i">ehci</span>-<span class="crayon-i">pci</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0ce297605711-2"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.702046</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">usb</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-r">New</span><span class="crayon-h"> </span><span class="crayon-e">USB </span><span class="crayon-e">device </span><span class="crayon-i">found</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-i">idVendor</span>=<span class="crayon-cn">
7440403</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-i">idProduct</span>=<span class="crayon-cn">6010</span></div><div class="crayon-line" id="crayon-6ac4b79acd0ce297605711-3"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.702050</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">usb</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-r">New</span><span class="crayon-h"> </span><span class="crayon-e">USB </span><span class="crayon-e">device </span><span class="crayon-i">strings</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-i">Mfr</span>=<span class="crayon-cn">1</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-i">Product</span>=<span class="crayon-cn">2</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-i">SerialNumber</span>=<span class="crayon-cn">3</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0ce297605711-4"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.702054</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">usb</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-i">Product</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-i">USB</span><span class="crayon-h"> </span><span class="crayon-sy">&amp;lt;</span>-<span class="crayon-h">&gt;</span><span class="crayon-h"> </span><span class="crayon-e">Serial </span><span class="crayon-i">Converter</span></div><div class="crayon-line" id="crayon-6ac4b79acd0ce297605711-5"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.702057</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">usb</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-i">Manufacturer</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-i">FTDI</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0ce297605711-6"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.702060</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">usb</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-i">SerialNumber</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-i">FT2BM8Q0</span></div><div class="crayon-line" id="crayon-6ac4b79acd0ce297605711-7"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.705291</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">ftdi_sio</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-cn">1.0</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">FTDI </span><span class="crayon-e">USB </span><span class="crayon-e">Serial </span><span class="crayon-e">Device </span><span class="crayon-e">converter </span><span class="crayon-i">detected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0ce297605711-8"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.705366</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">usb</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">Detected </span><span class="crayon-i">FT2232H</span></div><div class="crayon-line" id="crayon-6ac4b79acd0ce297605711-9"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.705771</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">usb</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">FTDI </span><span class="crayon-e">USB </span><span class="crayon-e">Serial </span><span class="crayon-e">Device </span><span class="crayon-e">converter </span><span class="crayon-e">now </span><span class="crayon-e">attached </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-i">ttyUSB1</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0ce297605711-10"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.708587</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">ftdi_sio</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-cn">1.1</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">FTDI </span><span class="crayon-e">USB </span><span class="crayon-e">Serial </span><span class="crayon-e">Device </span><span class="crayon-e">converter </span><span class="crayon-i">detected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0ce297605711-11"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.708633</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">usb</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">Detected </span><span class="crayon-i">FT2232H</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0ce297605711-12"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.709110</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">usb</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">FTDI </span><span class="crayon-e">USB </span><span class="crayon-e">Serial </span><span class="crayon-e">Device </span><span class="crayon-e">converter </span><span class="crayon-e">now </span><span class="crayon-e">attached </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-i">ttyUSB2</span></div><div class="crayon-line" id="crayon-6ac4b79acd0ce297605711-13"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7292.457478</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">
744ftdi_sio </span><span class="crayon-i">ttyUSB1</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">FTDI </span><span class="crayon-e">USB </span><span class="crayon-e">Serial </span><span class="crayon-e">Device </span><span class="crayon-e">converter </span><span class="crayon-e">now </span><span class="crayon-e">disconnected </span><span class="crayon-e">from </span><span class="crayon-i">ttyUSB1</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0ce297605711-14"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7292.457520</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">ftdi_sio</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-cn">1.0</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">device </span><span class="crayon-i">disconnected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0ce297605711-15"><span class="crayon-sy">&amp;#91;</span><span class="crayon-cn">13411.858946</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">usb</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">USB </span><span class="crayon-i">disconnect</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-e">device </span><span class="crayon-i">number</span><span class="crayon-h"> </span><span class="crayon-cn">8</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0ce297605711-16"><span class="crayon-sy">&amp;#91;</span><span class="crayon-cn">13411.859398</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-e">ftdi_sio </span><span class="crayon-i">ttyUSB2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">FTDI </span><span class="crayon-e">USB </span><span class="crayon-e">Serial </span><span class="crayon-e">Device </span><span class="crayon-e">converter </span><span class="crayon-e">now </span><span class="crayon-e">disconnected </span><span class="crayon-e">from </span><span class="crayon-i">ttyUSB2</span></div><div class="crayon-line" id="crayon-6ac4b79acd0ce297605711-17"><span class="crayon-sy">&amp;#91;</span><span class="crayon-cn">13411.859433</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">ftdi_sio</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-cn">1.1</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">device </span><span class="crayon-i">disconnected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0ce297605711-18">&nbsp;</div></div></td>
745					</tr>
746				</table>
747			</div>
748		</div>
749<!-- [Format Time: 0.0010 seconds] -->
750
751
752
753
754<p>All About Circuits have a good primer on using and FTDI witth openocd @ <a href="https://www.allaboutcircuits.com/technical-articles/getting-started-with-openocd-using-ft2232h-adapter-for-swd-debugging/" class="broken_link">https://www.allaboutcircuits.com/technical-articles/getting-started-with-openocd-using-ft2232h-adapter-for-swd-debugging/</a></p>
755
756
757
758<p>I would follow their guide referring back here for DSO-150 specifics 🙂</p>
759
760
761
762<figure class="wp-block-gallery columns-2 is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232H_Target_Connection.jpg"><img loading="lazy" decoding="async" width="550" height="600" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232H_Target_Connection.jpg" alt="" data-id="267" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=267" class="lazy lazy-hidden wp-image-267" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232H_Target_Connection.jpg 550w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232H_Target_Connection-275x300.jpg 275w" sizes="auto, (max-width: 550px) 85vw, 550px" /><noscript><img loading="lazy" decoding="async" width="550" height="600" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232H_Target_Connection.jpg" alt="" data-id="267" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=267" class="wp-image-267" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232H_Target_Connection.jpg 550w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232H_Target_Connection-275x300.jpg 275w" sizes="auto, (max-width: 550px) 85vw, 550px" /></noscript></a><figcaption class="blocks-gallery-item__caption">Connections</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232HPinout.png"><img loading="lazy" decoding="async" width="880" height="478" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3
762-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232HPinout.png" alt="" data-id="270" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=270" class="lazy lazy-hidden wp-image-270" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232HPinout.png 880w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232HPinout-300x163.png 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232HPinout-768x417.png 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="880" height="478" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232HPinout.png" alt="" data-id="270" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=270" class="wp-image-270" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232HPinout.png 880w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232HPinout-300x163.png 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232HPinout-768x417.png 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">Pin Mapping</figcaption></figure></li></ul></figure>
763
764
765
766<p>I soldered on some header pins to the FT2232HL and DSO-150.</p>
767
768
769
770<figure class="wp-block-gallery columns-3 is-cropped wp-block-gallery-6 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123323-576x1024.jpg"><img loading="lazy" decoding="async" width="576" height="1024" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123323-576x1024.jpg" alt="" data-id="254" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=254" class="lazy lazy-hidden wp-image-254" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123323-576x1024.jpg 576w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123323-169x300.jpg 169w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123323-768x1365.jpg 768w" sizes="auto, (max-width: 576px) 85vw, 576px" /><noscript><img loading="lazy" decoding="async" width="576" height="1024" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123323-576x1024.jpg" alt="" data-id="254" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=254" class="wp-image-254" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123323-576x1024.jpg 576w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123323-169x300.jpg 169w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123323-768x1365.jpg 768w" sizes="auto, (max-width: 576px) 85vw, 576px" /></noscript></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123042-576x1024.jpg"><img loading="lazy" decoding="async" width="576" height="1024" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123042-576x1024.jpg" alt="" data-id="249" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=249" class="lazy lazy-hidden wp-image-249" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123042-576x1024.jpg 576w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123042
770-169x300.jpg 169w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123042-768x1365.jpg 768w" sizes="auto, (max-width: 576px) 85vw, 576px" /><noscript><img loading="lazy" decoding="async" width="576" height="1024" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123042-576x1024.jpg" alt="" data-id="249" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=249" class="wp-image-249" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123042-576x1024.jpg 576w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123042-169x300.jpg 169w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_123042-768x1365.jpg 768w" sizes="auto, (max-width: 576px) 85vw, 576px" /></noscript></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/ft2232hl-pins.png"><img loading="lazy" decoding="async" width="1001" height="624" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/ft2232hl-pins.png" alt="" data-id="268" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=268" class="lazy lazy-hidden wp-image-268" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/ft2232hl-pins.png 1001w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/ft2232hl-pins-300x187.png 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/ft2232hl-pins-768x479.png 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="1001" height="624" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/ft2232hl-pins.png" alt="" data-id="268" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=268" class="wp-image-268" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/ft2232hl-pins.png 1001w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/ft2232hl-pins-300x187.png 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/ft2232hl-pins-768x479.png 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/dso-150-pins.png"><img loading="lazy" decoding="async" width="712" height="637" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/dso-150-pins.png" alt="" data-id="266" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=266" class="lazy lazy-hidden wp-image-266" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/dso-150-pins.png 712w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/dso-150-pins-300x268.png 300w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /><noscript><img loading="lazy" decoding="async" width="712" height="637" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/dso-150-pins.png" alt="" data-id="266" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=266" class="wp-image-266" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/dso-150-pins.png 712w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/dso-150-pins-300x268.png 300w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /></noscript></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-pins-855x1024.jpg"><img loading="lazy" decoding="async" width="855" height="1024" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3
770-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-pins-855x1024.jpg" alt="" data-id="269" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=269" class="lazy lazy-hidden wp-image-269" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-pins-855x1024.jpg 855w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-pins-251x300.jpg 251w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-pins-768x920.jpg 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="855" height="1024" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-pins-855x1024.jpg" alt="" data-id="269" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=269" class="wp-image-269" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-pins-855x1024.jpg 855w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-pins-251x300.jpg 251w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FTDI-FT2232HL-back-pins-768x920.jpg 768w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232H_Wiring.jpg"><img loading="lazy" decoding="async" width="240" height="180" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232H_Wiring.jpg" alt="" data-id="280" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=280" class="lazy lazy-hidden wp-image-280"/><noscript><img loading="lazy" decoding="async" width="240" height="180" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/FT2232H_Wiring.jpg" alt="" data-id="280" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=280" class="wp-image-280"/></noscript></a><figcaption class="blocks-gallery-item__caption">swd-resistor-hack.cfg</figcaption></figure></li></ul></figure>
771
772
773
774<p>Now the wiring was complete I installed openocd and moved on to setting up the configuration files required by openocd</p>
775
776
777
778<ul class="wp-block-list"><li>/usr/share/openocd/scripts/interface/ftdi/myft2232hl.cfg<br></li></ul>
779
780
781
782<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
783
784		<div id="crayon-6ac4b79acd0d0105890947" class="crayon-syntax crayon-theme-visual-assist crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
785		
786			<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
787			<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
788			<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
789			<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
790#This configuration file is created for a tutorial: 
791#”Getting Started with OPENOCD Using FT2232H Adapter for SWD Debugging”
792#Written by:Yahya Tawil - yahya.tawil_at_gmail.com 
793#Pulished on: http://www.allaboutcircuits.com 
794#Version of OpenOCD:0.9.0
795interface ftdi
796transport select swd
797ftdi_vid_pid 0x0403 0x6010
798#ftdi_device_desc "USB Serial Converter A"
799#ftdi_device_desc "FT2232H 开发板"
800ftdi_serial "FT2BM8Q0"
801#adapter_khz 8
802ftdi_layout_init 0x0018 0x05fb
803ftdi_layout_signal SWD_EN -data 0
804ftdi_layout_signal nSRST -data 0x0010
805</textarea></div>
806			<div class="crayon-main" style="">
807				<table class="crayon-table">
808					<tr class="crayon-row">
809				<td class="crayon-nums " data-settings="show">
810					<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-6ac4b79acd0d0105890947-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d0105890947-2">2</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d0105890947-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d0105890947-4">4</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d0105890947-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d0105890947-6">6</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d0105890947-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d0105890947-8">8</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d0105890947-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d0105890947-10">10</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d0105890947-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d0105890947-12">12</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d0105890947-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d0105890947-14">14</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d0105890947-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d0105890947-16">16</div></div>
811				</td>
812						<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-6ac4b79acd0d0105890947-1"><span class="crayon-p">#This configuration file is created for a tutorial: </span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d0105890947-2"><span class="crayon-p">#”Getting Started with OPENOCD Using FT2232H Adapter for SWD Debugging”</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d0105890947-3"><span class="crayon-p">#Written by:Yahya Tawil - yahya.tawil_at_gmail.com </span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d0105890947-4"><span class="crayon-p">#Pulished on: http://www.allaboutcircuits.com </span></div><div class="crayon-line" id="crayon-6ac4b79acd0d0105890947-5"><span class="crayon-p">#Version of OpenOCD:0.9.0</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d0105890947-6"><span class="crayon-t">interface</span><span class="crayon-h"> </span><span class="crayon-e">ftdi</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d0105890947-7"><span class="crayon-e">transport </span><span class="crayon-e">select </span><span class="crayon-e">swd</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d0105890947-8"><span class="crayon-i">ftdi_vid_pid</span><span class="crayon-h"> </span><span class="crayon-cn">0x0403</span><span class="crayon-h"> </span><span class="crayon-cn">0x6010</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d0105890947-9"><span class="crayon-p">#ftdi_device_desc "USB Serial Converter A"</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d0105890947-10"><span class="crayon-p">#ftdi_device_desc "FT2232H 开发板"</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d0105890947-11"><span class="crayon-i">ftdi_serial</span><span class="crayon-h"> </span><span class="crayon-s">"FT2BM8Q0"</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d0105890947-12"><span class="crayon-p">#adapter_khz 8</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d0105890947-13"><span class="crayon-i">ftdi_layout_init</span><span class="crayon-h"> </span><span class="crayon-cn">0x0018</span><span class="crayon-h"> </span><span class="crayon-cn">
8120x05fb</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d0105890947-14"><span class="crayon-e">ftdi_layout_signal </span><span class="crayon-i">SWD_EN</span><span class="crayon-h"> </span>-<span class="crayon-i">data</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d0105890947-15"><span class="crayon-e">ftdi_layout_signal </span><span class="crayon-i">nSRST</span><span class="crayon-h"> </span>-<span class="crayon-i">data</span><span class="crayon-h"> </span><span class="crayon-cn">0x0010</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d0105890947-16">&nbsp;</div></div></td>
813					</tr>
814				</table>
815			</div>
816		</div>
817<!-- [Format Time: 0.0002 seconds] -->
818
819
820
821
822<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
823
824		<div id="crayon-6ac4b79acd0d2746609051" class="crayon-syntax crayon-theme-visual-assist crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
825		
826			<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
827			<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
828			<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
829			<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
830ftdi_serial "FT2BM8Q0"</textarea></div>
831			<div class="crayon-main" style="">
832				<table class="crayon-table">
833					<tr class="crayon-row">
834				<td class="crayon-nums " data-settings="show">
835					<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-6ac4b79acd0d2746609051-1">1</div></div>
836				</td>
837						<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-6ac4b79acd0d2746609051-1"><span class="crayon-i">ftdi_serial</span><span class="crayon-h"> </span><span class="crayon-s">"FT2BM8Q0"</span></div></div></td>
838					</tr>
839				</table>
840			</div>
841		</div>
842<!-- [Format Time: 0.0000 seconds] -->
843
844
845
846
847<p>is the number from the dmesg log!</p>
848
849
850
851<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
852
853		<div id="crayon-6ac4b79acd0d4001221627" class="crayon-syntax crayon-theme-visual-assist crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
854		
855			<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
856			<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
857			<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
858			<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
859&amp;#91; 7247.702060] usb 2-1.2: SerialNumber: FT2BM8Q0</textarea></div>
860			<div class="crayon-main" style="">
861				<table class="crayon-table">
862					<tr class="crayon-row">
863				<td class="crayon-nums " data-settings="show">
864					<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-6ac4b79acd0d4001221627-1">1</div></div>
865				</td>
866						<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-6ac4b79acd0d4001221627-1"><span class="crayon-sy">&amp;#91;</span><span class="crayon-h"> </span><span class="crayon-cn">7247.702060</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-i">usb</span><span class="crayon-h"> </span><span class="crayon-cn">2</span>-<span class="crayon-cn">1.2</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-i">SerialNumber</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-i">FT2BM8Q0</span></div></div></td>
867					</tr>
868				</table>
869			</div>
870		</div>
871<!-- [Format Time: 0.0001 seconds] -->
872
873
874
875
876<p></p>
877
878
879
880<ul class="wp-block-list"><li>
880/usr/share/openocd/scripts/target/stm32f1x.cfg<br></li></ul>
881
882
883
884<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
885
886		<div id="crayon-6ac4b79acd0d7696534109" class="crayon-syntax crayon-theme-visual-assist crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
887		
888			<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
889			<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
890			<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
891			<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
892# script for stm32f1x family
893
894#
895# stm32 devices support both JTAG and SWD transports.
896#
897source &amp;#91;find target/swj-dp.tcl]
898source &amp;#91;find mem_helper.tcl]
899
900if { &amp;#91;info exists CHIPNAME] } {
901   set _CHIPNAME $CHIPNAME
902} else {
903   set _CHIPNAME stm32f1x
904}
905
906set _ENDIAN little
907
908# Work-area is a space in RAM used for flash programming
909# By default use 4kB (as found on some STM32F100s)
910if { &amp;#91;info exists WORKAREASIZE] } {
911   set _WORKAREASIZE $WORKAREASIZE
912} else {
913   set _WORKAREASIZE 0x1000
914}
915
916#jtag scan chain
917if { &amp;#91;info exists CPUTAPID] } {
918   set _CPUTAPID $CPUTAPID
919} else {
920   if { &amp;#91;using_jtag] } {
921      # See STM Document RM0008 Section 26.6.3
922      set _CPUTAPID 0x3ba00477
923   } {
924      # this is the SW-DP tap id not the jtag tap id
925      set _CPUTAPID 0x1ba01477
926   }
927}
928
929swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID                                                                                                                     
930                                                                                                                                                                                                          
931if {&amp;#91;using_jtag]} {                                                                                                                                                                                       
932   jtag newtap $_CHIPNAME bs -irlen 5                                                                                                                                                                     
933}                                                                                                                                                                                                         
934                                                                                                                                                                                                          
935set _TARGETNAME $_CHIPNAME.cpu                                                                                                                                                                            
936target create $_TARGETNAME cortex_m -endian $_ENDIAN -chain-position $_TARGETNAME                                                                                                                         
937                                                                                                                                                                                                          
938$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0                                                                                                      
939                                                                                                                                                                                                          
940# flash size will be probed
941set _FLASHNAME $_CHIPNAME.flash
942flash bank $_FLASHNAME stm32f1x 0x08000000 0 0 0 $_TARGETNAME
943
944# JTAG speed should be &amp;lt;= F_CPU/6. F_CPU after reset is 8MHz, so use F_JTAG = 1MHz
945adapter_khz 1000
946
947adapter_nsrst_delay 100
948if {&amp;#91;using_jtag]} {
949 jtag_ntrst_delay 100
950}
951
952reset_config srst_nogate
953
954if {!&amp;#91;using_hla]} {
955    # if srst is not fitted use SYSRESETREQ to
956    # perform a soft reset
957    cortex_m reset_config sysresetreq
958}
959
960$_TARGETNAME configure -event examine-end {
961        # DBGMCU_CR |= DBG_WWDG_STOP | DBG_IWDG_STOP |
962        #              DBG_STANDBY | DBG_STOP | DBG_SLEEP
963        mmw 0xE0042004 0x00000307 0
964}
965
966$_TARGETNAME configure -event trace-config {
967        # Set TRACE_IOEN; TRACE_MODE is set to async; when using sync
968        # change this value accordingly to configure trace pins
969        # assignment
970        mmw 0xE0042004 0x00000020 0
971}</textarea></div>
972			<div class="crayon-main" style="">
973				<table class="crayon-table">
974					<tr class="crayon-row">
975				<td class="crayon-nums " data-settings="show">
976					<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-2">2</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-4">4</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-6">6</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-8">8</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-10">10</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-12">12</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-14">14</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-16">16</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-18">18</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-20">20</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-22">22</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-24">24</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-26">26</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-28">28</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-30">30</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-31">31</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-32">32</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-33">33</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-34">34</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-35">35</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-36">36</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-37">37</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-38">38</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-39">39</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-40">40</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-41">41</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-42">42</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-43">43</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-44">44</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-45">45</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-46">46</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-47">47</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-48">48</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-49">
97649</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-50">50</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-51">51</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-52">52</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-53">53</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-54">54</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-55">55</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-56">56</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-57">57</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-58">58</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-59">59</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-60">60</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-61">61</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-62">62</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-63">63</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-64">64</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-65">65</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-66">66</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-67">67</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-68">68</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-69">69</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-70">70</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-71">71</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-72">72</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-73">73</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-74">74</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-75">75</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-76">76</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-77">77</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-78">78</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d7696534109-79">79</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d7696534109-80">80</div></div>
977				</td>
978						<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-1"><span class="crayon-p"># script for stm32f1x family</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-2">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-3"><span class="crayon-p">#</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-4"><span class="crayon-p"># stm32 devices support both JTAG and SWD transports.</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-5"><span class="crayon-p">#</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-6"><span class="crayon-i">source</span><span class="crayon-h"> </span><span class="crayon-sy">&amp;#91;</span><span class="crayon-e">find </span><span class="crayon-i">target</span>/<span class="crayon-i">swj</span>-<span class="crayon-i">dp</span><span class="crayon-sy">.</span><span class="crayon-i">tcl</span><span class="crayon-sy">]</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-7"><span class="crayon-i">source</span><span class="crayon-h"> </span><span class="crayon-sy">&amp;#91;</span><span class="crayon-e">find </span><span class="crayon-i">mem_helper</span><span class="crayon-sy">.</span><span class="crayon-i">tcl</span><span class="crayon-sy">]</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-8">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-9"><span class="crayon-st">if</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-h"> </span><span class="crayon-sy">&amp;#91;</span><span class="crayon-e">info </span><span class="crayon-e">exists </span><span class="crayon-i">CHIPNAME</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">}</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-10"><span class="crayon-h">&nbsp;&nbsp; </span><span class="crayon-e">set </span><span class="crayon-i">_CHIPNAME</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-i">CHIPNAME</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-11"><span class="crayon-sy">}</span><span class="crayon-h"> </span><span class="crayon-st">else</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-12"><span class="crayon-h">&nbsp;&nbsp; </span><span class="crayon-e">set </span><span class="crayon-e">_CHIPNAME </span><span class="crayon-i">
978stm32f1x</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-13"><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-14">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-15"><span class="crayon-e">set </span><span class="crayon-e">_ENDIAN </span><span class="crayon-i">little</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-16">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-17"><span class="crayon-p"># Work-area is a space in RAM used for flash programming</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-18"><span class="crayon-p"># By default use 4kB (as found on some STM32F100s)</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-19"><span class="crayon-st">if</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-h"> </span><span class="crayon-sy">&amp;#91;</span><span class="crayon-e">info </span><span class="crayon-e">exists </span><span class="crayon-i">WORKAREASIZE</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">}</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-20"><span class="crayon-h">&nbsp;&nbsp; </span><span class="crayon-e">set </span><span class="crayon-i">_WORKAREASIZE</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-i">WORKAREASIZE</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-21"><span class="crayon-sy">}</span><span class="crayon-h"> </span><span class="crayon-st">else</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-22"><span class="crayon-h">&nbsp;&nbsp; </span><span class="crayon-e">set </span><span class="crayon-i">_WORKAREASIZE</span><span class="crayon-h"> </span><span class="crayon-cn">0x1000</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-23"><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-24">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-25"><span class="crayon-p">#jtag scan chain</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-26"><span class="crayon-st">if</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-h"> </span><span class="crayon-sy">&amp;#91;</span><span class="crayon-e">info </span><span class="crayon-e">exists </span><span class="crayon-i">CPUTAPID</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">}</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-27"><span class="crayon-h">&nbsp;&nbsp; </span><span class="crayon-e">set </span><span class="crayon-i">_CPUTAPID</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-i">CPUTAPID</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-28"><span class="crayon-sy">}</span><span class="crayon-h"> </span><span class="crayon-st">else</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-29"><span class="crayon-h">&nbsp;&nbsp; </span><span class="crayon-st">if</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-h"> </span><span class="crayon-sy">&amp;#91;</span><span class="crayon-i">using_jtag</span><span class="crayon-sy">]</span><span class="crayon-h"> </span><span class="crayon-sy">}</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-30"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># See STM Document RM0008 Section 26.6.3</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-31"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-e">set </span><span class="crayon-i">_CPUTAPID</span><span class="crayon-h"> </span><span class="crayon-cn">0x3ba00477</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-32"><span class="crayon-h">&nbsp;&nbsp; </span><span class="crayon-sy">}</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-33"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># this is the SW-DP tap id not the jtag tap id</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-34"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-e">set </span><span class="crayon-i">_CPUTAPID</span><span class="crayon-h"> </span><span class="crayon-cn">0x1ba01477</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-35"><span class="crayon-h">&nbsp;&nbsp; </span><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-36"><span class="crayon-sy">}</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-37">&nbsp;</div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-38"><span class="crayon-e">swj_newdap</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-e">_CHIPNAME</span><span class="crayon-h"> </span><span class="crayon-e">cpu</span><span class="crayon-h"> </span>-<span class="crayon-e">irlen</span><span class="crayon-h"> </span><span class="crayon-cn">4</span><span class="crayon-h"> </span>-<span class="crayon-e">ircapture</span><span class="crayon-h"> </span><span class="crayon-cn">0x1</span><span class="crayon-h"> </span>-<span class="crayon-e">irmask</span><span class="crayon-h"> </span><span class="crayon-cn">0xf</span><span class="crayon-h"> </span>-<span class="crayon-e">expected</span>-<span class="crayon-e">id</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-e">_CPUTAPID</span><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-39"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-40"><span class="crayon-st">if</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-sy">&amp;#91;</span><span class="crayon-i">using_jtag</span><span class="crayon-sy">]</span><span class="crayon-sy">}</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-41"><span class="crayon-h">&nbsp;&nbsp; </span><span class="crayon-e">jtag </span><span class="crayon-i">newtap</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-e">_CHIPNAME </span><span class="crayon-i">bs</span><span class="crayon-h"> </span>-<span class="crayon-i">irlen</span><span class="crayon-h"> </span><span class="crayon-cn">5</span><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-42"><span class="crayon-sy">}</span><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-43"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-44"><span class="crayon-e">set </span><span class="crayon-i">_TARGETNAME</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-i">_CHIPNAME</span><span class="crayon-sy">.</span><span class="crayon-e">cpu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-45"><span class="crayon-e">target </span><span class="crayon-i">create</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-e">_TARGETNAME </span><span class="crayon-i">cortex_m</span><span class="crayon-h"> </span>-<span class="crayon-i">endian</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-i">_ENDIAN</span><span class="crayon-h"> </span>-<span class="crayon-i">chain</span>-<span class="crayon-i">position</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-i">_TARGETNAME</span><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs
978p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-46"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-47"><span class="crayon-sy">$</span><span class="crayon-e">_TARGETNAME </span><span class="crayon-i">configure</span><span class="crayon-h"> </span>-<span class="crayon-i">work</span>-<span class="crayon-i">area</span>-<span class="crayon-i">phys</span><span class="crayon-h"> </span><span class="crayon-cn">0x20000000</span><span class="crayon-h"> </span>-<span class="crayon-i">work</span>-<span class="crayon-i">area</span>-<span class="crayon-i">size</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-i">_WORKAREASIZE</span><span class="crayon-h"> </span>-<span class="crayon-i">work</span>-<span class="crayon-i">area</span>-<span class="crayon-i">backup</span><span class="crayon-h"> </span><span class="crayon-cn">0</span><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-48"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-49"><span class="crayon-p"># flash size will be probed</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-50"><span class="crayon-e">set </span><span class="crayon-i">_FLASHNAME</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-i">_CHIPNAME</span><span class="crayon-sy">.</span><span class="crayon-e">flash</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-51"><span class="crayon-e">
978flash </span><span class="crayon-i">bank</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-e">_FLASHNAME </span><span class="crayon-i">stm32f1x</span><span class="crayon-h"> </span><span class="crayon-cn">0x08000000</span><span class="crayon-h"> </span><span class="crayon-cn">0</span><span class="crayon-h"> </span><span class="crayon-cn">0</span><span class="crayon-h"> </span><span class="crayon-cn">0</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-i">_TARGETNAME</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-52">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-53"><span class="crayon-p"># JTAG speed should be &amp;lt;= F_CPU/6. F_CPU after reset is 8MHz, so use F_JTAG = 1MHz</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-54"><span class="crayon-e">adapter_khz</span><span class="crayon-h"> </span><span class="crayon-cn">1000</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-55">&nbsp;</div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-56"><span class="crayon-e">adapter_nsrst_delay</span><span class="crayon-h"> </span><span class="crayon-cn">100</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-57"><span class="crayon-st">if</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-sy">&amp;#91;</span><span class="crayon-i">using_jtag</span><span class="crayon-sy">]</span><span class="crayon-sy">}</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-58"><span class="crayon-h"> </span><span class="crayon-i">jtag_ntrst_delay</span><span class="crayon-h"> </span><span class="crayon-cn">100</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-59"><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-60">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-61"><span class="crayon-e">reset_config</span><span class="crayon-h"> </span><span class="crayon-e">srst_nogate</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-62">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-63"><span class="crayon-st">if</span><span class="crayon-h"> </span><span class="crayon-sy">{</span><span class="crayon-sy">!</span><span class="crayon-sy">&amp;#91;</span><span class="crayon-i">using_hla</span><span class="crayon-sy">]</span><span class="crayon-sy">}</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-64"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># if srst is not fitted use SYSRESETREQ to</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-65"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># perform a soft reset</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-66"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-e">cortex_m </span><span class="crayon-e">reset_config </span><span class="crayon-i">sysresetreq</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-67"><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-68">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-69"><span class="crayon-sy">$</span><span class="crayon-e">_TARGETNAME</span><span class="crayon-h"> </span><span class="crayon-e">configure</span><span class="crayon-h"> </span>-<span class="crayon-e">event</span><span class="crayon-h"> </span><span class="crayon-e">examine</span>-<span class="crayon-st">end</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-70"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># DBGMCU_CR |= DBG_WWDG_STOP | DBG_IWDG_STOP |</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-71"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p">#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBG_STANDBY | DBG_STOP | DBG_SLEEP</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-72"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-i">mmw</span><span class="crayon-h"> </span><span class="crayon-cn">0xE0042004</span><span class="crayon-h"> </span><span class="crayon-cn">0x00000307</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-73"><span class="crayon-sy">}</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-74">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-75"><span class="crayon-sy">$</span><span class="crayon-e">_TARGETNAME</span><span class="crayon-h"> </span><span class="crayon-e">configure</span><span class="crayon-h"> </span>-<span class="crayon-e">event</span><span class="crayon-h"> </span><span class="crayon-e">trace</span>-<span class="crayon-e">config</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-76"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># Set TRACE_IOEN; TRACE_MODE is set to async; when using sync</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-77"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># change this value accordingly to configure trace pins</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-78"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># assignment</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d7696534109-79"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-i">mmw</span><span class="crayon-h"> </span><span class="crayon-cn">0xE0042004</span><span class="crayon-h"> </span><span class="crayon-cn">0x00000020</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d7696534109-80"><span class="crayon-sy">}</span></div></div></td>
979					</tr>
980				</table>
981			</div>
982		</div>
983<!-- [Format Time: 0.0013 seconds] -->
984
985
986
987
988<p>If you have wired up the FTDI FT2232H (or whichever) correctly then running openocd should give you,</p>
989
990
991
992<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
993
994		<div id="crayon-6ac4b79acd0d9147756826" class="crayon-syntax crayon-theme-visual-assist crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
995		
996			<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
997			<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
998			<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
999			<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
1000$ sudo openocd -f interface/ftdi/myft2232hl.cfg -f  target/stm32f1
1000x.cfg
1001Open On-Chip Debugger 0.10.0
1002Licensed under GNU GPL v2
1003For bug reports, read
1004        http:&amp;#47;&amp;#47;openocd.org/doc/doxygen/bugs.html
1005Info : FTDI SWD mode enabled
1006adapter speed: 1000 kHz
1007adapter_nsrst_delay: 100
1008none separate
1009cortex_m reset_config sysresetreq
1010Info : clock speed 1000 kHz
1011Info : SWD DPIDR 0x1ba01477
1012Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints</textarea></div>
1013			<div class="crayon-main" style="">
1014				<table class="crayon-table">
1015					<tr class="crayon-row">
1016				<td class="crayon-nums " data-settings="show">
1017					<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-6ac4b79acd0d9147756826-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d9147756826-2">2</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d9147756826-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d9147756826-4">4</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d9147756826-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d9147756826-6">6</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d9147756826-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d9147756826-8">8</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d9147756826-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d9147756826-10">10</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d9147756826-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0d9147756826-12">12</div><div class="crayon-num" data-line="crayon-6ac4b79acd0d9147756826-13">13</div></div>
1018				</td>
1019						<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-6ac4b79acd0d9147756826-1"><span class="crayon-sy">$</span><span class="crayon-h"> </span><span class="crayon-e">sudo </span><span class="crayon-i">openocd</span><span class="crayon-h"> </span>-<span class="crayon-i">f</span><span class="crayon-h"> </span><span class="crayon-t">interface</span>/<span class="crayon-i">ftdi</span>/<span class="crayon-i">myft2232hl</span><span class="crayon-sy">.</span><span class="crayon-i">cfg</span><span class="crayon-h"> </span>-<span class="crayon-i">f</span><span class="crayon-h">&nbsp;&nbsp;</span><span class="crayon-i">target</span>/<span class="crayon-i">
1019stm32f1x</span><span class="crayon-sy">.</span><span class="crayon-e">cfg</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d9147756826-2"><span class="crayon-e">Open </span><span class="crayon-i">On</span>-<span class="crayon-e">Chip </span><span class="crayon-i">Debugger</span><span class="crayon-h"> </span><span class="crayon-cn">0.10.0</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d9147756826-3"><span class="crayon-e">Licensed </span><span class="crayon-e">under </span><span class="crayon-e">GNU </span><span class="crayon-e">GPL </span><span class="crayon-e">v2</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d9147756826-4"><span class="crayon-st">For</span><span class="crayon-h"> </span><span class="crayon-e">bug </span><span class="crayon-i">reports</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-e">read</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d9147756826-5"><span class="crayon-e">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-i">http</span><span class="crayon-sy">:</span><span class="crayon-sy">&amp;#47;</span><span class="crayon-sy">&amp;#47;</span><span class="crayon-i">openocd</span><span class="crayon-sy">.</span><span class="crayon-i">org</span>/<span class="crayon-i">doc</span>/<span class="crayon-i">doxygen</span>/<span class="crayon-i">bugs</span><span class="crayon-sy">.</span><span class="crayon-e">html</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d9147756826-6"><span class="crayon-i">Info</span><span class="crayon-h"> </span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">FTDI </span><span class="crayon-e">SWD </span><span class="crayon-e">mode </span><span class="crayon-e">enabled</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d9147756826-7"><span class="crayon-e">adapter </span><span class="crayon-i">speed</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-cn">1000</span><span class="crayon-h"> </span><span class="crayon-e">kHz</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d9147756826-8"><span class="crayon-i">adapter_nsrst_delay</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-cn">100</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d9147756826-9"><span class="crayon-e">none </span><span class="crayon-e">separate</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d9147756826-10"><span class="crayon-e">cortex_m </span><span class="crayon-e">reset_config </span><span class="crayon-e">sysresetreq</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d9147756826-11"><span class="crayon-i">Info</span><span class="crayon-h"> </span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">clock </span><span class="crayon-i">speed</span><span class="crayon-h"> </span><span class="crayon-cn">1000</span><span class="crayon-h"> </span><span class="crayon-e">kHz</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0d9147756826-12"><span class="crayon-i">Info</span><span class="crayon-h"> </span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">SWD </span><span class="crayon-i">DPIDR</span><span class="crayon-h"> </span><span class="crayon-cn">0x1ba01477</span></div><div class="crayon-line" id="crayon-6ac4b79acd0d9147756826-13"><span class="crayon-i">Info</span><span class="crayon-h"> </span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-i">
1019stm32f1x</span><span class="crayon-sy">.</span><span class="crayon-i">cpu</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">hardware </span><span class="crayon-i">has</span><span class="crayon-h"> </span><span class="crayon-cn">6</span><span class="crayon-h"> </span><span class="crayon-i">breakpoints</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">4</span><span class="crayon-h"> </span><span class="crayon-i">watchpoints</span></div></div></td>
1020					</tr>
1021				</table>
1022			</div>
1023		</div>
1024<!-- [Format Time: 0.0004 seconds] -->
1025
1026
1027
1028
1029<p>I forgot to take notes at the time of flashing, but I remember having to unprotect the flash!</p>
1030
1031
1032
1033<p><em>Update: This post describes in detail the process of flashing a STM32 Cortex M3 with openocd 🙂 </em><a href="https://jacobmossberg.se/posts/2017/01/10/using-openocd-flash-arm-cortex-m3.html"><em>https://jacobmossberg.se/posts/2017/01/10/using-openocd-flash-arm-cortex-m3.html</em></a></p>
1034
1035
1036
1037<p>These are the commands I executed during the process of flashing.</p>
1038
1039
1040
1041<!-- Crayon Syntax Highlighter v_2.7.2_beta -->
1042
1043		<div id="crayon-6ac4b79acd0e7751701652" class="crayon-syntax crayon-theme-visual-assist crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;">
1044		
1045			<div class="crayon-toolbar" data-settings=" mouseover overlay hide delay" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><span class="crayon-title"></span>
1046			<div class="crayon-tools" style="font-size: 12px !important;height: 18px !important; line-height: 18px !important;"><div class="crayon-button crayon-nums-button" title="Toggle Line Numbers"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-plain-button" title="Toggle Plain Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-wrap-button" title="Toggle Line Wrap"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-expand-button" title="Expand Code"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-copy-button" title="Copy"><div class="crayon-button-icon"></div></div><div class="crayon-button crayon-popup-button" title="Open Code In New Window"><div class="crayon-button-icon"></div></div></div></div>
1047			<div class="crayon-info" style="min-height: 16.8px !important; line-height: 16.8px !important;"></div>
1048			<div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 12px !important; line-height: 15px !important;">
1049$ sudo openocd -f interface/ftdi/myft2232hl.cfg -f  target/stm32f1x.cfg
1050Open On-Chip Debugger 0.10.0
1051Licensed under GNU GPL v2
1052For bug reports, read
1053        http:&amp;#47;&amp;#47;openocd.org/doc/doxygen/bugs.html
1054Info : FTDI SWD mode enabled
1055adapter speed: 1000 kHz
1056adapter_nsrst_delay: 100
1057none separate
1058cortex_m reset_config sysresetreq
1059Info : clock speed 1000 kHz
1060Info : SWD DPIDR 0x1ba01477
1061Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
1062
1063
1064
1065$ telnet localhost 4444
1066Trying 127.0.0.1...
1067Connected to localhost.
1068Escape character is '^]'.
1069Open On-Chip Debugger
1070&gt; history
1071reset halt
1072reg
1073flash info 0
1074flash list
1075flash banks
1076quit
1077exit
1078
1079&gt; flash info 0
1080device id = 0x20036410
1081flash size = 64kbytes
1082#0 : stm32f1x at 0x08000000, size 0x00010000, buswidth 0, chipwidth 0
1083        #  0: 0x00000000 (0x400 1kB) not protected
1084        #  1: 0x00000400 (0x400 1kB) not protected
1085        #  2: 0x00000800 (0x400 1kB) not protected
1086        #  3: 0x00000c00 (0x400 1kB) not protected
1087        #  4: 0x00001000 (0x400 1kB) not protected
1088        #  5: 0x00001400 (0x400 1kB) not protected
1089        #  6: 0x00001800 (0x400 1kB) not protected
1090        #  7: 0x00001c00 (0x400 1kB) not protected
1091        #  8: 0x00002000 (0x400 1kB) not protected
1092        #  9: 0x00002400 (0x400 1kB) not protected
1093        # 10: 0x00002800 (0x400 1kB) not protected
1094        # 11: 0x00002c00 (0x400 1kB) not protected
1095        # 12: 0x00003000 (0x400 1kB) not protected
1096        # 13: 0x00003400 (0x400 1kB) not protected
1097        # 14: 0x00003800 (0x400 1kB) not protected
1098        # 15: 0x00003c00 (0x400 1kB) not protected
1099        # 16: 0x00004000 (0x400 1kB) not protected
1100        # 17: 0x00004400 (0x400 1kB) not protected
1101        # 18: 0x00004800 (0x400 1kB) not protected
1102        # 19: 0x00004c00 (0x400 1kB) not protected
1103        # 20: 0x00005000 (0x400 1kB) not protected
1104        # 21: 0x00005400 (0x400 1kB) not protected
1105        # 22: 0x00005800 (0x400 1kB) not protected
1106        # 23: 0x00005c00 (0x400 1kB) not protected
1107        # 24: 0x00006000 (0x400 1kB) not protected
1108        # 25: 0x00006400 (0x400 1kB) not protected
1109        # 26: 0x00006800 (0x400 1kB) not protected
1110        # 27: 0x00006c00 (0x400 1kB) not protected
1111        # 28: 0x00007000 (0x400 1kB) not protected
1112        # 29: 0x00007400 (0x400 1kB) not protected
1113        # 30: 0x00007800 (0x400 1kB) not protected
1114        # 31: 0x00007c00 (0x400 1kB) not protected
1115        # 32: 0x00008000 (0x400 1kB) not protected
1116        # 33: 0x00008400 (0x400 1kB) not protected
1117        # 34: 0x00008800 (0x400 1kB) not protected
1118        # 35: 0x00008c00 (0x400 1kB) not protected
1119        # 36: 0x00009000 (0x400 1kB) not protected
1120        # 37: 0x00009400 (0x400 1kB) not protected
1121        # 38: 0x00009800 (0x400 1kB) not protected
1122        # 39: 0x00009c00 (0x400 1kB) not protected
1123        # 40: 0x0000a000 (0x400 1kB) not protected
1124        # 41: 0x0000a400 (0x400 1kB) not protected
1125        # 42: 0x0000a800 (0x400 1kB) not protected
1126        # 43: 0x0000ac00 (0x400 1kB) not protected
1127        # 44: 0x0000b000 (0x400 1kB) not protected
1128        # 45: 0x0000b400 (0x400 1kB) not protected
1129        # 46: 0x0000b800 (0x400 1kB) not protected
1130        # 47: 0x0000bc00 (0x400 1kB) not protected
1131        # 48: 0x0000c000 (0x400 1kB) not protected
1132        # 49: 0x0000c400 (0x400 1kB) not protected
1133        # 50: 0x0000c800 (0x400 1kB) not protected
1134        # 51: 0x0000cc00 (0x400 1kB) not protected
1135        # 52: 0x0000d000 (0x400 1kB) not protected
1136        # 53: 0x0000d400 (0x400 1kB) not protected
1137        # 54: 0x0000d800 (0x400 1kB) not protected
1138        # 55: 0x0000dc00 (0x400 1kB) not protected
1139        # 56: 0x0000e000 (0x400 1kB) not protected
1140        # 57: 0x0000e400 (0x400 1kB) not protected
1141        # 58: 0x0000e800 (0x400 1kB) not protected
1142        # 59: 0x0000ec00 (0x400 1kB) not protected
1143        # 60: 0x0000f000 (0x400 1kB) not protected
1144        # 61: 0x0000f400 (0x400 1kB) not protected
1145        # 62: 0x0000f800 (0x400 1kB) not protected
1146        # 63: 0x0000fc00 (0x400 1kB) not protected
1147STM32F10x (Medium Density) - Rev: Y
1148&gt; </textarea></div>
1149			<div class="crayon-main" style="">
1150				<table class="crayon-table">
1151					<tr class="crayon-row">
1152				<td class="crayon-nums " data-settings="show">
1153					<div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-2">2</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-3">3</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-4">4</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-5">5</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-6">6</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-7">7</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-8">8</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-9">9</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-10">10</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-11">11</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-12">12</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-13">13</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-14">14</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-15">15</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-16">16</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-17">17</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-18">18</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-19">19</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-20">20</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-21">21</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-22">22</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-23">23</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-24">24</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-25">25</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-26">26</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-27">27</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-28">28</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-29">29</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-30">30</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-31">31</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-32">32</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-33">33</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-34">34</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-35">35</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-36">36</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-37">37</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-38">38</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-39">39</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-40">40</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-41">41</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-42">42</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-43">43</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-44">44</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-45">45</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-46">46</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-47">47</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-48">48</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-49">
115349</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-50">50</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-51">51</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-52">52</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-53">53</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-54">54</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-55">55</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-56">56</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-57">57</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-58">58</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-59">59</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-60">60</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-61">61</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-62">62</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-63">63</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-64">64</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-65">65</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-66">66</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-67">67</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-68">68</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-69">69</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-70">70</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-71">71</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-72">72</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-73">73</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-74">74</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-75">75</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-76">76</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-77">77</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-78">78</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-79">79</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-80">80</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-81">81</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-82">82</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-83">83</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-84">84</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-85">85</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-86">86</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-87">87</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-88">88</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-89">89</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-90">90</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-91">91</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-92">92</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-93">93</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-94">94</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-95">95</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-96">96</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-97">97</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-98">98</div><div class="crayon-num" data-line="crayon-6ac4b79acd0e7751701652-99">99</div><div class="crayon-num crayon-striped-num" data-line="crayon-6ac4b79acd0e7751701652-100">100</div></div>
1154				</td>
1155						<td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;"><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-1"><span class="crayon-sy">$</span><span class="crayon-h"> </span><span class="crayon-e">sudo </span><span class="crayon-i">openocd</span><span class="crayon-h"> </span>-<span class="crayon-i">f</span><span class="crayon-h"> </span><span class="crayon-t">interface</span>/<span class="crayon-i">ftdi</span>/<span class="crayon-i">myft2232hl</span><span class="crayon-sy">.</span><span class="crayon-i">cfg</span><span class="crayon-h"> </span>-<span class="crayon-i">f</span><span class="crayon-h">&nbsp;&nbsp;</span><span class="crayon-i">target</span>/<span class="crayon-i">
1155stm32f1x</span><span class="crayon-sy">.</span><span class="crayon-e">cfg</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-2"><span class="crayon-e">Open </span><span class="crayon-i">On</span>-<span class="crayon-e">Chip </span><span class="crayon-i">Debugger</span><span class="crayon-h"> </span><span class="crayon-cn">0.10.0</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-3"><span class="crayon-e">Licensed </span><span class="crayon-e">under </span><span class="crayon-e">GNU </span><span class="crayon-e">GPL </span><span class="crayon-e">v2</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-4"><span class="crayon-st">For</span><span class="crayon-h"> </span><span class="crayon-e">bug </span><span class="crayon-i">reports</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-e">read</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-5"><span class="crayon-e">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-i">http</span><span class="crayon-sy">:</span><span class="crayon-sy">&amp;#47;</span><span class="crayon-sy">&amp;#47;</span><span class="crayon-i">openocd</span><span class="crayon-sy">.</span><span class="crayon-i">org</span>/<span class="crayon-i">doc</span>/<span class="crayon-i">doxygen</span>/<span class="crayon-i">bugs</span><span class="crayon-sy">.</span><span class="crayon-e">html</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-6"><span class="crayon-i">Info</span><span class="crayon-h"> </span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">FTDI </span><span class="crayon-e">SWD </span><span class="crayon-e">mode </span><span class="crayon-e">enabled</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-7"><span class="crayon-e">adapter </span><span class="crayon-i">speed</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-cn">1000</span><span class="crayon-h"> </span><span class="crayon-e">kHz</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-8"><span class="crayon-i">adapter_nsrst_delay</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-cn">100</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-9"><span class="crayon-e">none </span><span class="crayon-e">separate</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-10"><span class="crayon-e">cortex_m </span><span class="crayon-e">reset_config </span><span class="crayon-e">sysresetreq</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-11"><span class="crayon-i">Info</span><span class="crayon-h"> </span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">clock </span><span class="crayon-i">speed</span><span class="crayon-h"> </span><span class="crayon-cn">1000</span><span class="crayon-h"> </span><span class="crayon-e">kHz</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-12"><span class="crayon-i">Info</span><span class="crayon-h"> </span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">SWD </span><span class="crayon-i">DPIDR</span><span class="crayon-h"> </span><span class="crayon-cn">0x1ba01477</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-13"><span class="crayon-i">Info</span><span class="crayon-h"> </span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-i">
1155stm32f1x</span><span class="crayon-sy">.</span><span class="crayon-i">cpu</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-e">hardware </span><span class="crayon-i">has</span><span class="crayon-h"> </span><span class="crayon-cn">6</span><span class="crayon-h"> </span><span class="crayon-i">breakpoints</span><span class="crayon-sy">,</span><span class="crayon-h"> </span><span class="crayon-cn">4</span><span class="crayon-h"> </span><span class="crayon-i">watchpoints</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-14">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-15">&nbsp;</div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-16">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-17"><span class="crayon-sy">$</span><span class="crayon-h"> </span><span class="crayon-e">telnet </span><span class="crayon-i">localhost</span><span class="crayon-h"> </span><span class="crayon-cn">4444</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-18"><span class="crayon-i">Trying</span><span class="crayon-h"> </span><span class="crayon-cn">127.0.0.1...</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-19"><span class="crayon-e">Connected </span><span class="crayon-st">to</span><span class="crayon-h"> </span><span class="crayon-i">localhost</span><span class="crayon-sy">.</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-20"><span class="crayon-e">Escape </span><span class="crayon-e">character </span><span class="crayon-st">is</span><span class="crayon-h"> </span><span class="crayon-s">'^]'</span><span class="crayon-sy">.</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-21"><span class="crayon-e">Open </span><span class="crayon-i">On</span>-<span class="crayon-e">Chip </span><span class="crayon-i">Debugger</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-22"><span class="crayon-h">&gt;</span><span class="crayon-h"> </span><span class="crayon-e">history</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-23"><span class="crayon-e">reset </span><span class="crayon-e">halt</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-24"><span class="crayon-e">reg</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-25"><span class="crayon-e">flash </span><span class="crayon-i">info</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-26"><span class="crayon-e">flash </span><span class="crayon-e">list</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-27"><span class="crayon-e">flash </span><span class="crayon-e">banks</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-28"><span class="crayon-e">quit</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-29"><span class="crayon-i">exit</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-30">&nbsp;</div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-31"><span class="crayon-h">&gt;</span><span class="crayon-h"> </span><span class="crayon-e">flash </span><span class="crayon-i">info</span><span class="crayon-h"> </span><span class="crayon-cn">0</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-32"><span class="crayon-e">device </span><span class="crayon-i">id</span><span class="crayon-h"> </span>=<span class="crayon-h"> </span><span class="crayon-cn">0x20036410</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-33"><span class="crayon-e">flash </span><span class="crayon-i">size</span><span class="crayon-h"> </span>=<span class="crayon-h"> </span><span class="crayon-cn">64kbytes</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-34"><span class="crayon-p">#0 : stm32f1x at 0x08000000, size 0x00010000, buswidth 0, chipwidth 0</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-35"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p">#&nbsp;&nbsp;0: 0x00000000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-36"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p">#&nbsp;&nbsp;1: 0x00000400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-37"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p">#&nbsp;&nbsp;2: 0x00000800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-38"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p">#&nbsp;&nbsp;3: 0x00000c00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-39"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p">#&nbsp;&nbsp;4: 0x00001000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-40"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p">#&nbsp;&nbsp;5: 0x00001400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-41"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p">#&nbsp;&nbsp;6: 0x00001800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-42"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p">#&nbsp;&nbsp;7: 0x00001c00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-43"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p">#&nbsp;&nbsp;8: 0x00002000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-44"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p">#&nbsp;&nbsp;9: 0x00002400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-45"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 10: 0x00002800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-46"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 11: 0x00002c00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-47"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 12: 0x00003000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-48"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 13: 0x00003400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-49"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 14: 0x00003800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-50"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 15: 0x00003c00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-51"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 16: 0x00004000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-52"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 17: 0x00004400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-53"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 18: 0x00004800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-54"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 19: 0x00004c00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-55"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 20: 0x00005000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-56"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 21: 0x00005400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-57"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 22: 0x00005800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-58"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 23: 0x00005c00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-59"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 24: 0x00006000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-60"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 25: 0x00006400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-61"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 26: 0x00006800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-62"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 27: 0x00006c00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-63"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 28: 0x00007000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-64"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 29: 0x00007400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-65"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 30: 0x00007800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-66"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 31: 0x00007c00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-67"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 32: 0x00008000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-68"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 33: 0x00008400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-69"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 34: 0x00008800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-70"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 35: 0x00008c00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-71"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 36: 0x00009000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-72"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 37: 0x00009400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-73"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 38: 0x00009800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-74"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 39: 0x00009c00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-75"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 40: 0x0000a000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-76"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p">
1155# 41: 0x0000a400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-77"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 42: 0x0000a800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-78"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 43: 0x0000ac00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-79"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 44: 0x0000b000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-80"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 45: 0x0000b400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-81"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 46: 0x0000b800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-82"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 47: 0x0000bc00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-83"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 48: 0x0000c000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-84"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 49: 0x0000c400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-85"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 50: 0x0000c800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-86"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 51: 0x0000cc00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-87"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 52: 0x0000d000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-88"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 53: 0x0000d400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-89"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 54: 0x0000d800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-90"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 55: 0x0000dc00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-91"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 56: 0x0000e000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-92"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 57: 0x0000e400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-93"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 58: 0x0000e800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-94"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 59: 0x0000ec00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-95"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 60: 0x0000f000 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-96"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 61: 0x0000f400 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-97"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 62: 0x0000f800 (0x400 1kB) not protected</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-98"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-p"># 63: 0x0000fc00 (0x400 1kB) not protected</span></div><div class="crayon-line" id="crayon-6ac4b79acd0e7751701652-99"><span class="crayon-e">STM32F10x</span><span class="crayon-h"> </span><span class="crayon-sy">(</span><span class="crayon-e">Medium </span><span class="crayon-i">Density</span><span class="crayon-sy">)</span><span class="crayon-h"> </span>-<span class="crayon-h"> </span><span class="crayon-i">Rev</span><span class="crayon-sy">:</span><span class="crayon-h"> </span><span class="crayon-i">Y</span></div><div class="crayon-line crayon-striped-line" id="crayon-6ac4b79acd0e7751701652-100"><span class="crayon-h">&gt;</span><span class="crayon-h"> </span></div></div></td>
1156					</tr>
1157				</table>
1158			</div>
1159		</div>
1160<!-- [Format Time: 0.0010 seconds] -->
1161
1162
1163
1164
1165<figure class="wp-block-gallery columns-1 is-cropped wp-block-gallery-7 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_135854-576x1024.jpg"><img loading="lazy" decoding="async" width="576" height="1024" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_135854-576x1024.jpg" alt="" data-id="256" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=256" class="lazy lazy-hidden wp-image-256" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_135854-576x1024.jpg 576w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_135854-169x300.jpg 169w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_135854-768x1365.jpg 768w" sizes="auto, (max-width: 576px) 85vw, 576px" /><noscript><img loading="lazy" decoding="async" width="576" height="1024" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_135854-576x1024.jpg" alt="" data-id="256" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=256" class="wp-image-256" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_135854-576x1024.jpg 576w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_135854-169x300.jpg 169w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_135854-768x1365.jpg 768w" sizes="auto, (max-width: 576px) 85vw, 576px" /></noscript></a></figure></li></ul></figure>
1166
1167
1168
1169<p>Anyway the take away is that I got it flashed, but not via the UART, I had to use the JTAG port and the new digital inputs are fully functional.</p>
1170
1171
1172
1173<figure class="wp-block-gallery columns-3 is-cropped wp-block-gallery-8 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_152837-1024x576.jpg"><img decoding="async" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_152837-1024x576.jpg" alt="" data-id="258" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=258" class="lazy lazy-hidden wp-image-258"/><noscript><img decoding="async" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20181223_152837-1024x576.jpg" alt="" data-id="258" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=258" class="wp-image-258"/></noscript></a><figcaption class="blocks-gallery-item__caption">Just After Flashing!</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-1024x1024.jpg"><img loading="lazy" decoding="async" width="1024" height="1024" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-1024x1024.jpg" alt="" data-id="288" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=288" class="lazy lazy-hidden wp-image-288" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-1024x1024.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-174x174.jpg 174w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /><noscript><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-1024x1024.jpg" alt="" data-id="288" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=288" class="wp-image-288" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-1024x1024.jpg 1024w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-150x150.jpg 150w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-300x300.jpg 300w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-768x768.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-250x250.jpg 250w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190302_141827-174x174.jpg 174w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></noscript></a><figcaption class="blocks-gallery-item__caption">All Channels 3x Digital + 1x Analog</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190320_184429-576x1024.jpg"><img loading="lazy" decoding="async" width="576" height="1024" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3
1173-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190320_184429-576x1024.jpg" alt="" data-id="289" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=289" class="lazy lazy-hidden wp-image-289" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190320_184429-576x1024.jpg 576w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190320_184429-169x300.jpg 169w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190320_184429-768x1365.jpg 768w" sizes="auto, (max-width: 576px) 85vw, 576px" /><noscript><img loading="lazy" decoding="async" width="576" height="1024" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190320_184429-576x1024.jpg" alt="" data-id="289" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=289" class="wp-image-289" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190320_184429-576x1024.jpg 576w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190320_184429-169x300.jpg 169w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190320_184429-768x1365.jpg 768w" sizes="auto, (max-width: 576px) 85vw, 576px" /></noscript></a><figcaption class="blocks-gallery-item__caption">Analog Sine Wave, ESP8266 +  MCP4725 I2C DAC</figcaption></figure></li><li class="blocks-gallery-item"><figure><a href="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-673x1024.jpg"><img loading="lazy" decoding="async" width="673" height="1024" src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-673x1024.jpg" alt="" data-id="290" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=290" class="lazy lazy-hidden wp-image-290" srcset="" data-srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-673x1024.jpg 673w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-197x300.jpg 197w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-768x1169.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742.jpg 1796w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /><noscript><img loading="lazy" decoding="async" width="673" height="1024" src="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-673x1024.jpg" alt="" data-id="290" data-link="https://blog.pagefault-limited.co.uk/?attachment_id=290" class="wp-image-290" srcset="https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-673x1024.jpg 673w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-197x300.jpg 197w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742-768x1169.jpg 768w, https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/IMG_20190324_155742.jpg 1796w" sizes="auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" /></noscript></a><figcaption class="blocks-gallery-item__caption">Firmware Flashed</figcaption></figure></li></ul></figure>
1174
1175
1176
1177<p>DSO-150 User Instructions &#8211; <span class="collapseomatic " id="id6ac4b79aed98a"  tabindex="0" title="User Guide"    >User Guide</span><div id="target-id6ac4b79aed98a" class="collapseomatic_content ">
1178<div
1179    class='wp-block-pdfp-pdf-poster  alignnone'
1180    id='block-12'
1181    data-attributes='{&quot;uniqueId&quot;:&quot;pdfp11&quot;,&quot;file&quot;:&quot;https:\/\/blog.pagefault-limited.co.uk\/wp-content\/uploads\/2019\/02\/dso150-shell-user-manual.pdf&quot;,&quot;title&quot;:&quot;DSO-150 User Instructions&quot;,&quot;height&quot;:&quot;840px&quot;,&quot;width&quot;:&quot;100%&quot;,&quot;print&quot;:false,&quot;fullscreenButton&quot;:true,&quot;fullscreenButtonText&quot;:&quot;View Fullscreen&quot;,&quot;newWindow&quot;:false,&quot;showName&quot;:true,&quot;downloadButton&quot;:false,&quot;downloadButtonText&quot;:&quot;Download File&quot;,&quot;protect&quot;:false,&quot;onlyPDF&quot;:false,&quot;defaultBrowser&quot;:false,&quot;thumbMenu&quot;:false,&quot;initialPage&quot;:0,&quot;sidebarOpen&quot;:false,&quot;lastVersion&quot;:false,&quot;hrScroll&quot;:false,&quot;alert&quot;:true,&quot;btnStyles&quot;:{&quot;background&quot;:&quot;#1e73be&quot;,&quot;color&quot;:&quot;#fff&quot;,&quot;fontSize&quot;:&quot;rem&quot;,&quot;padding&quot;:{&quot;top&quot;:10,&quot;right&quot;:20,&quot;bottom&quot;:10,&quot;left&quot;:10}},&quot;popupOptions&quot;:{&quot;enabled&quot;:false,&quot;text&quot;:&quot;Open PDF&quot;,&quot;btnStyle&quot;:{&quot;background&quot;:&quot;#1e73be&quot;,&quot;color&quot;:&quot;#fff&quot;,&quot;fontSize&quot;:&quot;rem&quot;,&quot;padding&quot;:{&quot;top&quot;:10,&quot;right&quot;:20,&quot;bottom&quot;:10,&quot;left&quot;:10}}},&quot;align&quot;:&quot;none&quot;,&quot;alignment&quot;:&quot;left&quot;,&quot;titleFontSize&quot;:&quot;16px&quot;,&quot;isHideRightToolbar&quot;:false,&quot;additional&quot;:{&quot;ID&quot;:&quot;&quot;,&quot;Class&quot;:&quot;&quot;,&quot;CSS&quot;:&quot;&quot;},&quot;adobeEmbedder&quot;:false,&quot;adobeOptions&quot;:{&quot;showDownloadPDF&quot;:true,&quot;showPrintPDF&quot;:true,&quot;showAnnotationTools&quot;:true,&quot;showFullScreen&quot;:false,&quot;embedMode&quot;:&quot;SIZED_CONTAINER&quot;},&quot;popupBtnStyle&quot;:{&quot;background&quot;:&quot;#2271b1&quot;,&quot;color&quot;:&quot;#fff&quot;,&quot;padding&quot;:{&quot;top&quot;:10,&quot;right&quot;:20,&quot;bottom&quot;:10,&quot;left&quot;:10}},&quot;popupBtnText&quot;:&quot;Open Document&quot;,&quot;CSS&quot;:&quot;&quot;}'
1182    style="text-align: left">
1183    
1184        <iframe loading="lazy" style="border:0;" width="100%" height="800px" class="lazy lazy-hidden pdfp_unsupported_frame"  data-lazy-type="iframe" data-src="//docs.google.com/gview?embedded=true&url=https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso150-shell-user-manual.pdf"></iframe><noscript><iframe loading="lazy" style="border:0;" width="100%" height="800px" class="pdfp_unsupported_frame" src="//docs.google.com/gview?embedded=true&url=https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/02/dso150-shell-user-manual.pdf"></iframe></noscript>
1185
1186    </div></div>
1187
1188
1189
1190<p>DSO-150 How to Upgrade Firmware (Official)  &#8211; <span class="collapseomatic " id="id6ac4b79aeee05"  tabindex="0" title="Flashing Guide"    >Flashing Guide</span><div id="target-id6ac4b79aeee05" class="collapseomatic_content ">
1191<div
1192    class='wp-block-pdfp-pdf-poster  alignnone'
1193    id='block-14'
1194    data-attributes='{&quot;uniqueId&quot;:&quot;pdfp13&quot;,&quot;file&quot;:&quot;https:\/\/blog.pagefault-limited.co.uk\/wp-content\/uploads\/2019\/03\/DSO150_HowToUpgradeFirmware.pdf&quot;,&quot;title&quot;:&quot;DSO-150 How to Upgrade Firmware&quot;,&quot;height&quot;:&quot;840px&quot;,&quot;width&quot;:&quot;100%&quot;,&quot;print&quot;:false,&quot;fullscreenButton&quot;:true,&quot;fullscreenButtonText&quot;:&quot;View Fullscreen&quot;,&quot;newWindow&quot;:false,&quot;showName&quot;:true,&quot;downloadButton&quot;:false,&quot;downloadButtonText&quot;:&quot;Download File&quot;,&quot;protect&quot;:false,&quot;onlyPDF&quot;:false,&quot;defaultBrowser&quot;:false,&quot;thumbMenu&quot;:false,&quot;initialPage&quot;:0,&quot;sidebarOpen&quot;:false,&quot;lastVersion&quot;:false,&quot;hrScroll&quot;:false,&quot;alert&quot;:true,&quot;btnStyles&quot;:{&quot;background&quot;:&quot;#1e73be&quot;,&quot;color&quot;:&quot;#fff&quot;,&quot;fontSize&quot;:&quot;rem&quot;,&quot;padding&quot;:{&quot;top&quot;:10,&quot;right&quot;:20,&quot;bottom&quot;:10,&quot;left&quot;:10}},&quot;popupOptions&quot;:{&quot;enabled&quot;:false,&quot;text&quot;:&quot;Open PDF&quot;,&quot;btnStyle&quot;:{&quot;background&quot;:&quot;#1e73be&quot;,&quot;color&quot;:&quot;#fff&quot;,&quot;fontSize&quot;:&quot;rem&quot;,&quot;padding&quot;:{&quot;top&quot;:10,&quot;right&quot;:20,&quot;bottom&quot;:10,&quot;left&quot;:10}}},&quot;align&quot;:&quot;none&quot;,&quot;alignment&quot;:&quot;left&quot;,&quot;titleFontSize&quot;:&quot;16px&quot;,&quot;isHideRightToolbar&quot;:false,&quot;additional&quot;:{&quot;ID&quot;:&quot;&quot;,&quot;Class&quot;:&quot;&quot;,&quot;CSS&quot;:&quot;&quot;},&quot;adobeEmbedder&quot;:false,&quot;adobeOptions&quot;:{&quot;showDownloadPDF&quot;:true,&quot;showPrintPDF&quot;:true,&quot;showAnnotationTools&quot;:true,&quot;showFullScreen&quot;:false,&quot;embedMode&quot;:&quot;SIZED_CONTAINER&quot;},&quot;popupBtnStyle&quot;:{&quot;background&quot;:&quot;#2271b1&quot;,&quot;color&quot;:&quot;#fff&quot;,&quot;padding&quot;:{&quot;top&quot;:10,&quot;right&quot;:20,&quot;bottom&quot;:10,&quot;left&quot;:10}},&quot;popupBtnText&quot;:&quot;Open Document&quot;,&quot;CSS&quot;:&quot;&quot;}'
1195    style="text-align: left">
1196    
1197        <iframe loading="lazy" style="border:0;" width="100%" height="800px" class="lazy lazy-hidden pdfp_unsupported_frame"  data-lazy-type="iframe" data-src="//docs.google.com/gview?embedded=true&url=https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/DSO150_HowToUpgradeFirmware.pdf"></iframe><noscript><iframe loading="lazy" style="border:0;" width="100%" height="800px" class="pdfp_unsupported_frame" src="//docs.google.com/gview?embedded=true&url=https://blog.pagefault-limited.co.uk/wp-content/uploads/2019/03/DSO150_HowToUpgradeFirmware.pdf"></iframe></noscript>
1198
1199    </div></div>
1200	</div><!-- .entry-content -->
1201
1202	<footer class="entry-footer">
1203		<span class="byline"><img alt='' src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3
1203-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/48a07e84e1804c9bca88bf884837506758974f86fce60b1a4b47b441124b15bb?s=49&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/48a07e84e1804c9bca88bf884837506758974f86fce60b1a4b47b441124b15bb?s=98&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-49 photo' height='49' width='49' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/48a07e84e1804c9bca88bf884837506758974f86fce60b1a4b47b441124b15bb?s=49&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/48a07e84e1804c9bca88bf884837506758974f86fce60b1a4b47b441124b15bb?s=98&#038;d=mm&#038;r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy' decoding='async'/></noscript><span class="screen-reader-text">Author </span><span class="author vcard"><a class="url fn n" href="https://blog.pagefault-limited.co.uk/author/don">Don Prince</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware" rel="bookmark"><time class="entry-date published" datetime="2019-03-24T16:30:19+00:00">24 March, 2019</time><time class="updated" datetime="2021-01-17T14:18:15+00:00">17 January, 2021</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://blog.pagefault-limited.co.uk/category/programming/debug" rel="category tag">Debug</a>, <a href="https://blog.pagefault-limited.co.uk/category/electronics/tools/oscilloscope/dso-150" rel="category tag">DSO-150</a>, <a href="https://blog.pagefault-limited.co.uk/category/electronics" rel="category tag">Electronics</a>, <a href="https://blog.pagefault-limited.co.uk/category/programming/debug/jtag" rel="category tag">JTAG</a>, <a href="https://blog.pagefault-limited.co.uk/category/open-source" rel="category tag">Open Source</a>, <a href="https://blog.pagefault-limited.co.uk/category/open-source/openocd" rel="category tag">openocd</a>, <a href="https://blog.pagefault-limited.co.uk/category/electronics/tools/oscilloscope" rel="category tag">Oscilloscope</a>, <a href="https://blog.pagefault-limited.co.uk/category/programming" rel="category tag">Programming</a>, <a href="https://blog.pagefault-limited.co.uk/category/electronics/tools" rel="category tag">Tools</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://blog.pagefault-limited.co.uk/tag/analog" rel="tag">analog</a>, <a href="https://blog.pagefault-limited.co.uk/tag/digital" rel="tag">digital</a>, <a href="https://blog.pagefault-limited.co.uk/tag/dso-150" rel="tag">DSO-150</a>, <a href="https://blog.pagefault-limited.co.uk/tag/firmware" rel="tag">firmware</a>, <a href="https://blog.pagefault-limited.co.uk/tag/ft2232hl" rel="tag">ft2232hl</a>, <a href="https://blog.pagefault-limited.co.uk/tag/ftdi" rel="tag">ftdi</a>, <a href="https://blog.pagefault-limited.co.uk/tag/jtsg" rel="tag">jtsg</a>, <a href="https://blog.pagefault-limited.co.uk/tag/logic" rel="tag">logic</a>, <a href="https://blog.pagefault-limited.co.uk/tag/opensource" rel="tag">opensource</a>, <a href="https://blog.pagefault-limited.co.uk/tag/oscilloscope" rel="tag">oscilloscope</a></span>			</footer><!-- .entry-footer -->
1204</article><!-- #post-150 -->
1205
1206<div id="comments" class="comments-area">
1207
1208			<h2 class="comments-title">
1209			6 thoughts on &ldquo;Adding Digital Channels to the DSO-150 Oscilloscope And Flashing New Firmware&rdquo;		</h2>
1210
1211		
1212		<ol class="comment-list">
1213					<li id="comment-175" class="comment even thread-even depth-1 parent">
1214			<article id="div-comment-175" class="comment-body">
1215				<footer class="comment-meta">
1216					<div class="comment-author vcard">
1217						<img alt='' src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/8a9975022373fb7f9d7337417d908f1eca61fcbc57a46ee54f6784f72f7a7dbe?s=42&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/8a9975022373fb7f9d7337417d908f1eca61fcbc57a46ee54f6784f72f7a7dbe?s=84&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-42 photo' height='42' width='42' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/8a9975022373fb7f9d7337417d908f1eca61fcbc57a46ee54f6784f72f7a7dbe?s=42&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/8a9975022373fb7f9d7337417d908f1eca61fcbc57a46ee54f6784f72f7a7dbe?s=84&#038;d=mm&#038;r=g 2x' class='avatar avatar-42 photo' height='42' width='42' loading='lazy' decoding='async'/></noscript>						<b class="fn">Paul</b> <span class="says">says:</span>					</div><!-- .comment-author -->
1218
1219					<div class="comment-metadata">
1220						<a href="https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#comment-175"><time datetime="2020-07-17T22:15:31+00:00">17 July, 2020 at 10:15 pm</time></a>					</div><!-- .comment-metadata -->
1221
1222									</footer><!-- .comment-meta -->
1223
1224				<div class="comment-content">
1225					<p>Hey, nice post. Given that you first tried to do the firmware flash via uart and you linked that official firmware update procedure pdf, you must&#8217;ve shorted the jp1 and jp2 jumper bridges as required for that. Do you happen to know if that procedure is required when using the SWD interface as well?</p>
1226				</div><!-- .comment-content -->
1227
1228				<div class="reply"><a rel="nofollow" class="comment-reply-link" href="#comment-175" data-commentid="175" data-postid="150" data-belowelement="div-comment-175" data-respondelement="respond" data-replyto="Reply to Paul" aria-label="Reply to Paul">Reply</a></div>			</article><!-- .comment-body -->
1229		<ol class="children">
1230		<li id="comment-182" class="comment byuser comment-author-don bypostauthor odd alt depth-2">
1231			<article id="div-comment-182" class="comment-body">
1232				<footer class="comment-meta">
1233					<div class="comment-author vcard">
1234						<img alt='' src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/48a07e84e1804c9bca88bf884837506758974f86fce60b1a4b47b441124b15bb?s=42&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/48a07e84e1804c9bca88bf884837506758974f86fce60b1a4b47b441124b15bb?s=84&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-42 photo' height='42' width='42' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/48a07e84e1804c9bca88bf884837506758974f86fce60b1a4b47b441124b15bb?s=42&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/48a07e84e1804c9bca88bf884837506758974f86fce60b1a4b47b441124b15bb?s=84&#038;d=mm&#038;r=g 2x' class='avatar avatar-42 photo' height='42' width='42' loading='lazy' decoding='async'/></noscript>						<b class="fn">Don</b> <span class="says">says:</span>					</div><!-- .comment-author -->
1235
1236					<div class="comment-metadata">
1237						<a href="https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#comment-182"><time datetime="2020-07-26T09:46:49+00:00">26 July, 2020 at 9:46 am</time></a>					</div><!-- .comment-metadata -->
1238
1239									</footer><!-- .comment-meta -->
1240
1241				<div class="comment-content">
1242					<p>I think that shorting the jumpers was applicable to UART flashing. For JTAG try without. If it doesn&#8217;t work maybe try the jumpers.</p>
1243				</div><!-- .comment-content -->
1244
1245				<div class="reply"><a rel="nofollow" class="comment-reply-link" href="#comment-182" data-commentid="182" data-postid="150" data-belowelement="div-comment-182" data-respondelement="respond" data-replyto="Reply to Don" aria-label="Reply to Don">Reply</a></div>			</article><!-- .comment-body -->
1246		</li><!-- #comment-## -->
1247</ol><!-- .children -->
1248</li><!-- #comment-## -->
1249		<li id="comment-315" class="comment even thread-odd thread-alt depth-1 parent">
1250			<article id="div-comment-315" class="comment-body">
1251				<footer class="comment-meta">
1252					<div class="comment-author vcard">
1253						<img alt='' src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/25bd62e5a3e1566d7f765fb3aadef8f579567a91aef1d8515450829e9e3a1c9a?s=42&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/25bd62e5a3e1566d7f765fb3aadef8f579567a91aef1d8515450829e9e3a1c9a?s=84&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-42 photo' height='42' width='42' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/25bd62e5a3e1566d7f765fb3aadef8f579567a91aef1d8515450829e9e3a1c9a?s=42&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/25bd62e5a3e1566d7f765fb3aadef8f579567a91aef1d8515450829e9e3a1c9a?s=84&#038;d=mm&#038;r=g 2x' class='avatar avatar-42 photo' height='42' width='42' loading='lazy' decoding='async'/></noscript>						<b class="fn">Simlog</b> <span class="says">says:</span>					</div><!-- .comment-author -->
1254
1255					<div class="comment-metadata">
1256						<a href="https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#comment-315"><time datetime="2021-03-20T14:56:05+00:00">20 March, 2021 at 2:56 pm</time></a>					</div><!-- .comment-metadata -->
1257
1258									</footer><!-- .comment-meta -->
1259
1260				<div class="comment-content">
1261					<p>Good job!<br />
1262Is the firmware already final or work in progress?</p>
1263				</div><!-- .comment-content -->
1264
1265				<div class="reply"><a rel="nofollow" class="comment-reply-link" href="#comment-315" data-commentid="315" data-postid="150" data-belowelement="div-comment-315" data-respondelement="respond" data-replyto="Reply to Simlog" aria-label="Reply to Simlog">Reply</a></div>			</article><!-- .comment-body -->
1266		<ol class="children">
1267		<li id="comment-337" class="comment byuser comment-author-admin2411 odd alt depth-2">
1268			<article id="div-comment-337" class="comment-body">
1269				<footer class="comment-meta">
1270					<div class="comment-author vcard">
1271						<img alt='' src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/66dbc3930645578933b9eba4d11149f1604ba77c7371f6df964436e726cfe834?s=42&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/66dbc3930645578933b9eba4d11149f1604ba77c7371f6df964436e726cfe834?s=84&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-42 photo' height='42' width='42' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/66dbc3930645578933b9eba4d11149f1604ba77c7371f6df964436e726cfe834?s=42&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/66dbc3930645578933b9eba4d11149f1604ba77c7371f6df964436e726cfe834?s=84&#038;d=mm&#038;r=g 2x' class='avatar avatar-42 photo' height='42' width='42' loading='lazy' decoding='async'/></noscript>						<b class="fn">Don</b> <span class="says">says:</span>					</div><!-- .comment-author -->
1272
1273					<div class="comment-metadata">
1274						<a href="https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#comment-337"><time datetime="2021-07-24T06:15:40+00:00">24 July, 2021 at 6:15 am</time></a>					</div><!-- .comment-metadata -->
1275
1276									</footer><!-- .comment-meta -->
1277
1278				<div class="comment-content">
1279					<p>Hi, it is final in the sense that it is usable, but a work in progress in the sense that it may receive future updates.</p>
1280				</div><!-- .comment-content -->
1281
1282				<div class="reply"><a rel="nofollow" class="comment-reply-link" href="#comment-337" data-commentid="337" data-postid="150" data-belowelement="div-comment-337" data-respondelement="respond" data-replyto="Reply to Don" aria-label="Reply to Don">Reply</a></div>			</article><!-- .comment-body -->
1283		</li><!-- #comment-## -->
1284</ol><!-- .children -->
1285</li><!-- #comment-## -->
1286		<li id="comment-374" class="comment even thread-even depth-1 parent">
1287			<article id="div-comment-374" class="comment-body">
1288				<footer class="comment-meta">
1289					<div class="comment-author vcard">
1290						<img alt='' src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/f35fa00722c5e40cef54892e351044340a8d283eb60fb1f328ce1221562241eb?s=42&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/f35fa00722c5e40cef54892e351044340a8d283eb60fb1f328ce1221562241eb?s=84&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-42 photo' height='42' width='42' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/f35fa00722c5e40cef54892e351044340a8d283eb60fb1f328ce1221562241eb?s=42&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/f35fa00722c5e40cef54892e351044340a8d283eb60fb1f328ce1221562241eb?s=84&#038;d=mm&#038;r=g 2x' class='avatar avatar-42 photo' height='42' width='42' loading='lazy' decoding='async'/></noscript>						<b class="fn">AG_Hornet</b> <span class="says">says:</span>					</div><!-- .comment-author -->
1291
1292					<div class="comment-metadata">
1293						<a href="https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#comment-374"><time datetime="2023-03-28T10:16:23+00:00">28 March, 2023 at 10:16 am</time></a>					</div><!-- .comment-metadata -->
1294
1295									</footer><!-- .comment-meta -->
1296
1297				<div class="comment-content">
1298					<p>Thanks. Great set of instructions..<br />
1299I might give that a go.</p>
1300				</div><!-- .comment-content -->
1301
1302				<div class="reply"><a rel="nofollow" class="comment-reply-link" href="#comment-374" data-commentid="374" data-postid="150" data-belowelement="div-comment-374" data-respondelement="respond" data-replyto="Reply to AG_Hornet" aria-label="Reply to AG_Hornet">Reply</a></div>			</article><!-- .comment-body -->
1303		<ol class="children">
1304		<li id="comment-377" class="comment byuser comment-author-admin2411 odd alt depth-2">
1305			<article id="div-comment-377" class="comment-body">
1306				<footer class="comment-meta">
1307					<div class="comment-author vcard">
1308						<img alt='' src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='https://secure.gravatar.com/avatar/66dbc3930645578933b9eba4d11149f1604ba77c7371f6df964436e726cfe834?s=42&#038;d=mm&#038;r=g' srcset="" data-srcset='https://secure.gravatar.com/avatar/66dbc3930645578933b9eba4d11149f1604ba77c7371f6df964436e726cfe834?s=84&#038;d=mm&#038;r=g 2x' class='lazy lazy-hidden avatar avatar-42 photo' height='42' width='42' loading='lazy' decoding='async'/><noscript><img alt='' src='https://secure.gravatar.com/avatar/66dbc3930645578933b9eba4d11149f1604ba77c7371f6df964436e726cfe834?s=42&#038;d=mm&#038;r=g' srcset='https://secure.gravatar.com/avatar/66dbc3930645578933b9eba4d11149f1604ba77c7371f6df964436e726cfe834?s=84&#038;d=mm&#038;r=g 2x' class='avatar avatar-42 photo' height='42' width='42' loading='lazy' decoding='async'/></noscript>						<b class="fn">Don</b> <span class="says">says:</span>					</div><!-- .comment-author -->
1309
1310					<div class="comment-metadata">
1311						<a href="https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#comment-377"><time datetime="2023-03-28T14:32:37+00:00">28 March, 2023 at 2:32 pm</time></a>					</div><!-- .comment-metadata -->
1312
1313									</footer><!-- .comment-meta -->
1314
1315				<div class="comment-content">
1316					<p>Thanks, I am quite pleased with it.</p>
1317				</div><!-- .comment-content -->
1318
1319				<div class="reply"><a rel="nofollow" class="comment-reply-link" href="#comment-377" data-commentid="377" data-postid="150" data-belowelement="div-comment-377" data-respondelement="respond" data-replyto="Reply to Don" aria-label="Reply to Don">Reply</a></div>			</article><!-- .comment-body -->
1320		</li><!-- #comment-## -->
1321</ol><!-- .children -->
1322</li><!-- #comment-## -->
1323		</ol><!-- .comment-list -->
1324
1325		
1326	
1327	
1328		<div id="respond" class="comment-respond">
1329		<h2 id="reply-title" class="comment-reply-title">Leave a Reply <small><a rel="nofollow" id="cancel-comment-reply-link" href="/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#respond" style="display:none;">Cancel reply</a></small></h2><form action="https://blog.pagefault-limited.co.uk/wp-comments-post.php" method="post" id="commentform" class="comment-form"><p class="comment-notes"><span id="email-notes">Your email address will not be published.</span> <span class="required-field-message">Required fields are marked <span class="required">*</span></span></p><p class="comment-form-comment"><label for="comment">Comment <span class="required">*</span></label> <textarea autocomplete="new-password"  id="g386753469"  name="g386753469"   cols="45" rows="8" maxlength="65525" required></textarea><textarea id="comment" aria-label="hp-comment" aria-hidden="true" name="comment" autocomplete="new-password" style="padding:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;position:absolute !important;white-space:nowrap !important;height:1px !important;width:1px !important;overflow:hidden !important;" tabindex="-1"></textarea>
1329<script data-noptimize>document.getElementById("comment").setAttribute( "id", "a83390f25753f4bc4253b2c9447c30b8" );document.getElementById("g386753469").setAttribute( "id", "comment" );</script>
1329</p><p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" autocomplete="name" required /></p>
1330<p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input id="email" name="email" type="email" value="" size="30" maxlength="100" aria-describedby="email-notes" autocomplete="email" required /></p>
1331<p class="comment-form-url"><label for="url">Website</label> <input id="url" name="url" type="url" value="" size="30" maxlength="200" autocomplete="url" /></p>
1332<p class="c4wp-display-captcha-form"><label for="Solve Captcha*">Solve Captcha*</label><input id="c4wp_user_input_captcha" name="c4wp_user_input_captcha" class="c4wp_user_input_captcha" type="text" style="width: 45px;" autocomplete="off" />&nbsp;&nbsp;&times;&nbsp;&nbsp;one&nbsp;&nbsp;=&nbsp;&nbsp;five<input type="hidden" name="c4wp_random_input_captcha" value="dgw=" /></p><p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="Post Comment" /> <input type='hidden' name='comment_post_ID' value='150' id='comment_post_ID' />
1333<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
1334</p></form>	</div><!-- #respond -->
1335	
1336</div><!-- .comments-area -->
1337
1338	<nav class="navigation post-navigation" aria-label="Posts">
1339		<h2 class="screen-reader-text">Post navigation</h2>
1340		<div class="nav-links"><div class="nav-previous"><a href="https://blog.pagefault-limited.co.uk/esp-01s-relay-module-v1-0" rel="prev"><span class="meta-nav" aria-hidden="true">Previous</span> <span class="screen-reader-text">Previous post:</span> <span class="post-title">ESP-01S Relay Module V1.0</span></a></div><div class="nav-next"><a href="https://blog.pagefault-limited.co.uk/wemos-lolin32-pinout-vs-wemos-lolin32-lite-pinout" rel="next"><span class="meta-nav" aria-hidden="true">Next</span> <span class="screen-reader-text">Next post:</span> <span class="post-title">Wemos Lolin32 Pinout vs Wemos Lolin32 Lite Pinout</span></a></div></div>
1341	</nav>
1342	</main><!-- .site-main -->
1343
1344	
1345</div><!-- .content-area -->
1346
1347
1348	<aside id="secondary" class="sidebar widget-area">
1349		<section id="search-2" class="widget widget_search">
1350<form role="search" method="get" class="search-form" action="https://blog.pagefault-limited.co.uk/">
1351	<label>
1352		<span class="screen-reader-text">
1353			Search for:		</span>
1354		<input type="search" class="search-field" placeholder="Search &hellip;" value="" name="s" />
1355	</label>
1356	<button type="submit" class="search-submit"><span class="screen-reader-text">
1357		Search	</span></button>
1358</form>
1359</section>
1360		<section id="recent-posts-2" class="widget widget_recent_entries">
1361		<h2 class="widget-title">Recent Posts</h2><nav aria-label="Recent Posts">
1362		<ul>
1363											<li>
1364					<a href="https://blog.pagefault-limited.co.uk/quick-setup-of-vnc-server-on-headless-machines-debian">Script: Quick &#038; simple setup of VNC server on headless machines (Debian Based OSes)</a>
1365									</li>
1366											<li>
1367					<a href="https://blog.pagefault-limited.co.uk/remove-snapd-from-ubuntu-kubuntu-20-04-and-restore-chromium-apt-deb-package">Remove snapd from Ubuntu/Kubuntu 20.04 and restore Chromium apt deb package</a>
1368									</li>
1369											<li>
1370					<a href="https://blog.pagefault-limited.co.uk/commandline-upgrade-ubuntu-kubuntu-bionic-18-04-to-focal-20-04">Commandline Upgrade Ubuntu/Kubuntu Bionic 18.04 to Focal 20.04</a>
1371									</li>
1372											<li>
1373					<a href="https://blog.pagefault-limited.co.uk/lolin32-lite-esp32-8mb-psram-upgrade-mod">Lolin32 Lite (ESP32) 8MB PSRAM Upgrade Mod</a>
1374									</li>
1375											<li>
1376					<a href="https://blog.pagefault-limited.co.uk/hotchip-ht4928s-ver1-1-english-pdf">Hotchip &#8211; HT4928S Ver1.1 English PDF</a>
1377									</li>
1378					</ul>
1379
1380		</nav></section><section id="categories-2" class="widget widget_categories"><h2 class="widget-title">Categories</h2><nav aria-label="Categories">
1381			<ul>
1382					<li class="cat-item cat-item-85"><a href="https://blog.pagefault-limited.co.uk/category/electronics/modules/battery-booster">Battery Booster</a>
1383</li>
1384	<li class="cat-item cat-item-18"><a href="https://blog.pagefault-limited.co.uk/category/programming/debug">Debug</a>
1385</li>
1386	<li class="cat-item cat-item-21"><a href="https://blog.pagefault-limited.co.uk/category/electronics/tools/oscilloscope/dso-150">DSO-150</a>
1387</li>
1388	<li class="cat-item cat-item-3"><a href="https://blog.pagefault-limited.co.uk/category/electronics">Electronics</a>
1389</li>
1390	<li class="cat-item cat-item-88"><a href="https://blog.pagefault-limited.co.uk/category/electronics/modules/esp-01s">ESP-01S</a>
1391</li>
1392	<li class="cat-item cat-item-82"><a href="https://blog.pagefault-limited.co.uk/category/electronics/ic/esp32">ESP32</a>
1393</li>
1394	<li class="cat-item cat-item-86"><a href="https://blog.pagefault-limited.co.uk/category/electronics/ic/esp8266">ESP8266</a>
1395</li>
1396	<li class="cat-item cat-item-84"><a href="https://blog.pagefault-limited.co.uk/category/electronics/ic/ht4928s">HT4928S</a>
1397</li>
1398	<li class="cat-item cat-item-45"><a href="https://blog.pagefault-limited.co.uk/category/electronics/ic">IC</a>
1399</li>
1400	<li class="cat-item cat-item-19"><a href="https://blog.pagefault-limited.co.uk/category/programming/debug/jtag">JTAG</a>
1401</li>
1402	<li class="cat-item cat-item-67"><a href="https://blog.pagefault-limited.co.uk/category/os/linux">Linux</a>
1403</li>
1404	<li class="cat-item cat-item-12"><a href="https://blog.pagefault-limited.co.uk/category/electronics/tools/logic-analyser">Logic Analyser</a>
1405</li>
1406	<li class="cat-item cat-item-44"><a href="https://blog.pagefault-limited.co.uk/category/electronics/mcu">MCU</a>
1407</li>
1408	<li class="cat-item cat-item-4"><a href="https://blog.pagefault-limited.co.uk/category/electronics/modules">Modules</a>
1409</li>
1410	<li class="cat-item cat-item-20"><a href="https://blog.pagefault-limited.co.uk/category/open-source">Open Source</a>
1411</li>
1412	<li class="cat-item cat-item-22"><a href="https://blog.pagefault-limited.co.uk/category/open-source/openocd">openocd</a>
1413</li>
1414	<li class="cat-item cat-item-66"><a href="https://blog.pagefault-limited.co.uk/category/os">OS</a>
1415</li>
1416	<li class="cat-item cat-item-16"><a href="https://blog.pagefault-limited.co.uk/category/electronics/tools/oscilloscope">Oscilloscope</a>
1417</li>
1418	<li class="cat-item cat-item-17"><a href="https://blog.pagefault-limited.co.uk/category/programming">Programming</a>
1419</li>
1420	<li class="cat-item cat-item-49"><a href="https://blog.pagefault-limited.co.uk/category/electronics/ic/ram">RAM</a>
1421</li>
1422	<li class="cat-item cat-item-87"><a href="https://blog.pagefault-limited.co.uk/category/electronics/modules/relay">Relay</a>
1423</li>
1424	<li class="cat-item cat-item-11"><a href="https://blog.pagefault-limited.co.uk/category/electronics/tools">Tools</a>
1425</li>
1426	<li class="cat-item cat-item-71"><a href="https://blog.pagefault-limited.co.uk/category/os/linux/vnc">VNC</a>
1427</li>
1428	<li class="cat-item cat-item-83"><a href="https://blog.pagefault-limited.co.uk/category/electronics/modules/wemos">Wemos</a>
1429</li>
1430			</ul>
1431
1432			</nav></section><section id="recent-comments-2" class="widget widget_recent_comments"><h2 class="widget-title">Recent Comments</h2>
1432<nav aria-label="Recent Comments"><ul id="recentcomments"><li class="recentcomments"><span class="comment-author-link">Don</span> on <a href="https://blog.pagefault-limited.co.uk/esp-01s-relay-module-v1-0#comment-384">ESP-01S Relay Module V1.0</a></li><li class="recentcomments"><span class="comment-author-link">Juergen Roehrbein</span> on <a href="https://blog.pagefault-limited.co.uk/quick-setup-of-vnc-server-on-headless-machines-debian#comment-383">Script: Quick &#038; simple setup of VNC server on headless machines (Debian Based OSes)</a></li><li class="recentcomments"><span class="comment-author-link">pullGuy</span> on <a href="https://blog.pagefault-limited.co.uk/quick-setup-of-vnc-server-on-headless-machines-debian#comment-379">Script: Quick &#038; simple setup of VNC server on headless machines (Debian Based OSes)</a></li><li class="recentcomments"><span class="comment-author-link">Bilal Inamdar</span> on <a href="https://blog.pagefault-limited.co.uk/esp-01s-relay-module-v1-0#comment-378">ESP-01S Relay Module V1.0</a></li><li class="recentcomments"><span class="comment-author-link">Don</span> on <a href="https://blog.pagefault-limited.co.uk/adding-digital-channels-to-the-dso-150-oscilloscope-and-flashing-new-firmware#comment-377">Adding Digital Channels to the DSO-150 Oscilloscope And Flashing New Firmware</a></li></ul></nav></section><section id="archives-2" class="widget widget_archive"><h2 class="widget-title">Archives</h2><nav aria-label="Archives">
1433			<ul>
1434					<li><a href='https://blog.pagefault-limited.co.uk/2021/01'>January 2021</a></li>
1435	<li><a href='https://blog.pagefault-limited.co.uk/2020/12'>December 2020</a></li>
1436	<li><a href='https://blog.pagefault-limited.co.uk/2019/04'>April 2019</a></li>
1437	<li><a href='https://blog.pagefault-limited.co.uk/2019/03'>March 2019</a></li>
1438	<li><a href='https://blog.pagefault-limited.co.uk/2018/07'>July 2018</a></li>
1439	<li><a href='https://blog.pagefault-limited.co.uk/2018/02'>February 2018</a></li>
1440			</ul>
1441
1442			</nav></section>	</aside><!-- .sidebar .widget-area -->
1443
1444		</div><!-- .site-content -->
1445
1446		<footer id="colophon" class="site-footer">
1447							<nav class="main-navigation" aria-label="Footer primary menu">
1448					<div class="menu-footer-container"><ul id="menu-footer-1" class="primary-menu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-51736"><a rel="privacy-policy" href="https://blog.pagefault-limited.co.uk/privacy-policy">Privacy Policy</a></li>
1449<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-51744"><a href="https://blog.pagefault-limited.co.uk/contact-us">Contact Us</a></li>
1450</ul></div>				</nav><!-- .main-navigation -->
1451			
1452			
1453			<div class="site-info">
1454								<span class="site-title"><a href="https://blog.pagefault-limited.co.uk/" rel="home">Pagefault Blog</a></span>
1455				<a class="privacy-policy-link" href="https://blog.pagefault-limited.co.uk/privacy-policy" rel="privacy-policy">Privacy Policy</a><span role="separator" aria-hidden="true"></span>				<a href="https://en-gb.wordpress.org/" class="imprint">
1456					Proudly powered by WordPress				</a>
1457			</div><!-- .site-info -->
1458		</footer><!-- .site-footer -->
1459	</div><!-- .site-inner -->
1460</div><!-- .site -->
1461
1462<script type="speculationrules">
1463{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/twentysixteen\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
1464</script>
1464
1465<!-- Enter your scripts here --><style id='core-block-supports-inline-css'>
1466.wp-block-gallery.wp-block-gallery-1{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-2{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-3{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-4{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-5{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-6{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-7{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}.wp-block-gallery.wp-block-gallery-8{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}
1467</style>
1468<script src="https://blog.pagefault-limited.co.uk/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" id="wp-hooks-js"></script>
vendor: 1 bytes, line 1468
1468
1469<script src="https://blog.pagefault-limited.co.uk/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script>
vendor: 1 bytes, line 1469
1469
1470<script id="wp-i18n-js-after">
1471wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
1472</script>
vendor: 1 bytes, line 1472
1472
1473<script src="https://blog.pagefault-limited.co.uk/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0.6" id="swv-js"></script>
vendor: 1 bytes, line 1473
1473
1474<script id="contact-form-7-js-translations">
1475( function( domain, translations ) {
1476	var localeData = translations.locale_data[ domain ] || translations.locale_data.messages;
1477	localeData[""].domain = domain;
1478	wp.i18n.setLocaleData( localeData, domain );
1479} )( "contact-form-7", {"translation-revision-date":"2024-05-21 11:58:24+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n != 1;","lang":"en_GB"},"Error:":["Error:"]}},"comment":{"reference":"includes\/js\/index.js"}} );
1480</script>
vendor: 1 bytes, line 1480
1480
1481<script id="contact-form-7-js-before">
1482var wpcf7 = {
1483    "api": {
1484        "root": "https:\/\/blog.pagefault-limited.co.uk\/wp-json\/",
1485        "namespace": "contact-form-7\/v1"
1486    }
1487};
1488</script>
vendor: 1 bytes, line 1488
1488
1489<script src="https://blog.pagefault-limited.co.uk/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0.6" id="contact-form-7-js"></script>
vendor: 1 bytes, line 1489
1489
1490<script id="collapseomatic-js-js-before">
1491const com_options = {"colomatduration":"fast","colomatslideEffect":"slideFade","colomatpauseInit":"","colomattouchstart":""}
1492</script>
vendor: 1 bytes, line 1492
1492
1493<script src="https://blog.pagefault-limited.co.uk/wp-content/plugins/jquery-collapse-o-matic/js/collapse.js?ver=1.7.2" id="collapseomatic-js-js"></script>
vendor: 1 bytes, line 1493
1493
1494<script id="toc-front-js-extra">
1495var tocplus = {"visibility_show":"show","visibility_hide":"hide","width":"Auto"};
1496</script>
vendor: 1 bytes, line 1496
1496
1497<script src="https://blog.pagefault-limited.co.uk/wp-content/plugins/table-of-contents-plus/front.min.js?ver=2411.1" id="toc-front-js"></script>
vendor: 1 bytes, line 1497
1497
1498<script src="https://blog.pagefault-limited.co.uk/wp-includes/js/comment-reply.min.js?ver=6.8.10" id="comment-reply-js" async data-wp-strategy="async"></script>
vendor: 1 bytes, line 1498
1498
1499<script src="https://blog.pagefault-limited.co.uk/wp-includes/js/jquery/jquery.query.js?ver=2.2.3" id="jquery-query-js"></script>
vendor: 1 bytes, line 1499
1499
1500<script src="https://blog.pagefault-limited.co.uk/wp-content/plugins/rdp-wiki-embed/pl/js/url.min.js?ver=1.0" id="jquery-url-js"></script>
vendor: 1 bytes, line 1500
1500
1501<script id="jquery-lazyloadxt-js-extra">
1502var a3_lazyload_params = {"apply_images":"1","apply_videos":"1"};
1503</script>
vendor: 1 bytes, line 1503
1503
1504<script src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.extra.min.js?ver=2.7.3" id="jquery-lazyloadxt-js"></script>
vendor: 1 bytes, line 1504
1504
1505<script src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.srcset.min.js?ver=2.7.3" id="jquery-lazyloadxt-srcset-js"></script>
vendor: 1 bytes, line 1505
1505
1506<script id="jquery-lazyloadxt-extend-js-extra">
1507var a3_lazyload_extend_params = {"edgeY":"0","horizontal_container_classnames":""};
1508</script>
vendor: 1 bytes, line 1508
1508
1509<script src="//blog.pagefault-limited.co.uk/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.extend.js?ver=2.7.3" id="jquery-lazyloadxt-extend-js"></script>
vendor: 1 bytes, line 1509
1509
1510<script src="https://blog.pagefault-limited.co.uk/wp-includes/js/dist/vendor/react.min.js?ver=18.3.1.1" id="react-js"></script>
vendor: 1 bytes, line 1510
1510
1511<script src="https://blog.pagefault-limited.co.uk/wp-includes/js/dist/vendor/react-dom.min.js?ver=18.3.1.1" id="react-dom-js"></script>
vendor: 1 bytes, line 1511
1511
1512<script id="pdfp-pdfposter-view-script-js-extra">
1513var pdfp = {"dir":"https:\/\/blog.pagefault-limited.co.uk\/wp-content\/plugins\/pdf-poster\/","ajaxUrl":"https:\/\/blog.pagefault-limited.co.uk\/wp-admin\/admin-ajax.php","adobeClientKey":"","isPipe":""};
1514</script>
vendor: 1 bytes, line 1514
1514
1515<script src="https://blog.pagefault-limited.co.uk/wp-content/plugins/pdf-poster/build/blocks/pdf-poster/view.js?ver=11336af48f4e7675a9f8" id="pdfp-pdfposter-view-script-js" defer data-wp-strategy="defer"></script>
vendor: 1 bytes, line 1515
1515
1516<script id="pdfp-public-js-extra">
1517var pdfp = {"dir":"https:\/\/blog.pagefault-limited.co.uk\/wp-content\/plugins\/pdf-poster\/","ajaxUrl":"https:\/\/blog.pagefault-limited.co.uk\/wp-admin\/admin-ajax.php","adobeClientKey":"","isPipe":""};
1518</script>
vendor: 1 bytes, line 1518
1518
1519<script src="https://blog.pagefault-limited.co.uk/wp-content/plugins/pdf-poster/build/public.js?ver=2.2.3" id="pdfp-public-js"></script>
vendor: 1 bytes, line 1519
1519
1520<script src='https://documentcloud.adobe.com/view-sdk/viewer.js'></script>
1520    <style>
1521            </style>
1522
1523
1524    </body>
1525</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.