diff --git a/.github/workflows/tools-buildtest.yml b/.github/workflows/tools-buildtest.yml index fcdc4cb468..fee41ab581 100644 --- a/.github/workflows/tools-buildtest.yml +++ b/.github/workflows/tools-buildtest.yml @@ -67,3 +67,7 @@ jobs: uses: aabadie/riot-action@v1 with: cmd: make -C dist/tools/fixdep + - name: Build lpc2k_pgm tool + uses: aabadie/riot-action@v1 + with: + cmd: make -C dist/tools/lpc2k_pgm diff --git a/boards/common/msba2/Makefile.include b/boards/common/msba2/Makefile.include index a029a1153b..341d2dd5a2 100644 --- a/boards/common/msba2/Makefile.include +++ b/boards/common/msba2/Makefile.include @@ -1,26 +1,13 @@ -BOARDS_COMMON_MSBA2_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST)))) - -# Compile `lpc2k_pgm` when required -# It is still compiling in `boards` as it was the case before introducing the -# rule to autobuild -MSBA2_TOOLS = $(BOARDS_COMMON_MSBA2_DIR)/tools -LPC2K_PGM = $(MSBA2_TOOLS)/bin/lpc2k_pgm -$(LPC2K_PGM): FORCE - env -i PATH=$(PATH) $(MAKE) -C $(MSBA2_TOOLS) -FLASHDEPS += $(if $(findstring $(LPC2K_PGM),$(FLASHER)),$(LPC2K_PGM)) - -FLASHER ?= $(LPC2K_PGM) - # configure serial interface PORT_LINUX ?= /dev/ttyUSB0 # This does not make a lot of sense, but it has the same value as the previous code PORT_DARWIN ?= /dev/tty.usbserial-ARM +# Use lpc2k_pgm programmer +PROGRAMMER ?= lpc2k_pgm + # when using miniterm set RTS and DTR lines to 0, otherwise the board is reset MINITERMFLAGS += --rts 0 --dtr 0 PYTERMFLAGS += -tg include $(RIOTMAKE)/tools/serial.inc.mk - -FLASHFILE ?= $(HEXFILE) -FFLAGS = $(PROG_DEV) $(FLASHFILE) diff --git a/dist/tools/externc/check.sh b/dist/tools/externc/check.sh index a8a9cd791e..2c6044c026 100755 --- a/dist/tools/externc/check.sh +++ b/dist/tools/externc/check.sh @@ -18,7 +18,8 @@ cd $RIOTBASE ROOT=$(git rev-parse --show-toplevel) EXIT_CODE=0 -FILES=$(FILEREGEX='\.h$' changed_files) +EXCLUDE='^(dist/tools/)' +FILES=$(FILEREGEX='\.h$' EXCLUDE=${EXCLUDE} changed_files) # check files for FILE in ${FILES}; do diff --git a/boards/common/msba2/tools/CHANGES b/dist/tools/lpc2k_pgm/CHANGES similarity index 100% rename from boards/common/msba2/tools/CHANGES rename to dist/tools/lpc2k_pgm/CHANGES diff --git a/boards/common/msba2/tools/COPYING b/dist/tools/lpc2k_pgm/COPYING similarity index 100% rename from boards/common/msba2/tools/COPYING rename to dist/tools/lpc2k_pgm/COPYING diff --git a/boards/common/msba2/tools/Makefile b/dist/tools/lpc2k_pgm/Makefile similarity index 94% rename from boards/common/msba2/tools/Makefile rename to dist/tools/lpc2k_pgm/Makefile index 77948c3baa..b55fd41cf9 100644 --- a/boards/common/msba2/tools/Makefile +++ b/dist/tools/lpc2k_pgm/Makefile @@ -1,4 +1,4 @@ -CFLAGS += -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" +CFLAGS = -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" CC = gcc prefix=/usr/local diff --git a/boards/common/msba2/tools/README.txt b/dist/tools/lpc2k_pgm/README.txt similarity index 100% rename from boards/common/msba2/tools/README.txt rename to dist/tools/lpc2k_pgm/README.txt diff --git a/boards/common/msba2/tools/armtools.txt b/dist/tools/lpc2k_pgm/armtools.txt similarity index 100% rename from boards/common/msba2/tools/armtools.txt rename to dist/tools/lpc2k_pgm/armtools.txt diff --git a/boards/common/msba2/tools/flash.cmd b/dist/tools/lpc2k_pgm/flash.cmd similarity index 100% rename from boards/common/msba2/tools/flash.cmd rename to dist/tools/lpc2k_pgm/flash.cmd diff --git a/boards/common/msba2/tools/flashutil.sh b/dist/tools/lpc2k_pgm/flashutil.sh similarity index 100% rename from boards/common/msba2/tools/flashutil.sh rename to dist/tools/lpc2k_pgm/flashutil.sh diff --git a/boards/common/msba2/tools/mkbootc b/dist/tools/lpc2k_pgm/mkbootc similarity index 100% rename from boards/common/msba2/tools/mkbootc rename to dist/tools/lpc2k_pgm/mkbootc diff --git a/boards/common/msba2/tools/mkstaticlist b/dist/tools/lpc2k_pgm/mkstaticlist similarity index 100% rename from boards/common/msba2/tools/mkstaticlist rename to dist/tools/lpc2k_pgm/mkstaticlist diff --git a/boards/common/msba2/tools/obj/.gitignore b/dist/tools/lpc2k_pgm/obj/.gitignore similarity index 100% rename from boards/common/msba2/tools/obj/.gitignore rename to dist/tools/lpc2k_pgm/obj/.gitignore diff --git a/boards/common/msba2/tools/src/boot.h b/dist/tools/lpc2k_pgm/src/boot.h similarity index 94% rename from boards/common/msba2/tools/src/boot.h rename to dist/tools/lpc2k_pgm/src/boot.h index 323e7d16a3..43ea7802c7 100644 --- a/boards/common/msba2/tools/src/boot.h +++ b/dist/tools/lpc2k_pgm/src/boot.h @@ -16,6 +16,9 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifndef BOOT_H +#define BOOT_H + /** * @brief structure to hold boot partition */ @@ -24,3 +27,5 @@ typedef struct { int size; /**< size of partition */ const int *prog; /**< partition data */ } boot_t; + +#endif /* BOOT_H */ diff --git a/boards/common/msba2/tools/src/boot_23xx.armasm b/dist/tools/lpc2k_pgm/src/boot_23xx.armasm similarity index 100% rename from boards/common/msba2/tools/src/boot_23xx.armasm rename to dist/tools/lpc2k_pgm/src/boot_23xx.armasm diff --git a/boards/common/msba2/tools/src/boot_23xx.c b/dist/tools/lpc2k_pgm/src/boot_23xx.c similarity index 100% rename from boards/common/msba2/tools/src/boot_23xx.c rename to dist/tools/lpc2k_pgm/src/boot_23xx.c diff --git a/boards/common/msba2/tools/src/boot_23xx.h b/dist/tools/lpc2k_pgm/src/boot_23xx.h similarity index 92% rename from boards/common/msba2/tools/src/boot_23xx.h rename to dist/tools/lpc2k_pgm/src/boot_23xx.h index c5497982a2..d67d76e192 100644 --- a/boards/common/msba2/tools/src/boot_23xx.h +++ b/dist/tools/lpc2k_pgm/src/boot_23xx.h @@ -16,5 +16,10 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifndef BOOT_23XX_H +#define BOOT_23XX_H + /* automatically generated from boot_23xx.armasm */ extern const unsigned int boot_23xx[]; + +#endif /* BOOT_23XX_H */ diff --git a/boards/common/msba2/tools/src/boot_2xxx.armasm b/dist/tools/lpc2k_pgm/src/boot_2xxx.armasm similarity index 100% rename from boards/common/msba2/tools/src/boot_2xxx.armasm rename to dist/tools/lpc2k_pgm/src/boot_2xxx.armasm diff --git a/boards/common/msba2/tools/src/boot_2xxx.c b/dist/tools/lpc2k_pgm/src/boot_2xxx.c similarity index 100% rename from boards/common/msba2/tools/src/boot_2xxx.c rename to dist/tools/lpc2k_pgm/src/boot_2xxx.c diff --git a/boards/common/msba2/tools/src/boot_2xxx.h b/dist/tools/lpc2k_pgm/src/boot_2xxx.h similarity index 92% rename from boards/common/msba2/tools/src/boot_2xxx.h rename to dist/tools/lpc2k_pgm/src/boot_2xxx.h index 146c009869..f1826943b5 100644 --- a/boards/common/msba2/tools/src/boot_2xxx.h +++ b/dist/tools/lpc2k_pgm/src/boot_2xxx.h @@ -16,5 +16,10 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifndef BOOT_2XXX_H +#define BOOT_2XXX_H + /* automatically generated from boot_2xxx.armasm */ extern const unsigned int boot_2xxx[]; + +#endif /* BOOT_2XXX_H */ diff --git a/boards/common/msba2/tools/src/chipinfo.c b/dist/tools/lpc2k_pgm/src/chipinfo.c similarity index 100% rename from boards/common/msba2/tools/src/chipinfo.c rename to dist/tools/lpc2k_pgm/src/chipinfo.c diff --git a/boards/common/msba2/tools/src/chipinfo.h b/dist/tools/lpc2k_pgm/src/chipinfo.h similarity index 96% rename from boards/common/msba2/tools/src/chipinfo.h rename to dist/tools/lpc2k_pgm/src/chipinfo.h index 63b6dd8ffa..de81834d57 100644 --- a/boards/common/msba2/tools/src/chipinfo.h +++ b/dist/tools/lpc2k_pgm/src/chipinfo.h @@ -16,6 +16,9 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifndef CHIPINFO_H +#define CHIPINFO_H + extern char *lpc_return_strings[]; /** @@ -41,3 +44,5 @@ struct chip_info_struct { }; extern struct chip_info_struct chip_info[]; + +#endif /* CHIPINFO_H */ diff --git a/boards/common/msba2/tools/src/cksum_test.c b/dist/tools/lpc2k_pgm/src/cksum_test.c similarity index 100% rename from boards/common/msba2/tools/src/cksum_test.c rename to dist/tools/lpc2k_pgm/src/cksum_test.c diff --git a/boards/common/msba2/tools/src/control_2xxx.c b/dist/tools/lpc2k_pgm/src/control_2xxx.c similarity index 100% rename from boards/common/msba2/tools/src/control_2xxx.c rename to dist/tools/lpc2k_pgm/src/control_2xxx.c diff --git a/boards/common/msba2/tools/src/control_2xxx.h b/dist/tools/lpc2k_pgm/src/control_2xxx.h similarity index 100% rename from boards/common/msba2/tools/src/control_2xxx.h rename to dist/tools/lpc2k_pgm/src/control_2xxx.h diff --git a/boards/common/msba2/tools/src/download.c b/dist/tools/lpc2k_pgm/src/download.c similarity index 100% rename from boards/common/msba2/tools/src/download.c rename to dist/tools/lpc2k_pgm/src/download.c diff --git a/boards/common/msba2/tools/src/download.h b/dist/tools/lpc2k_pgm/src/download.h similarity index 94% rename from boards/common/msba2/tools/src/download.h rename to dist/tools/lpc2k_pgm/src/download.h index 1a0d5f1fe6..36467883fe 100644 --- a/boards/common/msba2/tools/src/download.h +++ b/dist/tools/lpc2k_pgm/src/download.h @@ -16,6 +16,9 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifndef DOWNLOAD_H +#define DOWNLOAD_H + extern int download_begin(char *file); extern void soft_reboot_begin(void); extern void hard_reset_to_bootloader(void); @@ -24,3 +27,5 @@ extern void download_cancel(const char *mesg); extern void download_rx_term(const unsigned char *buf, int num); extern void download_rx_port(const unsigned char *buf, int num); extern void download_timer(void); + +#endif /* DOWNLOAD_H */ diff --git a/boards/common/msba2/tools/src/gui.c b/dist/tools/lpc2k_pgm/src/gui.c similarity index 100% rename from boards/common/msba2/tools/src/gui.c rename to dist/tools/lpc2k_pgm/src/gui.c diff --git a/boards/common/msba2/tools/src/gui.h b/dist/tools/lpc2k_pgm/src/gui.h similarity index 94% rename from boards/common/msba2/tools/src/gui.h rename to dist/tools/lpc2k_pgm/src/gui.h index e5b53a4c77..e20ed76714 100644 --- a/boards/common/msba2/tools/src/gui.h +++ b/dist/tools/lpc2k_pgm/src/gui.h @@ -16,6 +16,11 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifndef GUI_H +#define GUI_H + extern void create_window(int *argc, char ***argv); extern void run_gui(void); extern void done_program(int still_in_bootloader); + +#endif /* GUI_H */ diff --git a/boards/common/msba2/tools/src/ihex.c b/dist/tools/lpc2k_pgm/src/ihex.c similarity index 100% rename from boards/common/msba2/tools/src/ihex.c rename to dist/tools/lpc2k_pgm/src/ihex.c diff --git a/boards/common/msba2/tools/src/ihex.h b/dist/tools/lpc2k_pgm/src/ihex.h similarity index 100% rename from boards/common/msba2/tools/src/ihex.h rename to dist/tools/lpc2k_pgm/src/ihex.h diff --git a/boards/common/msba2/tools/src/lpc2k_pgm.c b/dist/tools/lpc2k_pgm/src/lpc2k_pgm.c similarity index 100% rename from boards/common/msba2/tools/src/lpc2k_pgm.c rename to dist/tools/lpc2k_pgm/src/lpc2k_pgm.c diff --git a/boards/common/msba2/tools/src/lpc2k_pgm.h b/dist/tools/lpc2k_pgm/src/lpc2k_pgm.h similarity index 100% rename from boards/common/msba2/tools/src/lpc2k_pgm.h rename to dist/tools/lpc2k_pgm/src/lpc2k_pgm.h diff --git a/boards/common/msba2/tools/src/pseudoterm.c b/dist/tools/lpc2k_pgm/src/pseudoterm.c similarity index 100% rename from boards/common/msba2/tools/src/pseudoterm.c rename to dist/tools/lpc2k_pgm/src/pseudoterm.c diff --git a/boards/common/msba2/tools/src/serial.c b/dist/tools/lpc2k_pgm/src/serial.c similarity index 100% rename from boards/common/msba2/tools/src/serial.c rename to dist/tools/lpc2k_pgm/src/serial.c diff --git a/boards/common/msba2/tools/src/serial.h b/dist/tools/lpc2k_pgm/src/serial.h similarity index 100% rename from boards/common/msba2/tools/src/serial.h rename to dist/tools/lpc2k_pgm/src/serial.h diff --git a/boards/common/msba2/tools/src/settings.c b/dist/tools/lpc2k_pgm/src/settings.c similarity index 100% rename from boards/common/msba2/tools/src/settings.c rename to dist/tools/lpc2k_pgm/src/settings.c diff --git a/boards/common/msba2/tools/src/settings.h b/dist/tools/lpc2k_pgm/src/settings.h similarity index 95% rename from boards/common/msba2/tools/src/settings.h rename to dist/tools/lpc2k_pgm/src/settings.h index 0aeb85ca11..ad73a029f0 100644 --- a/boards/common/msba2/tools/src/settings.h +++ b/dist/tools/lpc2k_pgm/src/settings.h @@ -16,6 +16,8 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifndef SETTINGS_H +#define SETTINGS_H extern void init_settings(void); extern const char *file_setting(void); @@ -28,3 +30,5 @@ extern void new_baud_setting(const char *new_baud); extern void new_crystal_setting(const char *new_xtal); extern char *baud_list[]; + +#endif /* SETTINGS_H */ diff --git a/boards/common/msba2/tools/src/uuencode.c b/dist/tools/lpc2k_pgm/src/uuencode.c similarity index 100% rename from boards/common/msba2/tools/src/uuencode.c rename to dist/tools/lpc2k_pgm/src/uuencode.c diff --git a/boards/common/msba2/tools/src/uuencode.h b/dist/tools/lpc2k_pgm/src/uuencode.h similarity index 93% rename from boards/common/msba2/tools/src/uuencode.h rename to dist/tools/lpc2k_pgm/src/uuencode.h index cd2ee3f47c..cceb2770c5 100644 --- a/boards/common/msba2/tools/src/uuencode.h +++ b/dist/tools/lpc2k_pgm/src/uuencode.h @@ -16,5 +16,10 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifndef UUENCODE_H +#define UUENCODE_H + extern void uuencode(char *str, const unsigned char *data, int num); extern int uudecode(const char *str, unsigned char *data, int max); + +#endif /* UUENCODE_H */ diff --git a/boards/common/msba2/tools/termctrl.sh b/dist/tools/lpc2k_pgm/termctrl.sh similarity index 100% rename from boards/common/msba2/tools/termctrl.sh rename to dist/tools/lpc2k_pgm/termctrl.sh diff --git a/makefiles/tools/lpc2k_pgm.inc.mk b/makefiles/tools/lpc2k_pgm.inc.mk new file mode 100644 index 0000000000..eb48223dfc --- /dev/null +++ b/makefiles/tools/lpc2k_pgm.inc.mk @@ -0,0 +1,8 @@ +# Compile `lpc2k_pgm` when required +LPC2K_PGM = $(RIOTTOOLS)/lpc2k_pgm/bin/lpc2k_pgm +FLASHDEPS += $(LPC2K_PGM) + +FLASHER ?= $(LPC2K_PGM) + +FLASHFILE ?= $(HEXFILE) +FFLAGS ?= $(PROG_DEV) $(FLASHFILE) diff --git a/makefiles/tools/targets.inc.mk b/makefiles/tools/targets.inc.mk index 5b2e94f621..d2cb414757 100644 --- a/makefiles/tools/targets.inc.mk +++ b/makefiles/tools/targets.inc.mk @@ -44,3 +44,8 @@ $(RIOTTOOLS)/flatc/flatc: $(RIOTTOOLS)/flatc/Makefile @echo "[INFO] flatc binary not found - building it from source now" $(MAKE) -C $(RIOTTOOLS)/flatc @echo "[INFO] flatc binary successfully built!" + +$(RIOTTOOLS)/lpc2k_pgm/bin/lpc2k_pgm: $(RIOTTOOLS)/lpc2k_pgm/Makefile + @echo "[INFO] lpc2k_pgm binary not found - building it from source now" + @$(MAKE) -C $(RIOTTOOLS)/lpc2k_pgm + @echo "[INFO] lpc2k_pgm binary successfully built!"