wasp-os/Makefile
2020-02-22 21:17:30 +00:00

68 lines
1.9 KiB
Makefile

export PYTHONPATH := $(PWD)/tools/nrfutil:$(PWD)/tools/intelhex:$(PYTHONPATH)
all : bootloader micropython
BOARD ?= $(error Please set BOARD=)
clean :
$(RM) -r \
bootloader/_build-$(BOARD)_nrf52832 \
micropython/mpy-cross/build \
micropython/ports/nrf/build-$(BOARD)-s132
submodules :
git submodule update --init --recursive
bootloader:
$(MAKE) -C bootloader/ BOARD=$(BOARD)_nrf52832 all genhex
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 \
bootloader.zip
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 bootloader.hex
softdevice:
micropython/ports/nrf/drivers/bluetooth/download_ble_stack.sh
micropython:
$(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
python3 -m nordicsemi dfu genpkg \
--dev-type 0x0052 \
--application micropython/ports/nrf/build-$(BOARD)-s132/firmware.hex \
micropython.zip
dfu:
python3 -m nordicsemi dfu serial --package micropython.zip --port /dev/ttyACM0
flash:
pyocd erase -t nrf52 --mass-erase
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:
$(MAKE) -C docs html
sim:
PYTHONDONTWRITEBYTECODE=1 \
PYTHONPATH=$(PWD)/wasp/boards/simulator:$(PWD)/wasp \
python3 -i wasp/main.py
.PHONY: bootloader docs micropython