codegen target for B3_AP

This commit is contained in:
Matthew GONG
2021-05-31 23:31:53 +08:00
parent edb0d46ad6
commit cc9a7a44ae
3 changed files with 45 additions and 8 deletions
+1
View File
@@ -32,6 +32,7 @@
%assign TargetRegistSynchroOp = 1
%include "codegenentry.tlc"
%include "B3_AP_main.tlc"
%% The contents between 'BEGIN_RTW_OPTIONS' and 'END_RTW_OPTIONS' in this file
%% are used to maintain backward compatibility to R13 and preR13 custom target
+31 -8
View File
@@ -14,7 +14,7 @@
MAKECMD = "%ARM_GCC_PATH%\bin\make"
SHELL = cmd
HOST = PC
BUILD = no
BUILD = yes
BUILD_SUCCESS = *** Created
SYS_TARGET_FILE = B3_AP_ert_target.tlc
MAKEFILE_FILESEP = /
@@ -91,6 +91,13 @@ AR = $(GCC_PATH)/$(PREFIX)ar
HEX = $(CP) -O ihex
BIN = $(CP) -O binary -S
FIRMWARE_ROOT := $(RELATIVE_PATH_TO_ANCHOR)/../libraries/firmware
# ASM sources
ASM_SOURCES = \
$(FIRMWARE_ROOT)/Core/Startup/startup_stm32f769nihx.s \
$(FIRMWARE_ROOT)/Middlewares/Third_Party/segger/SEGGER_RTT_ASM_ARMv7M.s
#------------------------------ Include Path -----------------------------------
#
@@ -152,7 +159,7 @@ else
endif
# Required Options
GCC_FLAGS = -W -g -gdwarf-2 -DDEBUG
GCC_FLAGS =
REQ_OPTS = $(GCC_FLAGS)
CC_OPTS = $(REQ_OPTS) $(OPTS)
@@ -180,7 +187,7 @@ LDSCRIPT = STM32F769NIHX_FLASH.ld
# libraries
SYSLIBS = -lc -lm -lnosys
LIBDIR =
LDFLAGS = $(MCU) -specs=nano.specs -T$(LDSCRIPT) $(LIBDIR) $(SYSLIBS) -Wl,-Map=$(MODEL).map,--cref -Wl,--gc-sections
LDFLAGS = $(MCU) -specs=nano.specs -L$(FIRMWARE_ROOT) -T$(LDSCRIPT) $(LIBDIR) $(SYSLIBS) -Wl,-Map=$(MODEL).map,--cref -Wl,--gc-sections
LIBS =
|>START_PRECOMP_LIBRARIES<|
@@ -194,9 +201,9 @@ SHARED_OUTPUT_OPTS = -o $@
SRCS = $(MODULES) $(S_FUNCTIONS)
ifeq ($(MODELREF_TARGET_TYPE), NONE)
# Top-level model for code generation
PRODUCT = $(RELATIVE_PATH_TO_ANCHOR)/$(MODEL).elf
BIN_SETTING = $(CC) $(LDFLAGS) -o $(PRODUCT)
BUILD_PRODUCT_TYPE = "executable"
PRODUCT = $(RELATIVE_PATH_TO_ANCHOR)/$(MODEL)
BIN_SETTING = $(CC)
BUILD_PRODUCT_TYPE = "firmware"
else
# sub-model for code generation
PRODUCT = $(MODELLIB)
@@ -214,11 +221,18 @@ LINK_OBJS = $(addsuffix .o, $(basename $(SRCS))) $(LOCAL_USER_OBJS)
SHARED_SRC := $(wildcard $(SHARED_SRC))
SHARED_OBJS = $(addsuffix .o, $(basename $(SHARED_SRC)))
# list of ASM program objects
ASM_OBJS = $(notdir $(ASM_SOURCES:.s=.o))
vpath %.s $(sort $(dir $(ASM_SOURCES)))
#--------------------------------- Rules ---------------------------------------
all: $(PRODUCT).elf $(PRODUCT).hex $(PRODUCT).bin
ifeq ($(MODELREF_TARGET_TYPE),NONE)
# Top-level model for code generation
$(PRODUCT) : $(OBJS) $(SHARED_LIB) $(MODELREF_LINK_LIBS) $(LIBS)
$(BIN_SETTING) $(LINK_OBJS) $(MODELREF_LINK_LIBS) $(SHARED_LIB) $(LIBS)
$(PRODUCT).elf : $(OBJS) $(SHARED_LIB) $(MODELREF_LINK_LIBS) $(LIBS) $(ASM_OBJS)
$(BIN_SETTING) $(LINK_OBJS) $(MODELREF_LINK_LIBS) $(SHARED_LIB) $(LIBS) $(ASM_OBJS) $(LDFLAGS) -o $@
$(SZ) $@
@echo "$(BUILD_SUCCESS) $(BUILD_PRODUCT_TYPE): $@"
else
# sub-model for code generation
@@ -229,6 +243,15 @@ $(PRODUCT) : $(OBJS) $(SHARED_OBJS)
@echo "$(BUILD_SUCCESS) $(BUILD_PRODUCT_TYPE): $@"
endif
%.o : %.s
$(AS) -c $(CFLAGS) $<
%.hex: %.elf
$(HEX) $< $@
%.bin: %.elf
$(BIN) $< $@
%.o : %.c
$(CC) -c $(CFLAGS) $<
+13
View File
@@ -0,0 +1,13 @@
%openfile main_file = "rt_main.c"
%selectfile main_file
#include "%<CompiledModel.Name>.h"
int rt_main(void)
{
return 0;
}
%selectfile NULL_FILE
%closefile main_file