Skip to content

Open source flash program for the STM32 ARM processors using the ST serial bootloader over UART or I2C

Notifications You must be signed in to change notification settings

ARMinARM/stm32flash

Repository files navigation

stm32flash

[2015-12] upstream moved to: http://sourceforge.net/p/stm32flash/code/ci/master/tree/ You'll probably want to use that, as this version is outdated.

Open source flash program for the STM32 ARM processors using the ST serial bootloader over UART or I2C

stm32flash 0.4 was released 2014-10-04 and is available at https://releases.stm32flash.googlecode.com/git/stm32flash-0.4.tar.gz

The 0.4 version is the work of Antonio Borneo and includes support for programming over I2C. See the included I2C.txt for more information. The code has been refactored to make it easier to add other transports.

Features

  • UART and I2C transports supported
  • device identification
  • write to flash/ram
  • read from flash/ram
  • auto-detect Intel HEX or raw binary input format with option to force binary
  • flash from binary file
  • save flash to binary file
  • verify & retry up to N times on failed writes
  • start execution at specified address
  • software reset the device when finished if -R is specified
  • resume already initialized connection (for when reset fails, UART only)
  • GPIO signalling to enter bootloader mode (hardware dependent)

Usage

See the included manual page for up-to-date, complete usage instructions.

Usage: ./stm32flash [-bvngfhc] [-[rw] filename] /dev/ttyS0
		-b rate         Baud rate (default 57600)
		-r filename     Read flash to file
		-w filename     Write flash to file
		-u              Disable the flash write-protection
		-e n            Only erase n pages before writing the flash
		-v              Verify writes
		-n count        Retry failed writes up to count times (default 10)
		-g address      Start execution at specified address (0 = flash start)
		-s start_page   Flash at specified page (0 = flash start)
		-f              Force binary parser
		-h              Show this help
		-c              Resume the connection (don't send initial INIT)
						*Baud rate must be kept the same as the first init*
						This is useful if the reset fails

Examples

Get device information:

./stm32flash /dev/ttyS0

Write with verify and then start execution:

./stm32flash -w filename -v -g 0x0 /dev/ttyS0

Read flash to file:

./stm32flash -r filename /dev/ttyS0

Start execution:

./stm32flash -g 0x0 /dev/ttyS0

Authors

stm32flash was originally written by Geoffrey McRae and is since 2012 maintained by Tormod Volden. See the git log for the many other contributors.

About

Open source flash program for the STM32 ARM processors using the ST serial bootloader over UART or I2C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published