#!/usr/bin/expect -f # expect script for programming STM32F1xx flash # $Id: stm32f1.flashocd 3315 2011-11-16 15:08:01Z svn $ # Script arguments: # Binary flash image file # Flash write address # Text base address set FILE [lindex $argv 0] set FLASHADDR [lindex $argv 1] set TEXTBASE [lindex $argv 2] set ADDRESS [format 0x%08X [expr $FLASHADDR + $TEXTBASE]] set prompt "> $" set timeout 10 spawn /usr/bin/telnet localhost 4444 expect $prompt send "reset run\n" expect $prompt send "halt\n" expect $prompt send "wait_halt\n" expect $prompt send "flash probe 0\n" expect $prompt send "stm32f1x mass_erase 0\n" expect $prompt send "flash write_image $FILE $ADDRESS bin\n" expect -timeout 300 $prompt send "reset run\n" expect $prompt exp_sleep 1 send "shutdown\n" expect $prompt exp_sleep 1