codegen target for B3_AP
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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) $<
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user