ARMinARM / stm32flash

Open source flash program for the STM32 ARM processors using the ST serial bootloader over UART or I2C
223 stars 81 forks source link

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

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.