summaryrefslogtreecommitdiff
path: root/source/microcontrollers
diff options
context:
space:
mode:
authorElena ``of Valhalla'' Grandi <valhalla@trueelena.org>2024-08-02 15:58:07 +0200
committerElena ``of Valhalla'' Grandi <valhalla@trueelena.org>2024-08-02 15:58:07 +0200
commit3f772b7b88f4992091a6397644ad2beb96ad9c10 (patch)
tree7e41620ba3ad5098b3c6c5801b8c06611fb71983 /source/microcontrollers
parent207dff3ef34c6f501f4b88ceacf2f234c13f4d1c (diff)
Writing code on the Maple Mini
Diffstat (limited to 'source/microcontrollers')
-rw-r--r--source/microcontrollers/index.rst1
-rw-r--r--source/microcontrollers/maple_mini/index.rst103
2 files changed, 104 insertions, 0 deletions
diff --git a/source/microcontrollers/index.rst b/source/microcontrollers/index.rst
index 0e5ba7c..a44719c 100644
--- a/source/microcontrollers/index.rst
+++ b/source/microcontrollers/index.rst
@@ -6,4 +6,5 @@
:maxdepth: 2
:caption: Contents:
+ maple_mini/index
olimex-esp32-pro/index
diff --git a/source/microcontrollers/maple_mini/index.rst b/source/microcontrollers/maple_mini/index.rst
new file mode 100644
index 0000000..bf8a9b2
--- /dev/null
+++ b/source/microcontrollers/maple_mini/index.rst
@@ -0,0 +1,103 @@
+************
+ Maple Mini
+************
+
+Programming with OpenOCD
+========================
+
+The Maple Mini can be programmed using OpenOCD_ and a suitable
+programmer.
+
+.. _OpenOCD: https://openocd.sourceforge.io/
+
+To program a Maple Mini the following PINs should be connected:
+
+==== ===
+Prog MM
+==== ===
+GND GND
+3V3 Vcc
+MOSI D22
+CLK D21
+==== ===
+
+If the maple mini still has the original firmware it may be necessary to
+press and hold the button (at least 1 s) while resetting the board, to
+enter DMU mode.
+
+Create the file ``openocd.cfg`` according to the programmer you are
+using, and then run::
+
+ openocd -f openocd.cfg
+ telnet localhost 4444
+
+To then write ``<binary>.elf`` to the Maple Mini use the following
+commands::
+
+ reset halt
+ stm32f1x unlock 0
+ reset halt
+ flash write_image erase <binary>.elf
+ stm32f1x lock 0
+ reset halt
+
+With an ST-Link V2 Clone from Baite
+-----------------------------------
+
+The required PINs on the ST-Link V2 Clone from Baite are as follows,
+with the notch on the left::
+
+ +------+
+ | 1 2 | 3V3
+ 5V | 3 4 | CLK (MM 21)
+ 5 6 | MOSI (MM 22)
+ GND | 7 8 |
+ | 9 10 |
+ +------+
+
+``openocd.cfg`` should have the following contents::
+
+ source [find interface/stlink.cfg]
+
+ source [find target/stm32f1x.cfg]
+
+
+With a Bus Pirate v3.6
+----------------------
+
+``openocd.cfg`` should have the following contents::
+
+ source [find interface/buspirate.cfg]
+
+ buspirate_port /dev/ttyUSB0
+ buspirate_vreg 1
+ buspirate_mode normal
+ transport select swd
+
+ source [find target/stm32f1x.cfg]
+
+Programmin with gnuk/tool/stlinkv2.py
+=====================================
+
+gnuk also provides a tool to write binaries; first the board should be
+unlocked with::
+
+ ./stlinkv2.py -u
+
+then reset (while pressing the button), and the flash erased::
+
+ ./stlinkv2.py -e
+
+and finally it can be written with::
+
+ ./stlinkv2.py <binary>.elf
+
+See also
+========
+
+* https://web.archive.org/web/20150502182337/http://nodonogard.blogspot.com/2014/08/writting-gnuk-binary-to-fst-01-using-st.html
+* https://www.earth.li/~noodles/blog/2017/02/gnuk-on-maple-mini.html
+* https://www.earth.li/~noodles/blog/2015/08/program-fst01-with-buspirate.html
+
+..
+ vim: set filetype=rst: