#!/bin/sh PROJ="${1?'project'}" OPENOCD=openocd # location of OpenOCD Board .cfg files (only used with 'make flash-target') # # This path is from Ubuntu 14.04. # OPENOCD_BOARD_DIR=/usr/share/openocd/scripts/board # Configuration (cfg) file containing programming directives for OpenOCD # # If you are using an STLINK v2.0 from an STM32 F4 DISCOVERY board, # set this variable to "stm32f4discovery.cfg". # # If you are using an STLINK v2.1 from an STM32 F4 NUCLEO board, # set this variable to "st_nucleo_f401re.cfg". # # If you are using something else, look for a matching configuration file in # the OPENOCD_BOARD_DIR directory. # OPENOCD_PROC_FILE=stm32f4discovery.cfg if [ "x`lsusb -d 0483:374b`" != "x" ]; then for fn in st_nucleo_f4.cfg st_nucleo_f401re.cfg; do if [ -f "$OPENOCD_BOARD_DIR/$fn" ]; then OPENOCD_PROC_FILE="$fn" fi done fi # This used to be "... verify reset exit", but that fails on Debian Jessie. # The Net of a Million Lies claims that the "exit" is unnecessary, so the # simplest solution is just to omit it. Should this turn out to be a mistake, # well, we'll have to do something more clever to deal with these silly version # skew problems between the several versions of openocd in current use. $OPENOCD -f $OPENOCD_BOARD_DIR/$OPENOCD_PROC_FILE -c "program $PROJ.elf verify reset" # exit