5c30b2e0f0
wasp-os is starting to developer proper support for multiple boards (currently other boards such as nitrogen and ds-d6 test builds and proof-of-concept stuff) then we need to start placing binaries for each device into seperate directories (other wise creating a binary distro won't work). Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
88 lines
2.7 KiB
Makefile
88 lines
2.7 KiB
Makefile
export PYTHONPATH := $(PWD)/tools/nrfutil:$(PWD)/tools/intelhex:$(PYTHONPATH)
|
|
|
|
all : bootloader reloader micropython
|
|
|
|
ifdef BOARD
|
|
WASP_WATCH_PY = wasp/boards/$(BOARD)/watch.py
|
|
$(WASP_WATCH_PY) : $(WASP_WATCH_PY).in
|
|
(cd wasp; ../tools/preprocess.py ../$(WASP_WATCH_PY).in > ../$(WASP_WATCH_PY)) \
|
|
|| ($(RM) $(WASP_WATCH_PY); false)
|
|
else
|
|
BOARD ?= $(error Please set BOARD=)
|
|
endif
|
|
|
|
clean :
|
|
$(RM) -r \
|
|
bootloader/_build-$(BOARD)_nrf52832 \
|
|
reloader/build-$(BOARD) reloader/src/boards/$(BOARD)/bootloader.h \
|
|
micropython/mpy-cross/build \
|
|
micropython/ports/nrf/build-$(BOARD)-s132 \
|
|
$(WASP_WATCH_PY)
|
|
|
|
submodules :
|
|
git submodule update --init --recursive
|
|
|
|
bootloader: build-$(BOARD)
|
|
$(RM) bootloader/_build-$(BOARD)_nrf52832//$(BOARD)_nrf52832_bootloader-*-nosd.hex
|
|
$(MAKE) -C bootloader/ BOARD=$(BOARD)_nrf52832 all genhex
|
|
python3 tools/hexmerge.py \
|
|
bootloader/_build-$(BOARD)_nrf52832/$(BOARD)_nrf52832_bootloader-*-nosd.hex \
|
|
bootloader/lib/softdevice/s132_nrf52_6.1.1/s132_nrf52_6.1.1_softdevice.hex \
|
|
-o build-$(BOARD)/bootloader.hex
|
|
python3 tools/hex2c.py build-$(BOARD)/bootloader.hex > \
|
|
reloader/src/boards/$(BOARD)/bootloader.h
|
|
python3 -m nordicsemi dfu genpkg \
|
|
--bootloader bootloader/_build-$(BOARD)_nrf52832//$(BOARD)_nrf52832_bootloader-*-nosd.hex \
|
|
--softdevice bootloader/lib/softdevice/s132_nrf52_6.1.1/s132_nrf52_6.1.1_softdevice.hex \
|
|
build-$(BOARD)/bootloader-daflasher.zip
|
|
|
|
reloader: bootloader build-$(BOARD)
|
|
$(MAKE) -C reloader/ BOARD=$(BOARD)
|
|
mv reloader/build-$(BOARD)/reloader.zip build-$(BOARD)/
|
|
|
|
softdevice:
|
|
micropython/ports/nrf/drivers/bluetooth/download_ble_stack.sh
|
|
|
|
micropython: $(WASP_WATCH_PY) build-$(BOARD)
|
|
$(MAKE) -C micropython/mpy-cross
|
|
$(RM) micropython/ports/nrf/build-$(BOARD)-s132/frozen_content.c
|
|
$(MAKE) -C micropython/ports/nrf \
|
|
BOARD=$(BOARD) SD=s132 \
|
|
MICROPY_VFS_LFS2=1 \
|
|
FROZEN_MANIFEST=$(PWD)/wasp/boards/$(BOARD)/manifest.py \
|
|
USER_C_MODULES=$(PWD)/wasp/modules
|
|
python3 -m nordicsemi dfu genpkg \
|
|
--dev-type 0x0052 \
|
|
--application micropython/ports/nrf/build-$(BOARD)-s132/firmware.hex \
|
|
build-$(BOARD)/micropython.zip
|
|
|
|
build-$(BOARD):
|
|
mkdir -p $@
|
|
|
|
dfu:
|
|
python3 -m nordicsemi dfu serial --package micropython.zip --port /dev/ttyACM0
|
|
|
|
flash:
|
|
pyocd erase -t nrf52 --mass
|
|
pyocd flash -t nrf52 bootloader.hex
|
|
|
|
debug:
|
|
arm-none-eabi-gdb \
|
|
bootloader/_build-$(BOARD)_nrf52832/$(BOARD)_nrf52832_bootloader-*-nosd.out \
|
|
-ex "target extended-remote /dev/ttyACM0" \
|
|
-ex "monitor swdp_scan" \
|
|
-ex "attach 1" \
|
|
-ex "load"
|
|
|
|
docs:
|
|
$(RM) -rf docs/build/html/*
|
|
$(MAKE) -C docs html
|
|
touch docs/build/html/.nojekyll
|
|
|
|
|
|
sim:
|
|
PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=.:wasp/boards/simulator:wasp \
|
|
python3 -i wasp/boards/simulator/main.py
|
|
|
|
.PHONY: bootloader reloader docs micropython
|
|
|