chrysn 805119786c added upload target for segger's JLink tool
this is quite a hack, but the only way i know of by which firmware can
be uploaded to the efm32tg-stk until OpenOCD supports SWD on jlink
2012-02-27 17:59:58 +01:00

50 lines
1.9 KiB
Makefile

##
## This file is part of the libopencm3 project.
##
## Copyright (C) 2012 chrysn <chrysn@fsfe.org>
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
##
MCU = EFM32TG840F32
FAMILY = TINYGECKO
include $(dir $(lastword $(MAKEFILE_LIST)))../Makefile.include
# FIXME: i'd much rather have this in a heredoc, but heredocs are not that easy
# in makefiles. furthermore, this isn't caught by the clean target. actually,
# i'd very much prefer using openocd anyway, this would also get rid of the
# Default.ini and JLink.log files jlink.sh drops.
# just the next hack: jlink, as shipped in energy micro's
# energyAwareToolsBeta_30082011.tgz, needs its LD_LIBRARY_PATH explicitly set.
# it provides a wrapper script, but that fails to pass on arguments. set this
# path to the energymicro folder extracted from the tools, and we'll take care
# of the test
JLINKDIR = ${HOME}/energymicro/energymicro
$(BINARY)-upload.sh:
rm -f "$@"
echo "exec device = EFM32TG840F32" >> "$@"
echo "exec EnableFlashDL" >> "$@"
echo "h" >> "$@"
echo "loadbin ${BINARY}.bin 0" >> "$@"
echo "r" >> "$@"
echo "go" >> "$@"
echo "q" >> "$@"
chmod +x "$@"
upload: $(BINARY)-upload.sh $(BINARY).bin
LD_LIBRARY_PATH=$(JLINKDIR)/lib/ $(JLINKDIR)/bin/JLinkExe "$<" || echo "JLink exited with non-zero exit status, but that's normal."