<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://www.marcelpost.com/wiki/index.php?action=history&amp;feed=atom&amp;title=RS41-flashing</id>
	<title>RS41-flashing - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.marcelpost.com/wiki/index.php?action=history&amp;feed=atom&amp;title=RS41-flashing"/>
	<link rel="alternate" type="text/html" href="https://www.marcelpost.com/wiki/index.php?title=RS41-flashing&amp;action=history"/>
	<updated>2026-06-10T03:20:31Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://www.marcelpost.com/wiki/index.php?title=RS41-flashing&amp;diff=3411&amp;oldid=prev</id>
		<title>Admin at 22:35, 15 September 2020</title>
		<link rel="alternate" type="text/html" href="https://www.marcelpost.com/wiki/index.php?title=RS41-flashing&amp;diff=3411&amp;oldid=prev"/>
		<updated>2020-09-15T22:35:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;If you&amp;#039;ve just retrieved an RS41 radiosonde and wonder how to get started with flashing it with your own code then this page is for you.&lt;br /&gt;
&lt;br /&gt;
===stopping the transmitter===&lt;br /&gt;
&lt;br /&gt;
When an RS41 is launched it holds 2x AA batteries that will keep the radiosonde transmitting for about 6 hours. The simplest way to stop the RS41 from transmitting is to press the on/off button briefly. The button is located under the sticker with the serial number, but just press it until the LED turns off.&lt;br /&gt;
&lt;br /&gt;
[[File:RS41-on-off-button.jpg]]&lt;br /&gt;
&lt;br /&gt;
===open the case===&lt;br /&gt;
&lt;br /&gt;
Pry open the two plastic tabs on the top and bottom to separate the two styrofoam halves that encapsulates the RS41 circuit board.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Connecting to the RS41 programming header===&lt;br /&gt;
&lt;br /&gt;
If you have a 2mm-pitch 2x5 IDC connector laying around you can use that, but most people will just have to solder four wires to the programming header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
____________________&lt;br /&gt;
____________________|   (circuit board)&lt;br /&gt;
    | 2 4 6 8 10 |&lt;br /&gt;
    | 1 3 5 7 9  |   (programming connector)&lt;br /&gt;
    +------------+&lt;br /&gt;
&lt;br /&gt;
  pin   &lt;br /&gt;
------------&lt;br /&gt;
   1    GND&lt;br /&gt;
   2&lt;br /&gt;
   3&lt;br /&gt;
   4    Vcc  (3.3V !!)&lt;br /&gt;
   5&lt;br /&gt;
   6&lt;br /&gt;
   7&lt;br /&gt;
   8    SWCLK&lt;br /&gt;
   9    SWDIO&lt;br /&gt;
  10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using a USB ST-Link programming dongle we connect the wires.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===setting up the STM32 compiler environment===&lt;br /&gt;
&lt;br /&gt;
apt-get install &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===install the ST-Link software===&lt;br /&gt;
&lt;br /&gt;
Don&amp;#039;t use the Debian apt version of stlink, but instead use the one on github or grab it with pip (python installer)&lt;br /&gt;
&lt;br /&gt;
git clone https://github.com/stlink-org/stlink.git&lt;br /&gt;
&lt;br /&gt;
pip&lt;br /&gt;
&lt;br /&gt;
===clear the write-protect flag of the flash memory===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
start stlink debugger&lt;br /&gt;
&lt;br /&gt;
- batteries not required (power STM32 straight from STLink)&lt;br /&gt;
- button press not required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
in one screen run:&lt;br /&gt;
&lt;br /&gt;
---[openocd debugger]---&lt;br /&gt;
map@zhora:~/local/radiosonde-rs41$ openocd -f /usr/share/openocd/scripts/interface/stlink-v2.cfg -f /usr/share/openocd/scripts/target/stm32f1x.cfg &lt;br /&gt;
Open On-Chip Debugger 0.10.0&lt;br /&gt;
Licensed under GNU GPL v2&lt;br /&gt;
For bug reports, read&lt;br /&gt;
        http://openocd.org/doc/doxygen/bugs.html&lt;br /&gt;
