Skip to content

Commit bb93495

Browse files
committed
Deploy full documentation and product brief [skip ci]
1 parent 36d08b9 commit bb93495

23 files changed

+352
-46
lines changed

docs/1_2_0_about.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ <h2> Contents </h2>
420420

421421
<section id="general-information">
422422
<h1>General Information<a class="headerlink" href="#general-information" title="Link to this heading">#</a></h1>
423-
<p>The <strong>CH552 Multi-Protocol Programmer</strong> is a compact and versatile development tool designed for high-precision embedded system applications. It supports a broad range of protocols and device architectures, including <strong>AVR</strong>, <strong>ARM (CMSIS-DAP)</strong>, and <strong>CPLD (MAX II)</strong>. Its USB connectivity enables direct interfacing with standard development environments, enabling:</p>
423+
<p>The <strong>Multi-Protocol Programmer</strong> is a compact and versatile development tool designed for high-precision embedded system applications. It supports a broad range of protocols and device architectures, including <strong>AVR</strong>, <strong>ARM (CMSIS-DAP)</strong>, and <strong>CPLD (MAX II)</strong>. Its USB connectivity enables direct interfacing with standard development environments, enabling:</p>
424424
<ul class="simple">
425425
<li><p>In-system programming (ISP)</p></li>
426426
<li><p>Step-through debugging</p></li>

docs/2_1_0_avr_firmware.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ <h2>Firmware Update Procedure<a class="headerlink" href="#firmware-update-proced
437437
<p>The following procedure assumes that the <cite>unit_ch55x_docker_sdk</cite> repository is already cloned on your system.
438438
Ensure that <strong>Docker Desktop</strong> is running before executing the build commands, as they rely on Docker containers for compilation.</p>
439439
</div>
440-
<p>To commence the utilization of the <strong>CH552 USB Multi-Protocol Programmer</strong> in PICO ASP mode, execute the following procedures:</p>
440+
<p>To commence the utilization of the <strong>Multi-Protocol Programmer</strong> in PICO ASP mode, execute the following procedures:</p>
441441
<ol class="arabic simple">
442442
<li><p>Navigate to the SDK Root Directory</p></li>
443443
</ol>

docs/2_2_0_started.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@ <h3>Upload Command<a class="headerlink" href="#upload-command" title="Link to th
529529
<p>Explanation:</p>
530530
<ul class="simple">
531531
<li><p><code class="docutils literal notranslate"><span class="pre">-p</span> <span class="pre">m328p</span></code> specifies the target device (ATmega328P).</p></li>
532-
<li><p><code class="docutils literal notranslate"><span class="pre">-c</span> <span class="pre">usbasp</span></code> sets the programmer to the CH552 USB Multi-Protocol Programmer.</p></li>
532+
<li><p><code class="docutils literal notranslate"><span class="pre">-c</span> <span class="pre">usbasp</span></code> sets the programmer to the Multi-Protocol Programmer.</p></li>
533533
<li><p><code class="docutils literal notranslate"><span class="pre">-U</span> <span class="pre">flash:w:blink.hex</span></code> uploads the hex file to flash memory.</p></li>
534534
</ul>
535535
<p>Replace <code class="docutils literal notranslate"><span class="pre">m328p</span></code> with the appropriate identifier for your specific AVR device (e.g., <code class="docutils literal notranslate"><span class="pre">t88</span></code> for ATtiny88). A full list of supported devices is available in the <a class="reference external" href="http://www.nongnu.org/avrdude/user-manual/avrdude.html#Device-Options">AVRDUDE user manual</a>.</p>

