|
|
|
@@ -1,37 +1,23 @@
|
|
|
|
|
PROJECT_NAME := chameleon_bootloader
|
|
|
|
|
include ../Makefile.defs
|
|
|
|
|
|
|
|
|
|
TARGETS := bootloader
|
|
|
|
|
OUTPUT_DIRECTORY := out
|
|
|
|
|
|
|
|
|
|
SDK_ROOT := ../../resource/nrf52_sdk
|
|
|
|
|
PROJ_DIR := ./src/
|
|
|
|
|
DFU_DIR := ../../resource/dfu_key/
|
|
|
|
|
LD_DIR := ../../resource/link_script/
|
|
|
|
|
SRC_PUBLIC := ../../resource/public_src/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(OUTPUT_DIRECTORY)/bootloader.out: \
|
|
|
|
|
LINKER_SCRIPT := ${LD_DIR}/bootloader.ld
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CHAMELEON_ULTRA := ultra
|
|
|
|
|
CHAMELEON_LITE := lite
|
|
|
|
|
# What device is it?
|
|
|
|
|
CURRENT_DEVICE_TYPE := ${CHAMELEON_ULTRA}
|
|
|
|
|
LINKER_SCRIPT := bootloader.ld
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Source files common to all targets
|
|
|
|
|
SRC_FILES += \
|
|
|
|
|
$(PROJ_DIR)/main.c \
|
|
|
|
|
$(SRC_PUBLIC)/hw_connect.c \
|
|
|
|
|
$(PROJ_DIR)/dfu_public_key.c \
|
|
|
|
|
$(SRC_COMMON)/hw_connect.c \
|
|
|
|
|
$(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_clock.c \
|
|
|
|
|
$(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_power.c \
|
|
|
|
|
$(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_systick.c \
|
|
|
|
|
$(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_usbd.c \
|
|
|
|
|
$(SDK_ROOT)/modules/nrfx/mdk/system_nrf52840.c \
|
|
|
|
|
$(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52840.S \
|
|
|
|
|
$(SDK_ROOT)/modules/nrfx/hal/nrf_nvmc.c \
|
|
|
|
|
$(SDK_ROOT)/modules/nrfx/soc/nrfx_atomic.c \
|
|
|
|
|
$(SDK_ROOT)/modules/nrfx/mdk/gcc_startup_nrf52840.S \
|
|
|
|
|
$(SDK_ROOT)/external/fprintf/nrf_fprintf.c \
|
|
|
|
|
$(SDK_ROOT)/external/fprintf/nrf_fprintf_format.c \
|
|
|
|
|
$(SDK_ROOT)/external/nano-pb/pb_common.c \
|
|
|
|
@@ -39,50 +25,60 @@ SRC_FILES += \
|
|
|
|
|
$(SDK_ROOT)/external/utf_converter/utf.c \
|
|
|
|
|
$(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_clock.c \
|
|
|
|
|
$(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_power.c \
|
|
|
|
|
$(SDK_ROOT)/components/ble/common/ble_srv_common.c \
|
|
|
|
|
$(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \
|
|
|
|
|
$(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \
|
|
|
|
|
$(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/log/src/nrf_log_frontend.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/log/src/nrf_log_str_formatter.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/util/app_error_weak.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/scheduler/app_scheduler.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/util/app_util_platform.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/usbd/app_usbd.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/usbd/class/cdc/acm/app_usbd_cdc_acm.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/usbd/app_usbd_core.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/usbd/app_usbd_serial_num.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/usbd/app_usbd_string_desc.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crc32/crc32.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/mem_manager/mem_manager.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/util/nrf_assert.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/atomic_fifo/nrf_atfifo.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/atomic/nrf_atomic.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/balloc/nrf_balloc.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/memobj/nrf_memobj.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/queue/nrf_queue.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/slip/slip.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/ringbuf/nrf_ringbuf.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/experimental_section_vars/nrf_section_iter.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/strerror/nrf_strerror.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecc.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecdsa.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_hash.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_init.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_shared.c \
|
|
|
|
|
$(SDK_ROOT)/components/softdevice/common/nrf_sdh.c \
|
|
|
|
|
$(SDK_ROOT)/components/softdevice/common/nrf_sdh_ble.c \
|
|
|
|
|
$(SDK_ROOT)/components/softdevice/common/nrf_sdh_soc.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/util/nrf_assert.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/util/app_error_weak.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/util/app_util_platform.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_nvmc.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/fstorage/nrf_fstorage_sd.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/usbd/app_usbd.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/usbd/class/cdc/acm/app_usbd_cdc_acm.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/usbd/app_usbd_core.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/usbd/app_usbd_serial_num.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/usbd/app_usbd_string_desc.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecc.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/nrf_crypto_ecdsa.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/nrf_crypto_hash.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/nrf_crypto_init.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/nrf_crypto_shared.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecc.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_ecdsa.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_hash.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_init.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/cc310_bl/cc310_bl_backend_shared.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_svci_handler.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/serial_dfu/nrf_dfu_serial_usb.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/svc/nrf_svc_handler.c \
|
|
|
|
|
$(SDK_ROOT)/components/ble/common/ble_srv_common.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_app_start_final.c \
|
|
|
|
@@ -90,9 +86,6 @@ SRC_FILES += \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_fw_activation.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_info.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/nrf_bootloader_wdt.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/dfu/dfu-cc.pb.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/ble_dfu/nrf_dfu_ble.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_flash.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_handling_error.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_mbr.c \
|
|
|
|
@@ -103,18 +96,11 @@ SRC_FILES += \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_utils.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_validation.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/bootloader/dfu/nrf_dfu_ver_validation.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_chacha_poly_aead.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecc.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdh.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_ecdsa.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_eddsa.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hash.c \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/oberon/oberon_backend_hmac.c \
|
|
|
|
|
|
|
|
|
|
# Include folders common to all targets
|
|
|
|
|
INC_FOLDERS += \
|
|
|
|
|
$(PROJ_DIR) \
|
|
|
|
|
${SRC_PUBLIC} \
|
|
|
|
|
${SRC_COMMON} \
|
|
|
|
|
$(SDK_ROOT)/modules/nrfx/drivers/include \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/crypto/backend/micro_ecc \
|
|
|
|
|
$(SDK_ROOT)/components/libraries/memobj \
|
|
|
|
@@ -263,7 +249,6 @@ help:
|
|
|
|
|
|
|
|
|
|
TEMPLATE_PATH := $(SDK_ROOT)/components/toolchain/gcc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
include $(TEMPLATE_PATH)/Makefile.common
|
|
|
|
|
|
|
|
|
|
$(foreach target, $(TARGETS), $(call define_target, $(target)))
|
|
|
|
|