Merge pull request #606 from hathach/upload-binary-artifacts
Upload binary artifacts
This commit is contained in:
commit
40870f9037
|
@ -1,6 +1,12 @@
|
||||||
name: Build
|
name: Build
|
||||||
|
|
||||||
on: [pull_request, push, repository_dispatch]
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
repository_dispatch:
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- created
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# Unit testing with Ceedling
|
# Unit testing with Ceedling
|
||||||
|
@ -27,6 +33,7 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
family:
|
family:
|
||||||
|
# Alphabetical order
|
||||||
- 'imxrt'
|
- 'imxrt'
|
||||||
- 'nrf'
|
- 'nrf'
|
||||||
- 'rp2040'
|
- 'rp2040'
|
||||||
|
@ -62,6 +69,11 @@ jobs:
|
||||||
- name: Build
|
- name: Build
|
||||||
run: python3 tools/build_family.py ${{ matrix.family }}
|
run: python3 tools/build_family.py ${{ matrix.family }}
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.family }}-tinyusb-examples
|
||||||
|
path: _bin/
|
||||||
|
|
||||||
# Build all no-family (opharned) boards
|
# Build all no-family (opharned) boards
|
||||||
build-board:
|
build-board:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -69,6 +81,7 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
example:
|
example:
|
||||||
|
# Alphabetical order
|
||||||
- 'device/audio_test'
|
- 'device/audio_test'
|
||||||
- 'device/board_test'
|
- 'device/board_test'
|
||||||
- 'device/cdc_dual_ports'
|
- 'device/cdc_dual_ports'
|
||||||
|
@ -145,6 +158,7 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
board:
|
board:
|
||||||
|
# Alphabetical order
|
||||||
- 'espressif_kaluga_1'
|
- 'espressif_kaluga_1'
|
||||||
- 'espressif_saola_1'
|
- 'espressif_saola_1'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use BOARD-Directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
# use directory name for project id
|
# use BOARD-Directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
get_filename_component(TOP "${TOP}" REALPATH)
|
get_filename_component(TOP "${TOP}" REALPATH)
|
||||||
|
|
||||||
# Check for -DFAMILY=
|
# Check for -DFAMILY=
|
||||||
if(NOT DEFINED FAMILY)
|
if(FAMILY STREQUAL "esp32s2")
|
||||||
message(FATAL_ERROR "Invalid FAMILY specified")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
|
include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
|
||||||
project(${PROJECT})
|
project(${PROJECT})
|
||||||
|
|
||||||
project(cdc_msc_freertos)
|
else()
|
||||||
|
message(FATAL_ERROR "Invalid FAMILY specified")
|
||||||
|
endif()
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
# use directory name for project id
|
# use BOARD-Directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
get_filename_component(TOP "${TOP}" REALPATH)
|
get_filename_component(TOP "${TOP}" REALPATH)
|
||||||
|
|
||||||
# Check for -DFAMILY=
|
# Check for -DFAMILY=
|
||||||
if(NOT DEFINED FAMILY)
|
if(FAMILY STREQUAL "esp32s2")
|
||||||
message(FATAL_ERROR "Invalid FAMILY specified")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
|
include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
|
||||||
project(${PROJECT})
|
project(${PROJECT})
|
||||||
|
|
||||||
project(hid_composite_freertos)
|
else()
|
||||||
|
message(FATAL_ERROR "Invalid FAMILY specified")
|
||||||
|
endif()
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# use directory name for project id
|
# use directory name for project id
|
||||||
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||||
|
set(PROJECT ${BOARD}-${PROJECT})
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
|
|
|
@ -3,7 +3,10 @@
|
||||||
# ---------------------------------------
|
# ---------------------------------------
|
||||||
|
|
||||||
# Build directory
|
# Build directory
|
||||||
BUILD = _build/build-$(BOARD)
|
BUILD := _build/$(BOARD)
|
||||||
|
|
||||||
|
PROJECT := $(BOARD)-$(notdir $(CURDIR))
|
||||||
|
BIN := $(TOP)/_bin/$(BOARD)/$(notdir $(CURDIR))
|
||||||
|
|
||||||
# Handy check parameter function
|
# Handy check parameter function
|
||||||
check_defined = \
|
check_defined = \
|
||||||
|
@ -13,6 +16,12 @@ __check_defined = \
|
||||||
$(if $(value $1),, \
|
$(if $(value $1),, \
|
||||||
$(error Undefined make flag: $1$(if $2, ($2))))
|
$(error Undefined make flag: $1$(if $2, ($2))))
|
||||||
|
|
||||||
|
# TODO Check if submodule haven't checkout yet
|
||||||
|
fetch_submodule_if_empty = \
|
||||||
|
ifeq ($(wildcard $(TOP)/$1/*),) \
|
||||||
|
$(info $(shell git -C $(TOP) submodule update --init)) \
|
||||||
|
endif
|
||||||
|
|
||||||
#-------------- Select the board to build for. ------------
|
#-------------- Select the board to build for. ------------
|
||||||
#BOARD_LIST = $(sort $(subst /.,,$(subst $(TOP)/hw/bsp/,,$(wildcard $(TOP)/hw/bsp/*/.))))
|
#BOARD_LIST = $(sort $(subst /.,,$(subst $(TOP)/hw/bsp/,,$(wildcard $(TOP)/hw/bsp/*/.))))
|
||||||
#ifeq ($(filter $(BOARD),$(BOARD_LIST)),)
|
#ifeq ($(filter $(BOARD),$(BOARD_LIST)),)
|
||||||
|
@ -45,6 +54,8 @@ else
|
||||||
SRC_C += $(subst $(TOP)/,,$(wildcard $(TOP)/$(FAMILY_PATH)/*.c))
|
SRC_C += $(subst $(TOP)/,,$(wildcard $(TOP)/$(FAMILY_PATH)/*.c))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
#TODO $(call fetch_submodule_if_empty,lib/sct_neopixel)
|
||||||
|
|
||||||
#-------------- Cross Compiler ------------
|
#-------------- Cross Compiler ------------
|
||||||
# Can be set by board, default to ARM GCC
|
# Can be set by board, default to ARM GCC
|
||||||
CROSS_COMPILE ?= arm-none-eabi-
|
CROSS_COMPILE ?= arm-none-eabi-
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
# Common make rules for all examples
|
# Common make rules for all examples
|
||||||
# ---------------------------------------
|
# ---------------------------------------
|
||||||
|
|
||||||
|
# Set all as default goal
|
||||||
|
.DEFAULT_GOAL := all
|
||||||
|
|
||||||
ifeq ($(FAMILY),esp32s2)
|
ifeq ($(FAMILY),esp32s2)
|
||||||
# Espressif IDF use CMake build system, this add wrapper target to call idf.py
|
# Espressif IDF use CMake build system, this add wrapper target to call idf.py
|
||||||
|
|
||||||
.PHONY: all clean flash
|
.PHONY: all clean flash
|
||||||
.DEFAULT_GOAL := all
|
|
||||||
|
|
||||||
all:
|
all:
|
||||||
idf.py -B$(BUILD) -DFAMILY=$(FAMILY) -DBOARD=$(BOARD) build
|
idf.py -B$(BUILD) -DFAMILY=$(FAMILY) -DBOARD=$(BOARD) build
|
||||||
|
@ -34,6 +36,11 @@ erase:
|
||||||
monitor:
|
monitor:
|
||||||
idf.py -B$(BUILD) -DFAMILY=$(FAMILY) -DBOARD=$(BOARD) monitor
|
idf.py -B$(BUILD) -DFAMILY=$(FAMILY) -DBOARD=$(BOARD) monitor
|
||||||
|
|
||||||
|
UF2_FAMILY_ID = 0xbfdd4eee
|
||||||
|
$(BUILD)/$(PROJECT).uf2: $(BUILD)/$(PROJECT).hex
|
||||||
|
@echo CREATE $@
|
||||||
|
$(PYTHON) $(TOP)/tools/uf2/utils/uf2conv.py -f $(UF2_FAMILY_ID) -c -o $@ $^
|
||||||
|
|
||||||
else ifeq ($(FAMILY),rp2040)
|
else ifeq ($(FAMILY),rp2040)
|
||||||
|
|
||||||
all:
|
all:
|
||||||
|
@ -98,11 +105,9 @@ $(info LDFLAGS $(LDFLAGS)) $(info )
|
||||||
$(info ASFLAGS $(ASFLAGS)) $(info )
|
$(info ASFLAGS $(ASFLAGS)) $(info )
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Set all as default goal
|
all: $(BUILD)/$(PROJECT).bin $(BUILD)/$(PROJECT).hex size
|
||||||
.DEFAULT_GOAL := all
|
|
||||||
all: $(BUILD)/$(BOARD)-firmware.bin $(BUILD)/$(BOARD)-firmware.hex size
|
|
||||||
|
|
||||||
uf2: $(BUILD)/$(BOARD)-firmware.uf2
|
uf2: $(BUILD)/$(PROJECT).uf2
|
||||||
|
|
||||||
OBJ_DIRS = $(sort $(dir $(OBJ)))
|
OBJ_DIRS = $(sort $(dir $(OBJ)))
|
||||||
$(OBJ): | $(OBJ_DIRS)
|
$(OBJ): | $(OBJ_DIRS)
|
||||||
|
@ -113,22 +118,31 @@ else
|
||||||
@$(MKDIR) -p $@
|
@$(MKDIR) -p $@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(BUILD)/$(BOARD)-firmware.elf: $(OBJ)
|
$(BUILD)/$(PROJECT).elf: $(OBJ)
|
||||||
@echo LINK $@
|
@echo LINK $@
|
||||||
@$(CC) -o $@ $(LDFLAGS) $^ -Wl,--start-group $(LIBS) -Wl,--end-group
|
@$(CC) -o $@ $(LDFLAGS) $^ -Wl,--start-group $(LIBS) -Wl,--end-group
|
||||||
|
|
||||||
$(BUILD)/$(BOARD)-firmware.bin: $(BUILD)/$(BOARD)-firmware.elf
|
$(BUILD)/$(PROJECT).bin: $(BUILD)/$(PROJECT).elf
|
||||||
@echo CREATE $@
|
@echo CREATE $@
|
||||||
@$(OBJCOPY) -O binary $^ $@
|
@$(OBJCOPY) -O binary $^ $@
|
||||||
|
|
||||||
$(BUILD)/$(BOARD)-firmware.hex: $(BUILD)/$(BOARD)-firmware.elf
|
$(BUILD)/$(PROJECT).hex: $(BUILD)/$(PROJECT).elf
|
||||||
@echo CREATE $@
|
@echo CREATE $@
|
||||||
@$(OBJCOPY) -O ihex $^ $@
|
@$(OBJCOPY) -O ihex $^ $@
|
||||||
|
|
||||||
UF2_FAMILY ?= 0x00
|
# UF2 generation, iMXRT need to strip to text only before conversion
|
||||||
$(BUILD)/$(BOARD)-firmware.uf2: $(BUILD)/$(BOARD)-firmware.hex
|
ifeq ($(FAMILY),imxrt)
|
||||||
|
$(BUILD)/$(PROJECT).uf2: $(BUILD)/$(PROJECT).elf
|
||||||
@echo CREATE $@
|
@echo CREATE $@
|
||||||
$(PYTHON) $(TOP)/tools/uf2/utils/uf2conv.py -f $(UF2_FAMILY) -c -o $@ $^
|
@$(OBJCOPY) -O ihex -R .flash_config -R .ivt $^ $(BUILD)/$(PROJECT)-textonly.hex
|
||||||
|
$(PYTHON) $(TOP)/tools/uf2/utils/uf2conv.py -f $(UF2_FAMILY_ID) -c -o $@ $(BUILD)/$(PROJECT)-textonly.hex
|
||||||
|
else
|
||||||
|
$(BUILD)/$(PROJECT).uf2: $(BUILD)/$(PROJECT).hex
|
||||||
|
@echo CREATE $@
|
||||||
|
$(PYTHON) $(TOP)/tools/uf2/utils/uf2conv.py -f $(UF2_FAMILY_ID) -c -o $@ $^
|
||||||
|
endif
|
||||||
|
|
||||||
|
copy-artifact: $(BUILD)/$(PROJECT).bin $(BUILD)/$(PROJECT).hex $(BUILD)/$(PROJECT).uf2
|
||||||
|
|
||||||
# We set vpath to point to the top of the tree so that the source files
|
# We set vpath to point to the top of the tree so that the source files
|
||||||
# can be located. By following this scheme, it allows a single build rule
|
# can be located. By following this scheme, it allows a single build rule
|
||||||
|
@ -150,7 +164,7 @@ $(BUILD)/obj/%.o: %.S
|
||||||
@echo AS $(notdir $@)
|
@echo AS $(notdir $@)
|
||||||
@$(CC) -x assembler-with-cpp $(ASFLAGS) -c -o $@ $<
|
@$(CC) -x assembler-with-cpp $(ASFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
size: $(BUILD)/$(BOARD)-firmware.elf
|
size: $(BUILD)/$(PROJECT).elf
|
||||||
-@echo ''
|
-@echo ''
|
||||||
@$(SIZE) $<
|
@$(SIZE) $<
|
||||||
-@echo ''
|
-@echo ''
|
||||||
|
@ -178,7 +192,7 @@ endif
|
||||||
JLINK_IF ?= swd
|
JLINK_IF ?= swd
|
||||||
|
|
||||||
# Flash using jlink
|
# Flash using jlink
|
||||||
flash-jlink: $(BUILD)/$(BOARD)-firmware.hex
|
flash-jlink: $(BUILD)/$(PROJECT).hex
|
||||||
@echo halt > $(BUILD)/$(BOARD).jlink
|
@echo halt > $(BUILD)/$(BOARD).jlink
|
||||||
@echo r > $(BUILD)/$(BOARD).jlink
|
@echo r > $(BUILD)/$(BOARD).jlink
|
||||||
@echo loadfile $^ >> $(BUILD)/$(BOARD).jlink
|
@echo loadfile $^ >> $(BUILD)/$(BOARD).jlink
|
||||||
|
@ -188,12 +202,27 @@ flash-jlink: $(BUILD)/$(BOARD)-firmware.hex
|
||||||
$(JLINKEXE) -device $(JLINK_DEVICE) -if $(JLINK_IF) -JTAGConf -1,-1 -speed auto -CommandFile $(BUILD)/$(BOARD).jlink
|
$(JLINKEXE) -device $(JLINK_DEVICE) -if $(JLINK_IF) -JTAGConf -1,-1 -speed auto -CommandFile $(BUILD)/$(BOARD).jlink
|
||||||
|
|
||||||
# flash STM32 MCU using stlink with STM32 Cube Programmer CLI
|
# flash STM32 MCU using stlink with STM32 Cube Programmer CLI
|
||||||
flash-stlink: $(BUILD)/$(BOARD)-firmware.elf
|
flash-stlink: $(BUILD)/$(PROJECT).elf
|
||||||
STM32_Programmer_CLI --connect port=swd --write $< --go
|
STM32_Programmer_CLI --connect port=swd --write $< --go
|
||||||
|
|
||||||
# flash with pyocd
|
# flash with pyocd
|
||||||
flash-pyocd: $(BUILD)/$(BOARD)-firmware.hex
|
flash-pyocd: $(BUILD)/$(PROJECT).hex
|
||||||
pyocd flash -t $(PYOCD_TARGET) $<
|
pyocd flash -t $(PYOCD_TARGET) $<
|
||||||
pyocd reset -t $(PYOCD_TARGET)
|
pyocd reset -t $(PYOCD_TARGET)
|
||||||
|
|
||||||
endif # Make target
|
endif # GNU Make
|
||||||
|
|
||||||
|
#-------------- Artifacts --------------
|
||||||
|
|
||||||
|
# Create binary directory
|
||||||
|
$(BIN):
|
||||||
|
@$(MKDIR) -p $@
|
||||||
|
|
||||||
|
# Copy binaries .elf, .bin, .hex, .uf2 to BIN for upload
|
||||||
|
# due to large size of combined artifacts, only uf2 is uploaded for now
|
||||||
|
copy-artifact: $(BIN)
|
||||||
|
@$(CP) $(BUILD)/$(PROJECT).uf2 $(BIN)
|
||||||
|
#@$(CP) $(BUILD)/$(PROJECT).bin $(BIN)
|
||||||
|
#@$(CP) $(BUILD)/$(PROJECT).hex $(BIN)
|
||||||
|
#@$(CP) $(BUILD)/$(PROJECT).elf $(BIN)
|
||||||
|
|
||||||
|
|
|
@ -42,10 +42,10 @@ JLINK_DEVICE = DA14695
|
||||||
# flash using jlink but with some twists
|
# flash using jlink but with some twists
|
||||||
flash: flash-dialog
|
flash: flash-dialog
|
||||||
|
|
||||||
flash-dialog: $(BUILD)/$(BOARD)-firmware.bin
|
flash-dialog: $(BUILD)/$(PROJECT).bin
|
||||||
@echo '#define SW_VERSION "v_1.0.0.1"' >$(BUILD)/version.h
|
@echo '#define SW_VERSION "v_1.0.0.1"' >$(BUILD)/version.h
|
||||||
@echo '#define SW_VERSION_DATE "'`date +"%Y-%m-%d %H:%M"`'"' >>$(BUILD)/version.h
|
@echo '#define SW_VERSION_DATE "'`date +"%Y-%m-%d %H:%M"`'"' >>$(BUILD)/version.h
|
||||||
mkimage da1469x $(BUILD)/$(BOARD)-firmware.bin $(BUILD)/version.h $^.img
|
mkimage da1469x $(BUILD)/$(PROJECT).bin $(BUILD)/version.h $^.img
|
||||||
cp $(TOP)/hw/bsp/$(BOARD)/product_header.dump $(BUILD)/$(BOARD)-image.bin
|
cp $(TOP)/hw/bsp/$(BOARD)/product_header.dump $(BUILD)/$(BOARD)-image.bin
|
||||||
cat $^.img >> $(BUILD)/$(BOARD)-image.bin
|
cat $^.img >> $(BUILD)/$(BOARD)-image.bin
|
||||||
@echo r > $(BUILD)/$(BOARD).jlink
|
@echo r > $(BUILD)/$(BOARD).jlink
|
||||||
|
|
|
@ -42,10 +42,10 @@ JLINK_DEVICE = DA14699
|
||||||
# flash using jlink but with some twists
|
# flash using jlink but with some twists
|
||||||
flash: flash-dialog
|
flash: flash-dialog
|
||||||
|
|
||||||
flash-dialog: $(BUILD)/$(BOARD)-firmware.bin
|
flash-dialog: $(BUILD)/$(PROJECT).bin
|
||||||
@echo '#define SW_VERSION "v_1.0.0.1"' >$(BUILD)/version.h
|
@echo '#define SW_VERSION "v_1.0.0.1"' >$(BUILD)/version.h
|
||||||
@echo '#define SW_VERSION_DATE "'`date +"%Y-%m-%d %H:%M"`'"' >>$(BUILD)/version.h
|
@echo '#define SW_VERSION_DATE "'`date +"%Y-%m-%d %H:%M"`'"' >>$(BUILD)/version.h
|
||||||
mkimage da1469x $(BUILD)/$(BOARD)-firmware.bin $(BUILD)/version.h $^.img
|
mkimage da1469x $(BUILD)/$(PROJECT).bin $(BUILD)/version.h $^.img
|
||||||
cp $(TOP)/hw/bsp/$(BOARD)/product_header.dump $(BUILD)/$(BOARD)-image.bin
|
cp $(TOP)/hw/bsp/$(BOARD)/product_header.dump $(BUILD)/$(BOARD)-image.bin
|
||||||
cat $^.img >> $(BUILD)/$(BOARD)-image.bin
|
cat $^.img >> $(BUILD)/$(BOARD)-image.bin
|
||||||
@echo r > $(BUILD)/$(BOARD).jlink
|
@echo r > $(BUILD)/$(BOARD).jlink
|
||||||
|
|
|
@ -51,5 +51,5 @@ FREERTOS_PORT = ARM_CM33_NTZ/non_secure
|
||||||
JLINK_DEVICE = LPC55S69
|
JLINK_DEVICE = LPC55S69
|
||||||
|
|
||||||
# flash using pyocd
|
# flash using pyocd
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.hex
|
flash: $(BUILD)/$(PROJECT).hex
|
||||||
pyocd flash -t LPC55S69 $<
|
pyocd flash -t LPC55S69 $<
|
||||||
|
|
|
@ -27,9 +27,9 @@ CHIP_FAMILY = eptri
|
||||||
FREERTOS_PORT = RISC-V
|
FREERTOS_PORT = RISC-V
|
||||||
|
|
||||||
# flash using dfu-util
|
# flash using dfu-util
|
||||||
$(BUILD)/$(BOARD)-firmware.dfu: $(BUILD)/$(BOARD)-firmware.bin
|
$(BUILD)/$(PROJECT).dfu: $(BUILD)/$(PROJECT).bin
|
||||||
@echo "Create $@"
|
@echo "Create $@"
|
||||||
python $(TOP)/hw/bsp/$(BOARD)/dfu.py -b $^ -D 0x1209:0x5bf0 $@
|
python $(TOP)/hw/bsp/$(BOARD)/dfu.py -b $^ -D 0x1209:0x5bf0 $@
|
||||||
|
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.dfu
|
flash: $(BUILD)/$(PROJECT).dfu
|
||||||
dfu-util -D $^
|
dfu-util -D $^
|
||||||
|
|
|
@ -6,5 +6,5 @@ JLINK_DEVICE = MIMXRT1062xxx6A
|
||||||
|
|
||||||
# flash by using teensy_loader_cli https://github.com/PaulStoffregen/teensy_loader_cli
|
# flash by using teensy_loader_cli https://github.com/PaulStoffregen/teensy_loader_cli
|
||||||
# Make sure it is in your PATH
|
# Make sure it is in your PATH
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.hex
|
flash: $(BUILD)/$(PROJECT).hex
|
||||||
teensy_loader_cli --mcu=imxrt1062 -v -w $<
|
teensy_loader_cli --mcu=imxrt1062 -v -w $<
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
UF2_FAMILY_ID = 0x4fb2d5bd
|
||||||
|
|
||||||
include $(TOP)/$(BOARD_PATH)/board.mk
|
include $(TOP)/$(BOARD_PATH)/board.mk
|
||||||
|
|
||||||
CFLAGS += \
|
CFLAGS += \
|
||||||
|
|
|
@ -42,5 +42,5 @@ FREERTOS_PORT = ARM_CM0
|
||||||
JLINK_DEVICE = LPC11U37/401
|
JLINK_DEVICE = LPC11U37/401
|
||||||
|
|
||||||
# flash using pyocd
|
# flash using pyocd
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.hex
|
flash: $(BUILD)/$(PROJECT).hex
|
||||||
pyocd flash -t lpc11u37 $<
|
pyocd flash -t lpc11u37 $<
|
||||||
|
|
|
@ -39,5 +39,5 @@ FREERTOS_PORT = ARM_CM0
|
||||||
JLINK_DEVICE = LPC11U68
|
JLINK_DEVICE = LPC11U68
|
||||||
|
|
||||||
# flash using pyocd
|
# flash using pyocd
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.hex
|
flash: $(BUILD)/$(PROJECT).hex
|
||||||
pyocd flash -t lpc11u68 $<
|
pyocd flash -t lpc11u68 $<
|
||||||
|
|
|
@ -43,5 +43,5 @@ FREERTOS_PORT = ARM_CM0
|
||||||
JLINK_DEVICE = LPC51U68
|
JLINK_DEVICE = LPC51U68
|
||||||
|
|
||||||
# flash using pyocd (51u68 is not supported yet)
|
# flash using pyocd (51u68 is not supported yet)
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.hex
|
flash: $(BUILD)/$(PROJECT).hex
|
||||||
pyocd flash -t LPC51U68 $<
|
pyocd flash -t LPC51U68 $<
|
||||||
|
|
|
@ -45,5 +45,5 @@ FREERTOS_PORT = ARM_CM4F
|
||||||
JLINK_DEVICE = LPC54114J256_M4
|
JLINK_DEVICE = LPC54114J256_M4
|
||||||
|
|
||||||
# flash using pyocd
|
# flash using pyocd
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.hex
|
flash: $(BUILD)/$(PROJECT).hex
|
||||||
pyocd flash -t LPC54114 $<
|
pyocd flash -t LPC54114 $<
|
||||||
|
|
|
@ -45,5 +45,5 @@ FREERTOS_PORT = ARM_CM33_NTZ/non_secure
|
||||||
JLINK_DEVICE = LPC55S69
|
JLINK_DEVICE = LPC55S69
|
||||||
|
|
||||||
# flash using pyocd
|
# flash using pyocd
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.hex
|
flash: $(BUILD)/$(PROJECT).hex
|
||||||
pyocd flash -t LPC55S69 $<
|
pyocd flash -t LPC55S69 $<
|
||||||
|
|
|
@ -41,6 +41,6 @@ FREERTOS_PORT = ARM_CM3
|
||||||
JLINK_DEVICE = LPC1768
|
JLINK_DEVICE = LPC1768
|
||||||
|
|
||||||
# flash using pyocd
|
# flash using pyocd
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.hex
|
flash: $(BUILD)/$(PROJECT).hex
|
||||||
pyocd flash -t lpc1768 $<
|
pyocd flash -t lpc1768 $<
|
||||||
|
|
||||||
|
|
|
@ -28,9 +28,9 @@ endif
|
||||||
# flash target using TI MSP430-Flasher
|
# flash target using TI MSP430-Flasher
|
||||||
# http://www.ti.com/tool/MSP430-FLASHER
|
# http://www.ti.com/tool/MSP430-FLASHER
|
||||||
# Please add its installation dir to PATH
|
# Please add its installation dir to PATH
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.hex
|
flash: $(BUILD)/$(PROJECT).hex
|
||||||
MSP430Flasher -w $< -z [VCC]
|
MSP430Flasher -w $< -z [VCC]
|
||||||
|
|
||||||
# flash target using mspdebug.
|
# flash target using mspdebug.
|
||||||
flash-mspdebug: $(BUILD)/$(BOARD)-firmware.elf
|
flash-mspdebug: $(BUILD)/$(PROJECT).elf
|
||||||
$(MSPDEBUG) tilib "prog $<" --allow-fw-update
|
$(MSPDEBUG) tilib "prog $<" --allow-fw-update
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
MCU_VARIANT = nrf52840
|
MCU_VARIANT = nrf52840
|
||||||
CFLAGS += -DNRF52840_XXAA
|
CFLAGS += -DNRF52840_XXAA
|
||||||
|
|
||||||
$(BUILD)/$(BOARD)-firmware.zip: $(BUILD)/$(BOARD)-firmware.hex
|
$(BUILD)/$(PROJECT).zip: $(BUILD)/$(PROJECT).hex
|
||||||
adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0xFFFE --application $^ $@
|
adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0xFFFE --application $^ $@
|
||||||
|
|
||||||
# flash using adafruit-nrfutil dfu
|
# flash using adafruit-nrfutil dfu
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.zip
|
flash: $(BUILD)/$(PROJECT).zip
|
||||||
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
||||||
adafruit-nrfutil --verbose dfu serial --package $^ -p $(SERIAL) -b 115200 --singlebank --touch 1200
|
adafruit-nrfutil --verbose dfu serial --package $^ -p $(SERIAL) -b 115200 --singlebank --touch 1200
|
||||||
|
|
|
@ -8,6 +8,6 @@ LD_FILE = $(BOARD_PATH)/$(BOARD).ld
|
||||||
# Add it to your PATH or change BOSSAC variable to match your installation
|
# Add it to your PATH or change BOSSAC variable to match your installation
|
||||||
BOSSAC = bossac
|
BOSSAC = bossac
|
||||||
|
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.bin
|
flash: $(BUILD)/$(PROJECT).bin
|
||||||
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
||||||
$(BOSSAC) --port=$(SERIAL) -U -i -e -w $^ -R
|
$(BOSSAC) --port=$(SERIAL) -U -i -e -w $^ -R
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
MCU_VARIANT = nrf52840
|
MCU_VARIANT = nrf52840
|
||||||
CFLAGS += -DNRF52840_XXAA
|
CFLAGS += -DNRF52840_XXAA
|
||||||
|
|
||||||
$(BUILD)/$(BOARD)-firmware.zip: $(BUILD)/$(BOARD)-firmware.hex
|
$(BUILD)/$(PROJECT).zip: $(BUILD)/$(PROJECT).hex
|
||||||
adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0xFFFE --application $^ $@
|
adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0xFFFE --application $^ $@
|
||||||
|
|
||||||
# flash using adafruit-nrfutil dfu
|
# flash using adafruit-nrfutil dfu
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.zip
|
flash: $(BUILD)/$(PROJECT).zip
|
||||||
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
||||||
adafruit-nrfutil --verbose dfu serial --package $^ -p $(SERIAL) -b 115200 --singlebank --touch 1200
|
adafruit-nrfutil --verbose dfu serial --package $^ -p $(SERIAL) -b 115200 --singlebank --touch 1200
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
MCU_VARIANT = nrf52840
|
MCU_VARIANT = nrf52840
|
||||||
CFLAGS += -DNRF52840_XXAA
|
CFLAGS += -DNRF52840_XXAA
|
||||||
|
|
||||||
$(BUILD)/$(BOARD)-firmware.zip: $(BUILD)/$(BOARD)-firmware.hex
|
$(BUILD)/$(PROJECT).zip: $(BUILD)/$(PROJECT).hex
|
||||||
adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0xFFFE --application $^ $@
|
adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0xFFFE --application $^ $@
|
||||||
|
|
||||||
# flash using adafruit-nrfutil dfu
|
# flash using adafruit-nrfutil dfu
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.zip
|
flash: $(BUILD)/$(PROJECT).zip
|
||||||
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
||||||
adafruit-nrfutil --verbose dfu serial --package $^ -p $(SERIAL) -b 115200 --singlebank --touch 1200
|
adafruit-nrfutil --verbose dfu serial --package $^ -p $(SERIAL) -b 115200 --singlebank --touch 1200
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
MCU_VARIANT = nrf52840
|
MCU_VARIANT = nrf52840
|
||||||
CFLAGS += -DNRF52840_XXAA
|
CFLAGS += -DNRF52840_XXAA
|
||||||
|
|
||||||
$(BUILD)/$(BOARD)-firmware.zip: $(BUILD)/$(BOARD)-firmware.hex
|
$(BUILD)/$(PROJECT).zip: $(BUILD)/$(PROJECT).hex
|
||||||
adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0xFFFE --application $^ $@
|
adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0xFFFE --application $^ $@
|
||||||
|
|
||||||
# flash using adafruit-nrfutil dfu
|
# flash using adafruit-nrfutil dfu
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.zip
|
flash: $(BUILD)/$(PROJECT).zip
|
||||||
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
||||||
adafruit-nrfutil --verbose dfu serial --package $^ -p $(SERIAL) -b 115200 --singlebank --touch 1200
|
adafruit-nrfutil --verbose dfu serial --package $^ -p $(SERIAL) -b 115200 --singlebank --touch 1200
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
MCU_VARIANT = nrf52840
|
MCU_VARIANT = nrf52840
|
||||||
CFLAGS += -DNRF52840_XXAA
|
CFLAGS += -DNRF52840_XXAA
|
||||||
|
|
||||||
$(BUILD)/$(BOARD)-firmware.zip: $(BUILD)/$(BOARD)-firmware.hex
|
$(BUILD)/$(PROJECT).zip: $(BUILD)/$(PROJECT).hex
|
||||||
adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0xFFFE --application $^ $@
|
adafruit-nrfutil dfu genpkg --dev-type 0x0052 --sd-req 0xFFFE --application $^ $@
|
||||||
|
|
||||||
# flash using adafruit-nrfutil dfu
|
# flash using adafruit-nrfutil dfu
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.zip
|
flash: $(BUILD)/$(PROJECT).zip
|
||||||
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
||||||
adafruit-nrfutil --verbose dfu serial --package $^ -p $(SERIAL) -b 115200 --singlebank --touch 1200
|
adafruit-nrfutil --verbose dfu serial --package $^ -p $(SERIAL) -b 115200 --singlebank --touch 1200
|
||||||
|
|
|
@ -7,9 +7,9 @@ LD_FILE = $(BOARD_PATH)/$(BOARD).ld
|
||||||
# make BOARD=nrf52840_mdk_dongle SERIAL=/dev/ttyACM0 all flash
|
# make BOARD=nrf52840_mdk_dongle SERIAL=/dev/ttyACM0 all flash
|
||||||
NRFUTIL = nrfutil
|
NRFUTIL = nrfutil
|
||||||
|
|
||||||
$(BUILD)/$(BOARD)-firmware.zip: $(BUILD)/$(BOARD)-firmware.hex
|
$(BUILD)/$(PROJECT).zip: $(BUILD)/$(PROJECT).hex
|
||||||
$(NRFUTIL) pkg generate --hw-version 52 --sd-req 0x0000 --debug-mode --application $^ $@
|
$(NRFUTIL) pkg generate --hw-version 52 --sd-req 0x0000 --debug-mode --application $^ $@
|
||||||
|
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.zip
|
flash: $(BUILD)/$(PROJECT).zip
|
||||||
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
||||||
$(NRFUTIL) dfu usb-serial --package $^ -p $(SERIAL) -b 115200
|
$(NRFUTIL) dfu usb-serial --package $^ -p $(SERIAL) -b 115200
|
|
@ -7,9 +7,9 @@ LD_FILE = $(BOARD_PATH)/$(BOARD).ld
|
||||||
# make BOARD=pca10059 SERIAL=/dev/ttyACM0 all flash
|
# make BOARD=pca10059 SERIAL=/dev/ttyACM0 all flash
|
||||||
NRFUTIL = nrfutil
|
NRFUTIL = nrfutil
|
||||||
|
|
||||||
$(BUILD)/$(BOARD)-firmware.zip: $(BUILD)/$(BOARD)-firmware.hex
|
$(BUILD)/$(PROJECT).zip: $(BUILD)/$(PROJECT).hex
|
||||||
$(NRFUTIL) pkg generate --hw-version 52 --sd-req 0x0000 --debug-mode --application $^ $@
|
$(NRFUTIL) pkg generate --hw-version 52 --sd-req 0x0000 --debug-mode --application $^ $@
|
||||||
|
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.zip
|
flash: $(BUILD)/$(PROJECT).zip
|
||||||
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
||||||
$(NRFUTIL) dfu usb-serial --package $^ -p $(SERIAL) -b 115200
|
$(NRFUTIL) dfu usb-serial --package $^ -p $(SERIAL) -b 115200
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
UF2_FAMILY_ID = 0xADA52840
|
||||||
|
|
||||||
include $(TOP)/$(BOARD_PATH)/board.mk
|
include $(TOP)/$(BOARD_PATH)/board.mk
|
||||||
|
|
||||||
CFLAGS += \
|
CFLAGS += \
|
||||||
|
@ -58,6 +60,3 @@ FREERTOS_PORT = ARM_CM4F
|
||||||
|
|
||||||
# For flash-jlink target
|
# For flash-jlink target
|
||||||
JLINK_DEVICE = $(MCU_VARIANT)_xxaa
|
JLINK_DEVICE = $(MCU_VARIANT)_xxaa
|
||||||
|
|
||||||
# For uf2 conversion
|
|
||||||
UF2_FAMILY = 0xADA52840
|
|
||||||
|
|
|
@ -52,5 +52,5 @@ JLINK_DEVICE = NUC121SC2AE
|
||||||
|
|
||||||
# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
|
# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
|
||||||
# Please compile and install it from github source
|
# Please compile and install it from github source
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.elf
|
flash: $(BUILD)/$(PROJECT).elf
|
||||||
openocd -f interface/nulink.cfg -f target/numicroM0.cfg -c "program $< reset exit"
|
openocd -f interface/nulink.cfg -f target/numicroM0.cfg -c "program $< reset exit"
|
||||||
|
|
|
@ -36,5 +36,5 @@ JLINK_DEVICE = NUC125SC2AE
|
||||||
|
|
||||||
# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
|
# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
|
||||||
# Please compile and install it from github source
|
# Please compile and install it from github source
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.elf
|
flash: $(BUILD)/$(PROJECT).elf
|
||||||
openocd -f interface/nulink.cfg -f target/numicroM0.cfg -c "program $< reset exit"
|
openocd -f interface/nulink.cfg -f target/numicroM0.cfg -c "program $< reset exit"
|
||||||
|
|
|
@ -56,5 +56,5 @@ JLINK_DEVICE = NUC126VG4AE
|
||||||
|
|
||||||
# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
|
# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
|
||||||
# Please compile and install it from github source
|
# Please compile and install it from github source
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.elf
|
flash: $(BUILD)/$(PROJECT).elf
|
||||||
openocd -f interface/nulink.cfg -f target/numicroM0.cfg -c "program $< reset exit"
|
openocd -f interface/nulink.cfg -f target/numicroM0.cfg -c "program $< reset exit"
|
||||||
|
|
|
@ -52,5 +52,5 @@ JLINK_DEVICE = NUC120LE3
|
||||||
|
|
||||||
# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
|
# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
|
||||||
# Please compile and install it from github source
|
# Please compile and install it from github source
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.elf
|
flash: $(BUILD)/$(PROJECT).elf
|
||||||
openocd -f interface/nulink.cfg -f target/numicroM0.cfg -c "program $< reset exit"
|
openocd -f interface/nulink.cfg -f target/numicroM0.cfg -c "program $< reset exit"
|
||||||
|
|
|
@ -57,5 +57,5 @@ JLINK_DEVICE = NUC505YO13Y
|
||||||
|
|
||||||
# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
|
# Flash using Nuvoton's openocd fork at https://github.com/OpenNuvoton/OpenOCD-Nuvoton
|
||||||
# Please compile and install it from github source
|
# Please compile and install it from github source
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.elf
|
flash: $(BUILD)/$(PROJECT).elf
|
||||||
openocd -f interface/nulink.cfg -f target/numicroM4.cfg -c "program $< reset exit"
|
openocd -f interface/nulink.cfg -f target/numicroM4.cfg -c "program $< reset exit"
|
||||||
|
|
|
@ -42,5 +42,5 @@ FREERTOS_PORT = ARM_CM0
|
||||||
JLINK_DEVICE = ATSAMD11D14
|
JLINK_DEVICE = ATSAMD11D14
|
||||||
|
|
||||||
# flash using edbg
|
# flash using edbg
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.bin
|
flash: $(BUILD)/$(PROJECT).bin
|
||||||
edbg -b -t samd11 -e -pv -f $<
|
edbg -b -t samd11 -e -pv -f $<
|
||||||
|
|
|
@ -6,6 +6,6 @@ LD_FILE = $(BOARD_PATH)/samd21g18a_flash.ld
|
||||||
JLINK_DEVICE = ATSAMD21G18
|
JLINK_DEVICE = ATSAMD21G18
|
||||||
|
|
||||||
# flash using dfu-util
|
# flash using dfu-util
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.bin
|
flash: $(BUILD)/$(PROJECT).bin
|
||||||
dfu-util -a 0 -d 1d50:615c -D $< || dfu-util -a 0 -d 16d0:05a5 -D $<
|
dfu-util -a 0 -d 1d50:615c -D $< || dfu-util -a 0 -d 16d0:05a5 -D $<
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
UF2_FAMILY_ID = 0x68ed2b88
|
||||||
|
|
||||||
include $(TOP)/$(BOARD_PATH)/board.mk
|
include $(TOP)/$(BOARD_PATH)/board.mk
|
||||||
|
|
||||||
CFLAGS += \
|
CFLAGS += \
|
||||||
|
@ -41,6 +43,6 @@ FREERTOS_PORT = ARM_CM0
|
||||||
# Add it to your PATH or change BOSSAC variable to match your installation
|
# Add it to your PATH or change BOSSAC variable to match your installation
|
||||||
BOSSAC = bossac
|
BOSSAC = bossac
|
||||||
|
|
||||||
flash-bossac: $(BUILD)/$(BOARD)-firmware.bin
|
flash-bossac: $(BUILD)/$(PROJECT).bin
|
||||||
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
||||||
$(BOSSAC) --port=$(SERIAL) -U -i --offset=0x2000 -e -w $^ -R
|
$(BOSSAC) --port=$(SERIAL) -U -i --offset=0x2000 -e -w $^ -R
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
UF2_FAMILY_ID = 0x55114460
|
||||||
|
|
||||||
include $(TOP)/$(BOARD_PATH)/board.mk
|
include $(TOP)/$(BOARD_PATH)/board.mk
|
||||||
|
|
||||||
CFLAGS += \
|
CFLAGS += \
|
||||||
|
@ -44,6 +46,6 @@ FREERTOS_PORT = ARM_CM4F
|
||||||
# Add it to your PATH or change BOSSAC variable to match your installation
|
# Add it to your PATH or change BOSSAC variable to match your installation
|
||||||
BOSSAC = bossac
|
BOSSAC = bossac
|
||||||
|
|
||||||
flash-bossac: $(BUILD)/$(BOARD)-firmware.bin
|
flash-bossac: $(BUILD)/$(PROJECT).bin
|
||||||
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
@:$(call check_defined, SERIAL, example: SERIAL=/dev/ttyACM0)
|
||||||
$(BOSSAC) --port=$(SERIAL) -U -i --offset=0x4000 -e -w $^ -R
|
$(BOSSAC) --port=$(SERIAL) -U -i --offset=0x4000 -e -w $^ -R
|
||||||
|
|
|
@ -54,5 +54,5 @@ JLINK_DEVICE = SAME70Q21B
|
||||||
# flash using edbg from https://github.com/ataradov/edbg
|
# flash using edbg from https://github.com/ataradov/edbg
|
||||||
# Note: SAME70's GPNVM1 must be set to 1 to boot from flash with
|
# Note: SAME70's GPNVM1 must be set to 1 to boot from flash with
|
||||||
# edbg -t same70 -F w0,1,1
|
# edbg -t same70 -F w0,1,1
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.bin
|
flash: $(BUILD)/$(PROJECT).bin
|
||||||
edbg --verbose -t same70 -pv -f $<
|
edbg --verbose -t same70 -pv -f $<
|
||||||
|
|
|
@ -49,5 +49,5 @@ FREERTOS_PORT = ARM_CM4F
|
||||||
JLINK_DEVICE = ATSAMG55J19
|
JLINK_DEVICE = ATSAMG55J19
|
||||||
|
|
||||||
# flash using edbg from https://github.com/ataradov/edbg
|
# flash using edbg from https://github.com/ataradov/edbg
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.bin
|
flash: $(BUILD)/$(PROJECT).bin
|
||||||
edbg --verbose -t samg55 -pv -f $<
|
edbg --verbose -t samg55 -pv -f $<
|
||||||
|
|
|
@ -61,13 +61,13 @@ LDFLAGS += \
|
||||||
VENDOR = sony
|
VENDOR = sony
|
||||||
CHIP_FAMILY = cxd56
|
CHIP_FAMILY = cxd56
|
||||||
|
|
||||||
$(MKSPK): $(BUILD)/$(BOARD)-firmware.elf
|
$(MKSPK): $(BUILD)/$(PROJECT).elf
|
||||||
$(MAKE) -C $(TOP)/hw/mcu/sony/cxd56/mkspk
|
$(MAKE) -C $(TOP)/hw/mcu/sony/cxd56/mkspk
|
||||||
|
|
||||||
$(BUILD)/$(BOARD)-firmware.spk: $(MKSPK)
|
$(BUILD)/$(PROJECT).spk: $(MKSPK)
|
||||||
@echo CREATE $@
|
@echo CREATE $@
|
||||||
@$(MKSPK) -c 2 $(BUILD)/$(BOARD)-firmware.elf nuttx $@
|
@$(MKSPK) -c 2 $(BUILD)/$(PROJECT).elf nuttx $@
|
||||||
|
|
||||||
# flash
|
# flash
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.spk
|
flash: $(BUILD)/$(PROJECT).spk
|
||||||
@$(TOP)/hw/mcu/sony/cxd56/tools/flash_writer.py -s -c $(SERIAL) -d -b 115200 -n $<
|
@$(TOP)/hw/mcu/sony/cxd56/tools/flash_writer.py -s -c $(SERIAL) -d -b 115200 -n $<
|
||||||
|
|
|
@ -46,5 +46,5 @@ FREERTOS_PORT = ARM_CM3
|
||||||
JLINK_DEVICE = stm32f103c8
|
JLINK_DEVICE = stm32f103c8
|
||||||
|
|
||||||
# flash target ROM bootloader
|
# flash target ROM bootloader
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.bin
|
flash: $(BUILD)/$(PROJECT).bin
|
||||||
dfu-util -R -a 0 --dfuse-address 0x08000000 -D $<
|
dfu-util -R -a 0 --dfuse-address 0x08000000 -D $<
|
||||||
|
|
|
@ -8,5 +8,5 @@ SRC_S += $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f405xx.s
|
||||||
JLINK_DEVICE = stm32f405rg
|
JLINK_DEVICE = stm32f405rg
|
||||||
|
|
||||||
# flash target ROM bootloader
|
# flash target ROM bootloader
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.bin
|
flash: $(BUILD)/$(PROJECT).bin
|
||||||
dfu-util -R -a 0 --dfuse-address 0x08000000 -D $<
|
dfu-util -R -a 0 --dfuse-address 0x08000000 -D $<
|
||||||
|
|
|
@ -8,5 +8,5 @@ SRC_S += $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f401xc.s
|
||||||
JLINK_DEVICE = stm32f401cc
|
JLINK_DEVICE = stm32f401cc
|
||||||
|
|
||||||
# flash target ROM bootloader
|
# flash target ROM bootloader
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.bin
|
flash: $(BUILD)/$(PROJECT).bin
|
||||||
dfu-util -R -a 0 --dfuse-address 0x08000000 -D $<
|
dfu-util -R -a 0 --dfuse-address 0x08000000 -D $<
|
||||||
|
|
|
@ -8,5 +8,5 @@ SRC_S += $(ST_CMSIS)/Source/Templates/gcc/startup_stm32f411xe.s
|
||||||
JLINK_DEVICE = stm32f411ce
|
JLINK_DEVICE = stm32f411ce
|
||||||
|
|
||||||
# flash target ROM bootloader
|
# flash target ROM bootloader
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.bin
|
flash: $(BUILD)/$(PROJECT).bin
|
||||||
dfu-util -R -a 0 --dfuse-address 0x08000000 -D $<
|
dfu-util -R -a 0 --dfuse-address 0x08000000 -D $<
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
UF2_FAMILY_ID = 0x57755a57
|
||||||
|
|
||||||
include $(TOP)/$(BOARD_PATH)/board.mk
|
include $(TOP)/$(BOARD_PATH)/board.mk
|
||||||
|
|
||||||
CFLAGS += \
|
CFLAGS += \
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
UF2_FAMILY_ID = 0x53b80f00
|
||||||
|
|
||||||
include $(TOP)/$(BOARD_PATH)/board.mk
|
include $(TOP)/$(BOARD_PATH)/board.mk
|
||||||
|
|
||||||
CFLAGS += \
|
CFLAGS += \
|
||||||
|
|
|
@ -50,5 +50,5 @@ JLINK_DEVICE = STM32L053R8
|
||||||
STM32Prog = STM32_Programmer_CLI
|
STM32Prog = STM32_Programmer_CLI
|
||||||
|
|
||||||
# flash target using on-board stlink
|
# flash target using on-board stlink
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.elf
|
flash: $(BUILD)/$(PROJECT).elf
|
||||||
$(STM32Prog) --connect port=swd --write $< --go
|
$(STM32Prog) --connect port=swd --write $< --go
|
||||||
|
|
|
@ -53,5 +53,5 @@ JLINK_DEVICE = stm32l476vg
|
||||||
STM32Prog = STM32_Programmer_CLI
|
STM32Prog = STM32_Programmer_CLI
|
||||||
|
|
||||||
# flash target using on-board stlink
|
# flash target using on-board stlink
|
||||||
flash: $(BUILD)/$(BOARD)-firmware.elf
|
flash: $(BUILD)/$(PROJECT).elf
|
||||||
$(STM32Prog) --connect port=swd --write $< --go
|
$(STM32Prog) --connect port=swd --write $< --go
|
||||||
|
|
|
@ -74,8 +74,8 @@ def build_board(example, board):
|
||||||
print(build_result.stdout.decode("utf-8"))
|
print(build_result.stdout.decode("utf-8"))
|
||||||
|
|
||||||
def build_size(example, board):
|
def build_size(example, board):
|
||||||
#elf_file = 'examples/device/{}/_build/build-{}/{}-firmware.elf'.format(example, board, board)
|
#elf_file = 'examples/device/{}/_build/{}/{}-firmware.elf'.format(example, board, board)
|
||||||
elf_file = 'examples/{}/_build/build-{}/*.elf'.format(example, board)
|
elf_file = 'examples/{}/_build/{}/*.elf'.format(example, board)
|
||||||
size_output = subprocess.run('size {}'.format(elf_file), shell=True, stdout=subprocess.PIPE).stdout.decode("utf-8")
|
size_output = subprocess.run('size {}'.format(elf_file), shell=True, stdout=subprocess.PIPE).stdout.decode("utf-8")
|
||||||
size_list = size_output.split('\n')[1].split('\t')
|
size_list = size_output.split('\n')[1].split('\t')
|
||||||
flash_size = int(size_list[0])
|
flash_size = int(size_list[0])
|
||||||
|
|
|
@ -72,8 +72,8 @@ def build_board(example, board):
|
||||||
print(build_result.stdout.decode("utf-8"))
|
print(build_result.stdout.decode("utf-8"))
|
||||||
|
|
||||||
def build_size(example, board):
|
def build_size(example, board):
|
||||||
#elf_file = 'examples/device/{}/_build/build-{}/{}-firmware.elf'.format(example, board, board)
|
#elf_file = 'examples/device/{}/_build/{}/{}-firmware.elf'.format(example, board, board)
|
||||||
elf_file = 'examples/device/{}/_build/build-{}/*.elf'.format(example, board)
|
elf_file = 'examples/device/{}/_build/{}/*.elf'.format(example, board)
|
||||||
size_output = subprocess.run('size {}'.format(elf_file), shell=True, stdout=subprocess.PIPE).stdout.decode("utf-8")
|
size_output = subprocess.run('size {}'.format(elf_file), shell=True, stdout=subprocess.PIPE).stdout.decode("utf-8")
|
||||||
size_list = size_output.split('\n')[1].split('\t')
|
size_list = size_output.split('\n')[1].split('\t')
|
||||||
flash_size = int(size_list[0])
|
flash_size = int(size_list[0])
|
||||||
|
|
|
@ -66,13 +66,14 @@ def build_board(example, board):
|
||||||
skip_count += 1
|
skip_count += 1
|
||||||
print(build_format.format(example, board, success, '-', flash_size, sram_size))
|
print(build_format.format(example, board, success, '-', flash_size, sram_size))
|
||||||
else:
|
else:
|
||||||
subprocess.run("make -C examples/{} BOARD={} clean".format(example, board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
#subprocess.run("make -C examples/{} BOARD={} clean".format(example, board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||||
build_result = subprocess.run("make -j -C examples/{} BOARD={} all".format(example, board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
build_result = subprocess.run("make -j -C examples/{} BOARD={} all".format(example, board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||||
|
|
||||||
if build_result.returncode == 0:
|
if build_result.returncode == 0:
|
||||||
success = SUCCEEDED
|
success = SUCCEEDED
|
||||||
success_count += 1
|
success_count += 1
|
||||||
(flash_size, sram_size) = build_size(example, board)
|
(flash_size, sram_size) = build_size(example, board)
|
||||||
|
subprocess.run("make -j -C examples/{} BOARD={} copy-artifact".format(example, board), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||||
else:
|
else:
|
||||||
exit_status = build_result.returncode
|
exit_status = build_result.returncode
|
||||||
success = FAILED
|
success = FAILED
|
||||||
|
@ -85,8 +86,8 @@ def build_board(example, board):
|
||||||
print(build_result.stdout.decode("utf-8"))
|
print(build_result.stdout.decode("utf-8"))
|
||||||
|
|
||||||
def build_size(example, board):
|
def build_size(example, board):
|
||||||
#elf_file = 'examples/device/{}/_build/build-{}/{}-firmware.elf'.format(example, board, board)
|
#elf_file = 'examples/device/{}/_build/{}/{}-firmware.elf'.format(example, board, board)
|
||||||
elf_file = 'examples/{}/_build/build-{}/*.elf'.format(example, board)
|
elf_file = 'examples/{}/_build/{}/*.elf'.format(example, board)
|
||||||
size_output = subprocess.run('size {}'.format(elf_file), shell=True, stdout=subprocess.PIPE).stdout.decode("utf-8")
|
size_output = subprocess.run('size {}'.format(elf_file), shell=True, stdout=subprocess.PIPE).stdout.decode("utf-8")
|
||||||
size_list = size_output.split('\n')[1].split('\t')
|
size_list = size_output.split('\n')[1].split('\t')
|
||||||
flash_size = int(size_list[0])
|
flash_size = int(size_list[0])
|
||||||
|
|
Loading…
Reference in New Issue