# OUTPUT type # 1 - .out # 2 - .a # 3 - .so OUTPUT_TYPE = 1 OUTPUT_NAME = sec_cpu ifeq ($(target), kunlun3) hw_dep = hw3 comp_dep = riscv3 else $(error error is not suport this target $(target) )) endif SUB_DIRS = startup $(TOPDIR)/common/os_shim/dtestos $(TOPDIR)/driver/src/$(hw_dep)/mbedtls SUB_DIRS += driver fsm misc EXT_SRC = $(TOPDIR)/startup/$(comp_dep)/src/platform.c \ $(TOPDIR)/common/utils/iot_bitops.c \ $(TOPDIR)/common/io_lib/src/iot_printf.c \ $(TOPDIR)/common/io_lib/src/iot_string.c \ $(TOPDIR)/common/utils/iot_utils.c EXT_SRC += $(TOPDIR)/driver/src/$(hw_dep)/wdg.c \ $(TOPDIR)/driver/src/$(hw_dep)/intc.c \ $(TOPDIR)/driver/src/$(hw_dep)/apb.c \ $(TOPDIR)/driver/src/$(hw_dep)/ahb.c \ $(TOPDIR)/driver/src/$(hw_dep)/cpu.c \ $(TOPDIR)/driver/src/$(hw_dep)/clk.c \ $(TOPDIR)/driver/src/$(hw_dep)/gp_timer.c \ $(TOPDIR)/driver/src/$(hw_dep)/dbg_msg_ring_hw.c \ $(TOPDIR)/driver/src/$(hw_dep)/sha512_hw.c \ $(TOPDIR)/driver/src/$(hw_dep)/sha256_hw.c \ $(TOPDIR)/driver/src/$(hw_dep)/sec_sys.c \ $(TOPDIR)/driver/src/$(hw_dep)/dev_spinlock.c \ $(TOPDIR)/driver/src/hal/dbg_msg_stash.c \ $(TOPDIR)/driver/src/hal/irq.c \ $(TOPDIR)/driver/src/hal/iot_gp_timer.c \ $(TOPDIR)/driver/src/hal/iot_crypto_share.c \ $(TOPDIR)/driver/src/hal/iot_crypto_mbedtls_lib.c \ $(TOPDIR)/driver/src/hal/iot_crypto_internal.c \ $(TOPDIR)/driver/src/hal/iot_spinlock.c \ $(TOPDIR)/plc/halphy/$(hw_dep)/plc/phy_phase.c ADD_INCLUDE += $(TOPDIR)/inc/hw/reg/$(comp_dep)/$(HW_HEADER_VER) \ $(TOPDIR)/startup/$(comp_dep)/inc \ $(TOPDIR)/driver/src/$(hw_dep)/inc ADD_INCLUDE += $(TOPDIR)/inc \ $(TOPDIR)/inc/driver \ $(TOPDIR)/driver/inc \ $(TOPDIR)/common/io_lib/inc \ $(TOPDIR)/export/inc/io_lib \ $(TOPDIR)/inc/compiler/gcc \ $(TOPDIR)/inc/utils \ $(TOPDIR)/inc/os_shim \ $(TOPDIR)/plc/inc \ $(TOPDIR)/plc/halphy/$(hw_dep)/plc/inc \ $(TOPDIR)/plc/halphy/inc \ $(TOPDIR)/plc/halmac/inc ADD_INCLUDE += $(TOPDIR)/plc/common/inc \ $(TOPDIR)/inc/dbglog \ $(TOPDIR)/inc/io_lib ADD_INCLUDE += $(TOPDIR)/export/inc/crypto \ $(TOPDIR)/inc/crypto \ $(TOPDIR)/driver/inc/mbedtls \ $(TOPDIR)/rom/$(comp_dep)/romlib/crypto/iotelic/inc \ $(TOPDIR)/rom/$(comp_dep)/romlib/crypto/iotelic/inc/mbedtls \ $(TOPDIR)/plc/halmac/$(hw_dep)/plc_inc \ $(TOPDIR)/plc/halmac/$(hw_dep)/plc_inc/desc ADD_INCLUDE += $(TOPDIR)/sec_cpu/inc # predefined macro PRE_MARCO += BUILD_SEC_CPU ifeq ($(psram_enable), 1) LD_SCRIPT = link_psram_sec_cpu.lds else LD_SCRIPT = link_flash_sec_cpu.lds endif # lib dir ifeq ($(MBEDTLS_NONE_ROM_EN), 1) ADD_LIBDIR += $(TOPDIR)/import/mbedtls $(TOPDIR)/rom/riscv3/romlib/crypto/iotelic # lib need to ld together ADD_LIB += mbedtls iotelic else ADD_LIBDIR = ADD_LIB = endif DISABLE_BACKTRACE = 1 extra_work = echo handle sec_cpu..;\ $(TOPDIR)/tools/rom_img/make_ld.sh --addrs $(OUTPUT_FULL_NAME)\ $(TOPDIR)/tools/rom_img/riscv3/sec_cpu_symbol > $(TOPDIR)/startup/ldscripts/riscv3/sec_cpu_$(subst smart_,,$(MODE_TYPE)).addrs.ld ;\ xxd -i < $(OUTPUT_DIR)/$(OUTPUT_NAME).bin > $(TOPDIR)/startup/riscv3/inc/sec_cpu.txt ##################################################### ifdef TOPDIR include $(TOPDIR)/build/makefile.cfg else include $(CURDIR)/build/makefile.cfg TOPDIR = $(CURDIR) export TOPDIR endif dump: $(OBJDUMP) -D -S -l $(OUTPUT_FULL_NAME) > $(OUTPUT_FULL_NAME).dump # display the obj files and output name debug: @echo TOPDIR=$(TOPDIR) @echo OUTPUT_LIB=$(OUTPUT_FULL_NAME) @echo DEPS=$(DEPS) @echo OBJECTS=$(OBJECTS) @echo SRCS=$(SRCS) @echo OBJECTS folder=$(foreach dirname, $(SUB_DIRS), $(addprefix $(BIN_DIR)/, $(dirname))) @echo output_name=$(OUTPUT_FULL_NAME)