79 lines
1.6 KiB
Bash
Executable File
79 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Set up paths to binaries, scripts, configuration files
|
|
|
|
hostos=`uname -o 2>/dev/null || echo "Other"`
|
|
if [ "X${hostos}" = "XCygwin" ]; then
|
|
installdir=/cygdrive/c/gccfd/openocd/bin
|
|
ft2exe=$installdir/openocd-ftd2xx.exe
|
|
ppexe=$installdir/openocd-ppdev.exe
|
|
else
|
|
installdir=/usr/local/bin
|
|
ft2exe=$installdir/openocd
|
|
ppexe=$installdir/openocd
|
|
SUDO=sudo
|
|
fi
|
|
|
|
# The root to the top-level NuttX directory should be in an environment variable
|
|
|
|
if [ -z $STR41XSCRIPTS ]; then
|
|
echo "Environment variable $STR41XSCRIPTS is not defined"
|
|
echo "Has NuttX been configured?"
|
|
exit 1
|
|
fi
|
|
|
|
# Check that at least one configuration file exists at that point
|
|
if [ ! -f $STR41XSCRIPTS/oocd_ft2xx.cfg ]; then
|
|
echo "No configuration files found at $STR41XSCRIPTS"
|
|
echo "Path to configuration files unknown"
|
|
exit 1
|
|
fi
|
|
|
|
# Parse command line inputs
|
|
|
|
usage="USAGE: $0 [-h] [-d] [-pp] [-ft2xx]"
|
|
|
|
debug=no
|
|
oocdcfg=$STR41XSCRIPTS/oocd_ft2xx.cfg
|
|
openocd=$ft2exe
|
|
while [ ! -z "$1" ]; do
|
|
case $1 in
|
|
-d )
|
|
debug=yes
|
|
set -x
|
|
;;
|
|
-pp )
|
|
oocdcfg=$STR41XSCRIPTS/oocd_wiggler.cfg
|
|
openocd=$ppexe
|
|
;;
|
|
-ft2xx )
|
|
oocdcfg=$STR41XSCRIPTS/oocd_ft2xx.cfg
|
|
openocd=$ft2exe
|
|
;;
|
|
-h )
|
|
echo $usage
|
|
exit 0
|
|
;;
|
|
* )
|
|
echo "Unrecognized option: $1"
|
|
echo $usage
|
|
exit 1
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
# Setup debug options
|
|
|
|
export options="-d 1"
|
|
|
|
# Run OpenOCD -- here it is assumed (1) that you must have root privileges to
|
|
# execute OpenOCD and (2) that your user is listed in the /etc/sudoers file.
|
|
|
|
$SUDO $openocd $options -f $oocdcfg
|
|
if [ "X${hostos}" = "XCygwin" ]; then
|
|
$openocd $options -f `cygpath -w $oocdcfg`
|
|
else
|
|
sudo $openocd $options -f $oocdcfg
|
|
fi
|