Info : auto-selecting first available session transport &amp;quot;hla_swd&amp;quot;. To override use &amp;#039;transport select &amp;lt;transport&amp;gt;&amp;#039;.&lt;br /&gt;
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD&lt;br /&gt;
adapter speed: 1000 kHz&lt;br /&gt;
adapter_nsrst_delay: 100&lt;br /&gt;
none separate&lt;br /&gt;
Info : Unable to match requested speed 1000 kHz, using 950 kHz&lt;br /&gt;
Info : Unable to match requested speed 1000 kHz, using 950 kHz&lt;br /&gt;
Info : clock speed 950 kHz&lt;br /&gt;
Info : STLINK v2 JTAG v29 API v2 SWIM v7 VID 0x0483 PID 0x3748&lt;br /&gt;
Info : using stlink api v2&lt;br /&gt;
Info : Target voltage: 3.306883&lt;br /&gt;
Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints&lt;br /&gt;
---[]---&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
then run telnet on another screen&lt;br /&gt;
&lt;br /&gt;
---[telnet localhost 4444]---&lt;br /&gt;
map@zhora:~/local/radiosonde-rs41$ telnet localhost 4444&lt;br /&gt;
Trying ::1...&lt;br /&gt;
Trying 127.0.0.1...&lt;br /&gt;
Connected to localhost.&lt;br /&gt;
Escape character is &amp;#039;^]&amp;#039;.&lt;br /&gt;
Open On-Chip Debugger&lt;br /&gt;
&amp;gt; reset&lt;br /&gt;
&amp;gt; halt&lt;br /&gt;
target halted due to debug-request, current mode: Handler HardFault&lt;br /&gt;
xPSR: 0x41000003 pc: 0x0800d5fc msp: 0x200015c0&lt;br /&gt;
&amp;gt; flash info 0  &lt;br /&gt;
device id = 0x10016420&lt;br /&gt;
STM32 flash size failed, probe inaccurate - assuming 128k flash&lt;br /&gt;
flash size = 128kbytes&lt;br /&gt;
#0 : stm32f1x at 0x08000000, size 0x00020000, buswidth 0, chipwidth 0&lt;br /&gt;
        #  0: 0x00000000 (0x400 1kB) protected&lt;br /&gt;
        #  1: 0x00000400 (0x400 1kB) protected&lt;br /&gt;
        #  2: 0x00000800 (0x400 1kB) protected&lt;br /&gt;
        #  3: 0x00000c00 (0x400 1kB) protected&lt;br /&gt;
        #  4: 0x00001000 (0x400 1kB) protected&lt;br /&gt;
        #  5: 0x00001400 (0x400 1kB) protected&lt;br /&gt;
        #  6: 0x00001800 (0x400 1kB) protected&lt;br /&gt;
        #  7: 0x00001c00 (0x400 1kB) protected&lt;br /&gt;
        #  8: 0x00002000 (0x400 1kB) protected&lt;br /&gt;
        #  9: 0x00002400 (0x400 1kB) protected&lt;br /&gt;
        # 10: 0x00002800 (0x400 1kB) protected&lt;br /&gt;
        # 11: 0x00002c00 (0x400 1kB) protected&lt;br /&gt;
        # 12: 0x00003000 (0x400 1kB) protected&lt;br /&gt;
        # 13: 0x00003400 (0x400 1kB) protected&lt;br /&gt;
        # 14: 0x00003800 (0x400 1kB) protected&lt;br /&gt;
        # 15: 0x00003c00 (0x400 1kB) protected&lt;br /&gt;
        # 16: 0x00004000 (0x400 1kB) protected&lt;br /&gt;
        # 17: 0x00004400 (0x400 1kB) protected&lt;br /&gt;
        # 18: 0x00004800 (0x400 1kB) protected&lt;br /&gt;
        # 19: 0x00004c00 (0x400 1kB) protected&lt;br /&gt;
        # 20: 0x00005000 (0x400 1kB) protected&lt;br /&gt;
        # 21: 0x00005400 (0x400 1kB) protected&lt;br /&gt;
        # 22: 0x00005800 (0x400 1kB) protected&lt;br /&gt;
        # 23: 0x00005c00 (0x400 1kB) protected&lt;br /&gt;
        # 24: 0x00006000 (0x400 1kB) protected&lt;br /&gt;
        # 25: 0x00006400 (0x400 1kB) protected&lt;br /&gt;
        # 26: 0x00006800 (0x400 1kB) protected&lt;br /&gt;
        # 27: 0x00006c00 (0x400 1kB) protected&lt;br /&gt;
        # 28: 0x00007000 (0x400 1kB) protected&lt;br /&gt;
        # 29: 0x00007400 (0x400 1kB) protected&lt;br /&gt;
        # 30: 0x00007800 (0x400 1kB) protected&lt;br /&gt;
        # 31: 0x00007c00 (0x400 1kB) protected&lt;br /&gt;
        # 32: 0x00008000 (0x400 1kB) protected&lt;br /&gt;
        # 33: 0x00008400 (0x400 1kB) protected&lt;br /&gt;
        # 34: 0x00008800 (0x400 1kB) protected&lt;br /&gt;
        # 35: 0x00008c00 (0x400 1kB) protected&lt;br /&gt;
        # 36: 0x00009000 (0x400 1kB) protected&lt;br /&gt;
        # 37: 0x00009400 (0x400 1kB) protected&lt;br /&gt;
        # 38: 0x00009800 (0x400 1kB) protected&lt;br /&gt;
        # 39: 0x00009c00 (0x400 1kB) protected&lt;br /&gt;
        # 40: 0x0000a000 (0x400 1kB) protected&lt;br /&gt;
        # 41: 0x0000a400 (0x400 1kB) protected&lt;br /&gt;
        # 42: 0x0000a800 (0x400 1kB) protected&lt;br /&gt;
        # 43: 0x0000ac00 (0x400 1kB) protected&lt;br /&gt;
        # 44: 0x0000b000 (0x400 1kB) protected&lt;br /&gt;
        # 45: 0x0000b400 (0x400 1kB) protected&lt;br /&gt;
        # 46: 0x0000b800 (0x400 1kB) protected&lt;br /&gt;
        # 47: 0x0000bc00 (0x400 1kB) protected&lt;br /&gt;
        # 48: 0x0000c000 (0x400 1kB) protected&lt;br /&gt;
        # 49: 0x0000c400 (0x400 1kB) protected&lt;br /&gt;
        # 50: 0x0000c800 (0x400 1kB) protected&lt;br /&gt;
        # 51: 0x0000cc00 (0x400 1kB) protected&lt;br /&gt;
        # 52: 0x0000d000 (0x400 1kB) protected&lt;br /&gt;
        # 53: 0x0000d400 (0x400 1kB) protected&lt;br /&gt;
        # 54: 0x0000d800 (0x400 1kB) protected&lt;br /&gt;
        # 55: 0x0000dc00 (0x400 1kB) protected&lt;br /&gt;
        # 56: 0x0000e000 (0x400 1kB) protected&lt;br /&gt;
        # 57: 0x0000e400 (0x400 1kB) protected&lt;br /&gt;
        # 58: 0x0000e800 (0x400 1kB) protected&lt;br /&gt;
        # 59: 0x0000ec00 (0x400 1kB) protected&lt;br /&gt;
        # 60: 0x0000f000 (0x400 1kB) not protected&lt;br /&gt;
        # 61: 0x0000f400 (0x400 1kB) not protected&lt;br /&gt;
        # 62: 0x0000f800 (0x400 1kB) not protected&lt;br /&gt;
        # 63: 0x0000fc00 (0x400 1kB) not protected&lt;br /&gt;
        # 64: 0x00010000 (0x400 1kB) not protected&lt;br /&gt;
        # 65: 0x00010400 (0x400 1kB) not protected&lt;br /&gt;
        # 66: 0x00010800 (0x400 1kB) not protected&lt;br /&gt;
        # 67: 0x00010c00 (0x400 1kB) not protected&lt;br /&gt;
        # 68: 0x00011000 (0x400 1kB) not protected&lt;br /&gt;
        # 69: 0x00011400 (0x400 1kB) not protected&lt;br /&gt;
        # 70: 0x00011800 (0x400 1kB) not protected&lt;br /&gt;
        # 71: 0x00011c00 (0x400 1kB) not protected&lt;br /&gt;
        # 72: 0x00012000 (0x400 1kB) not protected&lt;br /&gt;
        # 73: 0x00012400 (0x400 1kB) not protected&lt;br /&gt;
        # 74: 0x00012800 (0x400 1kB) not protected&lt;br /&gt;
        # 75: 0x00012c00 (0x400 1kB) not protected&lt;br /&gt;
        # 76: 0x00013000 (0x400 1kB) not protected&lt;br /&gt;
        # 77: 0x00013400 (0x400 1kB) not protected&lt;br /&gt;
        # 78: 0x00013800 (0x400 1kB) not protected&lt;br /&gt;
        # 79: 0x00013c00 (0x400 1kB) not protected&lt;br /&gt;
        # 80: 0x00014000 (0x400 1kB) not protected&lt;br /&gt;
        # 81: 0x00014400 (0x400 1kB) not protected&lt;br /&gt;
        # 82: 0x00014800 (0x400 1kB) not protected&lt;br /&gt;
        # 83: 0x00014c00 (0x400 1kB) not protected&lt;br /&gt;
        # 84: 0x00015000 (0x400 1kB) not protected&lt;br /&gt;
        # 85: 0x00015400 (0x400 1kB) not protected&lt;br /&gt;
        # 86: 0x00015800 (0x400 1kB) not protected&lt;br /&gt;
        # 87: 0x00015c00 (0x400 1kB) not protected&lt;br /&gt;
        # 88: 0x00016000 (0x400 1kB) not protected&lt;br /&gt;
        # 89: 0x00016400 (0x400 1kB) not protected&lt;br /&gt;
        # 90: 0x00016800 (0x400 1kB) not protected&lt;br /&gt;
        # 91: 0x00016c00 (0x400 1kB) not protected&lt;br /&gt;
        # 92: 0x00017000 (0x400 1kB) not protected&lt;br /&gt;
        # 93: 0x00017400 (0x400 1kB) not protected&lt;br /&gt;
        # 94: 0x00017800 (0x400 1kB) not protected&lt;br /&gt;
        # 95: 0x00017c00 (0x400 1kB) not protected&lt;br /&gt;
        # 96: 0x00018000 (0x400 1kB) not protected&lt;br /&gt;
        # 97: 0x00018400 (0x400 1kB) not protected&lt;br /&gt;
        # 98: 0x00018800 (0x400 1kB) not protected&lt;br /&gt;
        # 99: 0x00018c00 (0x400 1kB) not protected&lt;br /&gt;
        #100: 0x00019000 (0x400 1kB) not protected&lt;br /&gt;
        #101: 0x00019400 (0x400 1kB) not protected&lt;br /&gt;
        #102: 0x00019800 (0x400 1kB) not protected&lt;br /&gt;
        #103: 0x00019c00 (0x400 1kB) not protected&lt;br /&gt;
        #104: 0x0001a000 (0x400 1kB) not protected&lt;br /&gt;
        #105: 0x0001a400 (0x400 1kB) not protected&lt;br /&gt;
        #106: 0x0001a800 (0x400 1kB) not protected&lt;br /&gt;
        #107: 0x0001ac00 (0x400 1kB) not protected&lt;br /&gt;
        #108: 0x0001b000 (0x400 1kB) not protected&lt;br /&gt;
        #109: 0x0001b400 (0x400 1kB) not protected&lt;br /&gt;
        #110: 0x0001b800 (0x400 1kB) not protected&lt;br /&gt;
        #111: 0x0001bc00 (0x400 1kB) not protected&lt;br /&gt;
        #112: 0x0001c000 (0x400 1kB) not protected&lt;br /&gt;
        #113: 0x0001c400 (0x400 1kB) not protected&lt;br /&gt;
        #114: 0x0001c800 (0x400 1kB) not protected&lt;br /&gt;
        #115: 0x0001cc00 (0x400 1kB) not protected&lt;br /&gt;
        #116: 0x0001d000 (0x400 1kB) not protected&lt;br /&gt;
        #117: 0x0001d400 (0x400 1kB) not protected&lt;br /&gt;
        #118: 0x0001d800 (0x400 1kB) not protected&lt;br /&gt;
        #119: 0x0001dc00 (0x400 1kB) not protected&lt;br /&gt;
        #120: 0x0001e000 (0x400 1kB) not protected&lt;br /&gt;
        #121: 0x0001e400 (0x400 1kB) not protected&lt;br /&gt;
        #122: 0x0001e800 (0x400 1kB) not protected&lt;br /&gt;
        #123: 0x0001ec00 (0x400 1kB) not protected&lt;br /&gt;
        #124: 0x0001f000 (0x400 1kB) not protected&lt;br /&gt;
        #125: 0x0001f400 (0x400 1kB) not protected&lt;br /&gt;
        #126: 0x0001f800 (0x400 1kB) not protected&lt;br /&gt;
        #127: 0x0001fc00 (0x400 1kB) not protected&lt;br /&gt;
