/stm8flash

program your stm8 devices with SWIM/stlinkv(1,2)

Primary LanguageCGNU General Public License v2.0GPL-2.0

stm8flash

This is free and opensource software distributed under the terms of the GNU General Public License, either version 2 of the License, or (at your option) any later version.

For years, it was the only program that's able to communicate through the SWIM interface of ST-LINKs under Linux.

Since 2018, OpenOCD also offers the basic functionality, and also has support for on-target debugging. As of early 2018, stm8flash has wider device support, and better support for memory read/write operations.

Synopsis

stm8flash -c <stlink|stlinkv2|espstlink> -p <partname> [-s flash|eeprom|0x8000] [-r|-w|-v] <filename>

The supported file types are Intel Hex, Motorola S-Record and Raw Binary. The type is detected by the file extension.

Flash examples:

./stm8flash -c stlink -p stm8s003f3 -w blinky.bin
./stm8flash -c stlink -p stm8s003f3 -w blinky.ihx
./stm8flash -c stlinkv2 -p stm8s003f3 -w blinky.ihx
./stm8flash -c stlink -p stm8s105c6 -w blinky.bin
./stm8flash -c stlinkv2 -p stm8l150 -w blinky.bin

EEPROM examples:

./stm8flash -c stlinkv2 -p stm8s003f3 -s eeprom -r ee.bin
./stm8flash -c stlinkv2 -p stm8s003f3 -s eeprom -w ee.bin
./stm8flash -c stlinkv2 -p stm8s003f3 -s eeprom -v ee.bin

Support table

  • ST-Link V1: flash/eeprom/opt
  • flash2/eeprom2/opt2: ST-LINK/V2, ST-LINK/V2-1 and STLINK-V3
MCU flash eeprom opt flash2 eeprom2 opt2
stlux385 ? ? ? ? ? ?
stlux???a ? ? ? ok ok ?
stm8af526? ? ? ? ? ? ?
stm8af528? ? ? ? ok ? ?
stm8af52a? ? ? ? ok ? ?
stm8af6213 ? ? ? ? ? ?
stm8af6223 ? ? ? ? ? ?
stm8af6223a ? ? ? ? ? ?
stm8af6226 ? ? ? ? ? ?
stm8af624? ? ? ? ? ? ?
stm8af6266 ? ? ? ? ? ?
stm8af6268 ? ? ? ? ? ?
stm8af6269 ? ? ? ? ? ?
stm8af628? ? ? ? ? ? ?
stm8af62a? ? ? ? ? ? ?
stm8al313? ? ? ? ? ? ?
stm8al314? ? ? ? ? ? ?
stm8al316? ? ? ? ? ? ?
stm8al318? ? ? ? ? ? ?
stm8al31e8? ? ? ? ? ? ?
stm8al3l4? ? ? ? ? ? ?
stm8al3l6? ? ? ? ok ok ok
stm8al3l8? ? ? ? ? ? ?
stm8al3le8? ? ? ? ? ? ?
stm8l001j3 ? ? ? ? ? ?
stm8l050j3 ok ? ok ok ok ok
stm8l051f3 ok ? ? ? ? ?
stm8l052c6 ok ? ? ok ? ?
stm8l052r8 ok ? ? ? ? ?
stm8l101f1 ? no ? ? no ?
stm8l101?2 ? no ? ? no ?
stm8l101?3 ? no ? ok no ?
stm8l151?2 ? ? ? ? ? ?
stm8l151?3 ? ? ? ? ? ?
stm8l151?4 ok ? ? ok ? ?
stm8l151?6 ? ? ? ? ? ?
stm8l151?8 ok ? ? ok ? ?
stm8l152?4 ? ? ? ? ? ?
stm8l152?6 ok FAIL ? ok ok ?
stm8l152?8 ? ? ? ok ? ?
stm8l162?8 ? ? ? ? ? ?
stm8s001j3 ? ? ? ok ok ?
stm8s003?3 ok FAIL ? ok ok ok
stm8s005?6 ok ? ok ok ok ok
stm8s007c8 ? ? ? ? ? ?
stm8s103f2 ? ? ? ? ? ?
stm8s103?3 ok ? ? ok ? ok
stm8s105?4 ok FAIL ? ok ok ok
stm8s105?6 ok ? ? ok ? ?
stm8s207c8 ? ? ? ? ? ?
stm8s207cb ? ? ? ? ? ?
stm8s207k8 ? ? ? ? ? ?
stm8s207m8 ? ? ? ? ? ?
stm8s207mb ? ? ? ? ? ?
stm8s207r8 ? ? ? ok ? ?
stm8s207rb ? ? ? ? ? ?
stm8s207s8 ? ? ? ? ? ?
stm8s207sb ? ? ? ? ? ?
stm8s207?6 ? ? ? ? ? ?
stm8s208c6 ? ? ? ok ? ?
stm8s208r6 ? ? ? ? ? ?
stm8s208s6 ? ? ? ? ? ?
stm8s208?8 ? ? ? ? ? ?
stm8s208?b ? ? ? ok ? ok
stm8s903?3 ? ? ? ok ok ok
stm8splnb1 ? ? ? ? ? ?
stm8tl5??4 ? no ? ? no ?
stnrg???a ? ? ? ok ok ?

Legend:

  • ok - Fully supported.
  • no - Not supported.
  • ? - Not tested.
  • FAIL - Not working. Needs fix.