docs/2_3_0_ide.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,11 +429,11 @@ <h2>Installing the Bootloader on ATMEGA328P<a class="headerlink" href="#installi
429429
<section id="required-materials">
430430
<h2>Required Materials<a class="headerlink" href="#required-materials" title="Link to this heading">#</a></h2>
431431
<ol class="arabic simple">
432-
<li><p><strong>UNIT Multi-Protocol Programmer</strong></p></li>
432+
<li><p><strong>Multi-Protocol Programmer</strong></p></li>
433433
</ol>
434434
<div style="text-align: center;">
435435
<img src="./_static/programmer.png" alt="Multi-Protocol Programmer" style="width: 50%;">
436-
<p>UNIT Multi-Protocol Programmer</p>
436+
<p>Multi-Protocol Programmer</p>
437437
</div><ol class="arabic simple" start="2">
438438
<li><p><strong>ATMEGA328P Microcontroller</strong></p></li>
439439
</ol>

docs/3_1_0_openocd.html

Lines changed: 137 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,16 @@ <h2> Contents </h2>
406406
</li>
407407
</ul>
408408
</li>
409-
<li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#pyocd">PyOCD</a></li>
409+
<li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#pyocd">PyOCD</a><ul class="visible nav section-nav flex-column">
410+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#basic-syntax">Basic Syntax</a></li>
411+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#configuration-file">Configuration File</a></li>
412+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#commands">Commands</a></li>
413+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#cmsis-pack-targets">CMSIS-Pack Targets</a></li>
414+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#example-workflow">Example Workflow</a></li>
415+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#references">References</a></li>
416+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#command-help">Command Help</a></li>
417+
</ul>
418+
</li>
410419
</ul>
411420

412421
</nav>
@@ -485,9 +494,126 @@ <h3>Selecting Your Microcontroller Target<a class="headerlink" href="#selecting-
485494
</section>
486495
<section id="pyocd">
487496
<h1>PyOCD<a class="headerlink" href="#pyocd" title="Link to this heading">#</a></h1>
497+
<p>PyOCD is a command-line tool for interacting with ARM Cortex-M microcontrollers. It supports flashing, erasing, debugging, and low-level memory access using CMSIS-DAP, DAPLink, ST-Link, and other probes.</p>
498+
<section id="basic-syntax">
499+
<h2>Basic Syntax<a class="headerlink" href="#basic-syntax" title="Link to this heading">#</a></h2>
500+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>&lt;command&gt;<span class="w"> </span><span class="o">[</span>OPTIONS<span class="o">]</span>
501+
</pre></div>
502+
</div>
503+
<p>You can specify the target using <code class="docutils literal notranslate"><span class="pre">-t</span> <span class="pre">&lt;target&gt;</span></code> or through a configuration file using <code class="docutils literal notranslate"><span class="pre">--config</span> <span class="pre">&lt;file.yaml&gt;</span></code>.</p>
504+
</section>
505+
<section id="configuration-file">
506+
<h2>Configuration File<a class="headerlink" href="#configuration-file" title="Link to this heading">#</a></h2>
507+
<p>Use a YAML configuration file to define global options:</p>
508+
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="c1"># Misc/pyocd.yaml</span>
509+
<span class="nt">target_override</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">py32f003x6</span>
510+
<span class="nt">frequency</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1000000</span>
511+
<span class="nt">log_level</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">info</span>
512+
</pre></div>
513+
</div>
514+
<p>To load this config:</p>
515+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>erase<span class="w"> </span>--config<span class="w"> </span>./Misc/pyocd.yaml
516+
</pre></div>
517+
</div>
518+
</section>
519+
<section id="commands">
520+
<h2>Commands<a class="headerlink" href="#commands" title="Link to this heading">#</a></h2>
521+
<p>Erase flash memory of the target device.</p>
522+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>erase<span class="w"> </span>-t<span class="w"> </span>py32f003x6<span class="w"> </span><span class="o">[</span>OPTIONS<span class="o">]</span>
523+
</pre></div>
524+
</div>
525+
<p>Options:</p>
526+
<ul class="simple">
527+
<li><p><code class="docutils literal notranslate"><span class="pre">--chip</span></code>: Erase the entire flash memory.</p></li>
528+
<li><p><code class="docutils literal notranslate"><span class="pre">--sector</span> <span class="pre">&lt;ADDR&gt;</span></code>: Erase a single sector by address.</p></li>
529+
<li><p><code class="docutils literal notranslate"><span class="pre">--config</span> <span class="pre">&lt;file.yaml&gt;</span></code>: Load configuration from YAML file.</p></li>
530+
</ul>
531+
<p>Example:</p>
488532
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>erase<span class="w"> </span>-t<span class="w"> </span>py32f003x6<span class="w"> </span>--chip<span class="w"> </span>--config<span class="w"> </span>./Misc/pyocd.yaml
489533
</pre></div>
490534
</div>
535+
<p>Flash a binary, hex, or ELF file to the target.</p>
536+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>flash<span class="w"> </span>&lt;file&gt;<span class="w"> </span>-t<span class="w"> </span>py32f003x6<span class="w"> </span><span class="o">[</span>OPTIONS<span class="o">]</span>
537+
</pre></div>
538+
</div>
539+
<p>Options:</p>
540+
<ul class="simple">
541+
<li><p><code class="docutils literal notranslate"><span class="pre">--base-address</span> <span class="pre">&lt;addr&gt;</span></code>: Override the base address (for .bin files).</p></li>
542+
<li><p><code class="docutils literal notranslate"><span class="pre">--verify</span></code>: Verify flash contents after writing.</p></li>
543+
<li><p><code class="docutils literal notranslate"><span class="pre">--erase=chip|sector|auto</span></code>: Select erase mode.</p></li>
544+
<li><p><code class="docutils literal notranslate"><span class="pre">--format</span> <span class="pre">bin|hex|elf</span></code>: Force file format.</p></li>
545+
<li><p><code class="docutils literal notranslate"><span class="pre">--config</span> <span class="pre">&lt;file.yaml&gt;</span></code>: Load YAML config.</p></li>
546+
</ul>
547+
<p>Example:</p>
548+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>flash<span class="w"> </span>firmware.hex<span class="w"> </span>-t<span class="w"> </span>py32f003x6<span class="w"> </span>--erase<span class="o">=</span>chip<span class="w"> </span>--verify
549+
</pre></div>
550+
</div>
551+
<p>Start a GDB server for remote debugging.</p>
552+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>gdbserver<span class="w"> </span>-t<span class="w"> </span>py32f003x6<span class="w"> </span><span class="o">[</span>OPTIONS<span class="o">]</span>
553+
</pre></div>
554+
</div>
555+
<p>Options:</p>
556+
<ul class="simple">
557+
<li><p><code class="docutils literal notranslate"><span class="pre">--port</span> <span class="pre">&lt;number&gt;</span></code>: GDB server port.</p></li>
558+
<li><p><code class="docutils literal notranslate"><span class="pre">--telnet-port</span> <span class="pre">&lt;number&gt;</span></code>: Telnet monitor port.</p></li>
559+
<li><p><code class="docutils literal notranslate"><span class="pre">--persist</span></code>: Keep the server alive after GDB disconnects.</p></li>
560+
<li><p><code class="docutils literal notranslate"><span class="pre">--config</span> <span class="pre">&lt;file.yaml&gt;</span></code>: Load YAML config.</p></li>
561+
</ul>
562+
<p>Reset the target microcontroller.</p>
563+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>reset<span class="w"> </span>-t<span class="w"> </span>py32f003x6<span class="w"> </span><span class="o">[</span>OPTIONS<span class="o">]</span>
564+
</pre></div>
565+
</div>
566+
<p>Options:</p>
567+
<ul class="simple">
568+
<li><p><code class="docutils literal notranslate"><span class="pre">--halt</span></code>: Halt the CPU after reset.</p></li>
569+
<li><p><code class="docutils literal notranslate"><span class="pre">--config</span> <span class="pre">&lt;file.yaml&gt;</span></code>: Load YAML config.</p></li>
570+
</ul>
571+
<p>List connected debug probes and supported targets.</p>
572+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>list
573+
</pre></div>
574+
</div>
575+
<p>Read and write memory directly.</p>
576+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>read32<span class="w"> </span>0x08000000<span class="w"> </span><span class="m">4</span>
577+
pyocd<span class="w"> </span>write32<span class="w"> </span>0x20000000<span class="w"> </span>0x12345678
578+
</pre></div>
579+
</div>
580+
</section>
581+
<section id="cmsis-pack-targets">
582+
<h2>CMSIS-Pack Targets<a class="headerlink" href="#cmsis-pack-targets" title="Link to this heading">#</a></h2>
583+
<p>To add custom target support (e.g., <code class="docutils literal notranslate"><span class="pre">py32f003x6</span></code>), use:</p>
584+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>pack<span class="w"> </span>install<span class="w"> </span>py32f003x6
585+
</pre></div>
586+
</div>
587+
<p>Or add a local <cite>.pdsc</cite> file:</p>
588+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>pack<span class="w"> </span>add<span class="w"> </span>./path/to/PY32F003.pdsc
589+
</pre></div>
590+
</div>
591+
</section>
592+
<section id="example-workflow">
593+
<h2>Example Workflow<a class="headerlink" href="#example-workflow" title="Link to this heading">#</a></h2>
594+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>list
595+
pyocd<span class="w"> </span>erase<span class="w"> </span>-t<span class="w"> </span>py32f003x6<span class="w"> </span>--chip
596+
pyocd<span class="w"> </span>flash<span class="w"> </span>build/main.hex<span class="w"> </span>-t<span class="w"> </span>py32f003x6<span class="w"> </span>--verify
597+
pyocd<span class="w"> </span>gdbserver<span class="w"> </span>-t<span class="w"> </span>py32f003x6
598+
pyocd<span class="w"> </span>reset<span class="w"> </span>-t<span class="w"> </span>py32f003x6<span class="w"> </span>--halt
599+
</pre></div>
600+
</div>
601+
</section>
602+
<section id="references">
603+
<h2>References<a class="headerlink" href="#references" title="Link to this heading">#</a></h2>
604+
<ul class="simple">
605+
<li><p><a class="reference external" href="https://pyocd.io/">https://pyocd.io/</a></p></li>
606+
<li><p><a class="github reference external" href="https://github.com/pyocd/pyocd">pyocd/pyocd</a></p></li>
607+
</ul>
608+
</section>
609+
<section id="command-help">
610+
<h2>Command Help<a class="headerlink" href="#command-help" title="Link to this heading">#</a></h2>
611+
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pyocd<span class="w"> </span>--help
612+
pyocd<span class="w"> </span>flash<span class="w"> </span>--help
613+
pyocd<span class="w"> </span>erase<span class="w"> </span>--help
614+
</pre></div>
615+
</div>
616+
</section>
491617
</section>
492618

493619

@@ -542,7 +668,16 @@ <h1>PyOCD<a class="headerlink" href="#pyocd" title="Link to this heading">#</a><
542668
</li>
543669
</ul>
544670
</li>
545-
<li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#pyocd">PyOCD</a></li>
671+
<li class="toc-h1 nav-item toc-entry"><a class="reference internal nav-link" href="#pyocd">PyOCD</a><ul class="visible nav section-nav flex-column">
672+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#basic-syntax">Basic Syntax</a></li>
673+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#configuration-file">Configuration File</a></li>
674+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#commands">Commands</a></li>
675+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#cmsis-pack-targets">CMSIS-Pack Targets</a></li>
676+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#example-workflow">Example Workflow</a></li>
677+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#references">References</a></li>
678+
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#command-help">Command Help</a></li>
679+
</ul>
680+
</li>
546681
</ul>
547682

548683
</nav></div>

0 commit comments

Comments
 (0)