STM32F100 (Low/Medium Density) - Rev: Z&lt;br /&gt;
&amp;gt; &lt;br /&gt;
&amp;gt; reset&lt;br /&gt;
&amp;gt; halt&lt;br /&gt;
&amp;gt; flash protect 0 0 last off&lt;br /&gt;
Device Security Bit Set&lt;br /&gt;
target halted due to breakpoint, current mode: Handler HardFault&lt;br /&gt;
xPSR: 0x61000003 pc: 0x2000003a msp: 0x200015c0&lt;br /&gt;
cleared protection for sectors 0 through 127 on flash bank 0&lt;br /&gt;
&amp;gt; flash info 0&lt;br /&gt;
device id = 0x10016420&lt;br /&gt;
flash size = 64kbytes&lt;br /&gt;
#0 : stm32f1x at 0x08000000, size 0x00010000, buswidth 0, chipwidth 0&lt;br /&gt;
        #  0: 0x00000000 (0x400 1kB) not protected&lt;br /&gt;
        #  1: 0x00000400 (0x400 1kB) not protected&lt;br /&gt;
        #  2: 0x00000800 (0x400 1kB) not protected&lt;br /&gt;
        #  3: 0x00000c00 (0x400 1kB) not protected&lt;br /&gt;
        #  4: 0x00001000 (0x400 1kB) not protected&lt;br /&gt;
        #  5: 0x00001400 (0x400 1kB) not protected&lt;br /&gt;
        #  6: 0x00001800 (0x400 1kB) not protected&lt;br /&gt;
        #  7: 0x00001c00 (0x400 1kB) not protected&lt;br /&gt;
        #  8: 0x00002000 (0x400 1kB) not protected&lt;br /&gt;
        #  9: 0x00002400 (0x400 1kB) not protected&lt;br /&gt;
        # 10: 0x00002800 (0x400 1kB) not protected&lt;br /&gt;
        # 11: 0x00002c00 (0x400 1kB) not protected&lt;br /&gt;
        # 12: 0x00003000 (0x400 1kB) not protected&lt;br /&gt;
        # 13: 0x00003400 (0x400 1kB) not protected&lt;br /&gt;
        # 14: 0x00003800 (0x400 1kB) not protected&lt;br /&gt;
        # 15: 0x00003c00 (0x400 1kB) not protected&lt;br /&gt;
        # 16: 0x00004000 (0x400 1kB) not protected&lt;br /&gt;
        # 17: 0x00004400 (0x400 1kB) not protected&lt;br /&gt;
        # 18: 0x00004800 (0x400 1kB) not protected&lt;br /&gt;
        # 19: 0x00004c00 (0x400 1kB) not protected&lt;br /&gt;
        # 20: 0x00005000 (0x400 1kB) not protected&lt;br /&gt;
        # 21: 0x00005400 (0x400 1kB) not protected&lt;br /&gt;
        # 22: 0x00005800 (0x400 1kB) not protected&lt;br /&gt;
        # 23: 0x00005c00 (0x400 1kB) not protected&lt;br /&gt;
        # 24: 0x00006000 (0x400 1kB) not protected&lt;br /&gt;
        # 25: 0x00006400 (0x400 1kB) not protected&lt;br /&gt;
        # 26: 0x00006800 (0x400 1kB) not protected&lt;br /&gt;
        # 27: 0x00006c00 (0x400 1kB) not protected&lt;br /&gt;
        # 28: 0x00007000 (0x400 1kB) not protected&lt;br /&gt;
        # 29: 0x00007400 (0x400 1kB) not protected&lt;br /&gt;
        # 30: 0x00007800 (0x400 1kB) not protected&lt;br /&gt;
        # 31: 0x00007c00 (0x400 1kB) not protected&lt;br /&gt;
        # 32: 0x00008000 (0x400 1kB) not protected&lt;br /&gt;
        # 33: 0x00008400 (0x400 1kB) not protected&lt;br /&gt;
        # 34: 0x00008800 (0x400 1kB) not protected&lt;br /&gt;
        # 35: 0x00008c00 (0x400 1kB) not protected&lt;br /&gt;
        # 36: 0x00009000 (0x400 1kB) not protected&lt;br /&gt;
        # 37: 0x00009400 (0x400 1kB) not protected&lt;br /&gt;
        # 38: 0x00009800 (0x400 1kB) not protected&lt;br /&gt;
        # 39: 0x00009c00 (0x400 1kB) not protected&lt;br /&gt;
        # 40: 0x0000a000 (0x400 1kB) not protected&lt;br /&gt;
        # 41: 0x0000a400 (0x400 1kB) not protected&lt;br /&gt;
        # 42: 0x0000a800 (0x400 1kB) not protected&lt;br /&gt;
        # 43: 0x0000ac00 (0x400 1kB) not protected&lt;br /&gt;
        # 44: 0x0000b000 (0x400 1kB) not protected&lt;br /&gt;
        # 45: 0x0000b400 (0x400 1kB) not protected&lt;br /&gt;
        # 46: 0x0000b800 (0x400 1kB) not protected&lt;br /&gt;
        # 47: 0x0000bc00 (0x400 1kB) not protected&lt;br /&gt;
        # 48: 0x0000c000 (0x400 1kB) not protected&lt;br /&gt;
        # 49: 0x0000c400 (0x400 1kB) not protected&lt;br /&gt;
        # 50: 0x0000c800 (0x400 1kB) not protected&lt;br /&gt;
        # 51: 0x0000cc00 (0x400 1kB) not protected&lt;br /&gt;
        # 52: 0x0000d000 (0x400 1kB) not protected&lt;br /&gt;
        # 53: 0x0000d400 (0x400 1kB) not protected&lt;br /&gt;
        # 54: 0x0000d800 (0x400 1kB) not protected&lt;br /&gt;
        # 55: 0x0000dc00 (0x400 1kB) not protected&lt;br /&gt;
        # 56: 0x0000e000 (0x400 1kB) not protected&lt;br /&gt;
        # 57: 0x0000e400 (0x400 1kB) not protected&lt;br /&gt;
        # 58: 0x0000e800 (0x400 1kB) not protected&lt;br /&gt;
        # 59: 0x0000ec00 (0x400 1kB) not protected&lt;br /&gt;
        # 60: 0x0000f000 (0x400 1kB) not protected&lt;br /&gt;
        # 61: 0x0000f400 (0x400 1kB) not protected&lt;br /&gt;
        # 62: 0x0000f800 (0x400 1kB) not protected&lt;br /&gt;
        # 63: 0x0000fc00 (0x400 1kB) not protected&lt;br /&gt;
STM32F100 (Low/Medium Density) - Rev: Z&lt;br /&gt;
&amp;gt; &lt;br /&gt;
---[]---&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===flasing firmware===&lt;br /&gt;
&lt;br /&gt;
once the flash has been set to unprotected, it is now possible to write the .bin file in one simple way:&lt;br /&gt;
&lt;br /&gt;
st-flash --format binary write RS41HUP.bin 0x8000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
btw, you may need to time it right to start this command as it may only accept incoming resets/writing data at the very beginning of powering up the device.&lt;br /&gt;
&lt;br /&gt;
===&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>