-add pwm driver example -resolve reviewer comments Fixes: PINDSW-7096 Signed-off-by: Manoj Koppolu <manoj_koppolu@ti.com>
311 lines
10 KiB
Makefile
311 lines
10 KiB
Makefile
#
|
|
# Auto generated makefile
|
|
#
|
|
|
|
export MOTOR_CONTROL_SDK_PATH?=$(abspath ../../../../..)
|
|
include $(MOTOR_CONTROL_SDK_PATH)/imports.mak
|
|
include $(MOTOR_CONTROL_SDK_PATH)/devconfig/devconfig.mak
|
|
|
|
CG_TOOL_ROOT=$(CGT_TI_ARM_CLANG_PATH)
|
|
|
|
CC=$(CG_TOOL_ROOT)/bin/tiarmclang
|
|
LNK=$(CG_TOOL_ROOT)/bin/tiarmclang
|
|
STRIP=$(CG_TOOL_ROOT)/bin/tiarmstrip
|
|
OBJCOPY=$(CG_TOOL_ROOT)/bin/tiarmobjcopy
|
|
ifeq ($(OS), Windows_NT)
|
|
PYTHON=python
|
|
else
|
|
PYTHON=python3
|
|
endif
|
|
|
|
PROFILE?=release
|
|
ConfigName:=$(PROFILE)
|
|
|
|
OUTNAME:=pruicss_pwm_duty_cycle.$(PROFILE).out
|
|
|
|
BOOTIMAGE_PATH=$(abspath .)
|
|
BOOTIMAGE_NAME:=pruicss_pwm_duty_cycle.$(PROFILE).appimage
|
|
BOOTIMAGE_NAME_XIP:=pruicss_pwm_duty_cycle.$(PROFILE).appimage_xip
|
|
BOOTIMAGE_NAME_SIGNED:=pruicss_pwm_duty_cycle.$(PROFILE).appimage.signed
|
|
BOOTIMAGE_RPRC_NAME:=pruicss_pwm_duty_cycle.$(PROFILE).rprc
|
|
BOOTIMAGE_RPRC_NAME_XIP:=pruicss_pwm_duty_cycle.$(PROFILE).rprc_xip
|
|
BOOTIMAGE_RPRC_NAME_TMP:=pruicss_pwm_duty_cycle.$(PROFILE).rprc_tmp
|
|
BOOTIMAGE_NAME_HS:=pruicss_pwm_duty_cycle.$(PROFILE).appimage.hs
|
|
BOOTIMAGE_NAME_HS_FS:=pruicss_pwm_duty_cycle.$(PROFILE).appimage.hs_fs
|
|
TARGETS := $(BOOTIMAGE_NAME)
|
|
ifeq ($(DEVICE_TYPE), HS)
|
|
TARGETS += $(BOOTIMAGE_NAME_HS)
|
|
endif
|
|
|
|
FILES_common := \
|
|
main.c \
|
|
pruicss_pwm_dutycycle.c \
|
|
ti_drivers_config.c \
|
|
ti_drivers_open_close.c \
|
|
ti_board_config.c \
|
|
ti_board_open_close.c \
|
|
ti_dpl_config.c \
|
|
ti_pinmux_config.c \
|
|
ti_power_clock_config.c \
|
|
|
|
FILES_PATH_common = \
|
|
.. \
|
|
../../.. \
|
|
generated \
|
|
|
|
INCLUDES_common := \
|
|
-I${CG_TOOL_ROOT}/include/c \
|
|
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source \
|
|
-I${MOTOR_CONTROL_SDK_PATH}/source \
|
|
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/FreeRTOS-Kernel/include \
|
|
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/portable/TI_ARM_CLANG/ARM_CR5F \
|
|
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/config/am64x/r5f \
|
|
-I${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/pruicss/g_v0 \
|
|
-I${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/include \
|
|
-Igenerated \
|
|
|
|
DEFINES_common := \
|
|
-DSOC_AM64X \
|
|
|
|
CFLAGS_common := \
|
|
-mcpu=cortex-r5 \
|
|
-mfloat-abi=hard \
|
|
-mfpu=vfpv3-d16 \
|
|
-mthumb \
|
|
-Wall \
|
|
-Werror \
|
|
-g \
|
|
-Wno-gnu-variable-sized-type-not-at-end \
|
|
-Wno-unused-function \
|
|
|
|
CFLAGS_cpp_common := \
|
|
-Wno-c99-designator \
|
|
-Wno-extern-c-compat \
|
|
-Wno-c++11-narrowing \
|
|
-Wno-reorder-init-list \
|
|
-Wno-deprecated-register \
|
|
-Wno-writable-strings \
|
|
-Wno-enum-compare \
|
|
-Wno-reserved-user-defined-literal \
|
|
-Wno-unused-const-variable \
|
|
-x c++ \
|
|
|
|
CFLAGS_debug := \
|
|
-D_DEBUG_=1 \
|
|
|
|
CFLAGS_release := \
|
|
-Os \
|
|
|
|
LNK_FILES_common = \
|
|
linker.cmd \
|
|
|
|
LIBS_PATH_common = \
|
|
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/lib \
|
|
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
|
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
|
-Wl,-i${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
|
-Wl,-i${CG_TOOL_ROOT}/lib \
|
|
|
|
LIBS_common = \
|
|
-lfreertos.am64x.r5f.ti-arm-clang.${ConfigName}.lib \
|
|
-ldrivers.am64x.r5f.ti-arm-clang.${ConfigName}.lib \
|
|
-lboard.am64x.r5f.ti-arm-clang.${ConfigName}.lib \
|
|
-lpruicss_pwm.am64x.r5f.ti-arm-clang.${ConfigName}.lib \
|
|
-llibc.a \
|
|
-llibsysbm.a \
|
|
|
|
LFLAGS_common = \
|
|
-Wl,--diag_suppress=10063 \
|
|
-Wl,--ram_model \
|
|
-Wl,--reread_libs \
|
|
|
|
|
|
LIBS_NAME = \
|
|
freertos.am64x.r5f.ti-arm-clang.${ConfigName}.lib \
|
|
drivers.am64x.r5f.ti-arm-clang.${ConfigName}.lib \
|
|
board.am64x.r5f.ti-arm-clang.${ConfigName}.lib \
|
|
pruicss_pwm.am64x.r5f.ti-arm-clang.${ConfigName}.lib \
|
|
libc.a \
|
|
libsysbm.a \
|
|
|
|
LIBS_PATH_NAME = \
|
|
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/kernel/freertos/lib \
|
|
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/drivers/lib \
|
|
${MOTOR_CONTROL_SDK_PATH}/mcu_plus_sdk/source/board/lib \
|
|
${MOTOR_CONTROL_SDK_PATH}/source/pruicss_pwm/lib \
|
|
${CG_TOOL_ROOT}/lib \
|
|
|
|
FILES := $(FILES_common) $(FILES_$(PROFILE))
|
|
ASMFILES := $(ASMFILES_common) $(ASMFILES_$(PROFILE))
|
|
FILES_PATH := $(FILES_PATH_common) $(FILES_PATH_$(PROFILE))
|
|
CFLAGS := $(CFLAGS_common) $(CFLAGS_$(PROFILE))
|
|
DEFINES := $(DEFINES_common) $(DEFINES_$(PROFILE))
|
|
INCLUDES := $(INCLUDES_common) $(INCLUDE_$(PROFILE))
|
|
LIBS := $(LIBS_common) $(LIBS_$(PROFILE))
|
|
LIBS_PATH := $(LIBS_PATH_common) $(LIBS_PATH_$(PROFILE))
|
|
LFLAGS := $(LFLAGS_common) $(LFLAGS_$(PROFILE))
|
|
LNKOPTFLAGS := $(LNKOPTFLAGS_common) $(LNKOPTFLAGS_$(PROFILE))
|
|
LNK_FILES := $(LNK_FILES_common) $(LNK_FILES_$(PROFILE))
|
|
|
|
OBJDIR := obj/$(PROFILE)/
|
|
OBJS := $(FILES:%.c=%.obj)
|
|
OBJS += $(ASMFILES:%.S=%.obj)
|
|
DEPS := $(FILES:%.c=%.d)
|
|
|
|
vpath %.obj $(OBJDIR)
|
|
vpath %.c $(FILES_PATH)
|
|
vpath %.S $(FILES_PATH)
|
|
vpath %.lib $(LIBS_PATH_NAME)
|
|
vpath %.a $(LIBS_PATH_NAME)
|
|
|
|
$(OBJDIR)/%.obj %.obj: %.c
|
|
@echo Compiling: am64x:r5fss0-0:freertos:ti-arm-clang $(OUTNAME): $<
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) -MMD -o $(OBJDIR)/$@ $<
|
|
|
|
$(OBJDIR)/%.obj %.obj: %.S
|
|
@echo Compiling: am64x:r5fss0-0:freertos:ti-arm-clang $(LIBNAME): $<
|
|
$(CC) -c $(CFLAGS) -o $(OBJDIR)/$@ $<
|
|
|
|
all: $(TARGETS)
|
|
|
|
SYSCFG_GEN_FILES=generated/ti_drivers_config.c generated/ti_drivers_config.h
|
|
SYSCFG_GEN_FILES+=generated/ti_drivers_open_close.c generated/ti_drivers_open_close.h
|
|
SYSCFG_GEN_FILES+=generated/ti_dpl_config.c generated/ti_dpl_config.h
|
|
SYSCFG_GEN_FILES+=generated/ti_pinmux_config.c generated/ti_power_clock_config.c
|
|
SYSCFG_GEN_FILES+=generated/ti_board_config.c generated/ti_board_config.h
|
|
SYSCFG_GEN_FILES+=generated/ti_board_open_close.c generated/ti_board_open_close.h
|
|
|
|
$(OUTNAME): syscfg $(SYSCFG_GEN_FILES) $(OBJS) $(LNK_FILES) $(LIBS_NAME)
|
|
@echo .
|
|
@echo Linking: am64x:r5fss0-0:freertos:ti-arm-clang $@ ...
|
|
$(LNK) $(LNKOPTFLAGS) $(LFLAGS) $(LIBS_PATH) -Wl,-m=$(basename $@).map -o $@ $(addprefix $(OBJDIR), $(OBJS)) $(LIBS) $(LNK_FILES)
|
|
@echo Linking: am64x:r5fss0-0:freertos:ti-arm-clang $@ Done !!!
|
|
@echo .
|
|
|
|
clean:
|
|
@echo Cleaning: am64x:r5fss0-0:freertos:ti-arm-clang $(OUTNAME) ...
|
|
$(RMDIR) $(OBJDIR)
|
|
$(RM) $(OUTNAME)
|
|
$(RM) $(BOOTIMAGE_NAME)
|
|
$(RM) $(BOOTIMAGE_NAME_XIP)
|
|
$(RM) $(BOOTIMAGE_NAME_SIGNED)
|
|
$(RM) $(BOOTIMAGE_NAME_HS)
|
|
$(RM) $(BOOTIMAGE_NAME_HS_FS)
|
|
$(RM) $(BOOTIMAGE_RPRC_NAME)
|
|
$(RM) $(BOOTIMAGE_RPRC_NAME_XIP)
|
|
$(RMDIR) generated/
|
|
|
|
scrub:
|
|
@echo Scrubing: am64x:r5fss0-0:freertos:ti-arm-clang pruicss_pwm_duty_cycle ...
|
|
$(RMDIR) obj
|
|
ifeq ($(OS),Windows_NT)
|
|
$(RM) \*.out
|
|
$(RM) \*.map
|
|
$(RM) \*.appimage*
|
|
$(RM) \*.rprc*
|
|
$(RM) \*.tiimage*
|
|
$(RM) \*.bin
|
|
else
|
|
$(RM) *.out
|
|
$(RM) *.map
|
|
$(RM) *.appimage*
|
|
$(RM) *.rprc*
|
|
$(RM) *.tiimage*
|
|
$(RM) *.bin
|
|
endif
|
|
$(RMDIR) generated
|
|
|
|
$(OBJS): | $(OBJDIR)
|
|
|
|
$(OBJDIR):
|
|
$(MKDIR) $@
|
|
|
|
|
|
.NOTPARALLEL:
|
|
|
|
.INTERMEDIATE: syscfg
|
|
$(SYSCFG_GEN_FILES): syscfg
|
|
|
|
syscfg: ../example.syscfg
|
|
@echo Generating SysConfig files ...
|
|
$(SYSCFG_NODE) $(SYSCFG_CLI_PATH)/dist/cli.js --product $(SYSCFG_SDKPRODUCT) --context r5fss0-0 --part Default --package ALV --output generated/ ../example.syscfg
|
|
|
|
syscfg-gui:
|
|
$(SYSCFG_NWJS) $(SYSCFG_PATH) --product $(SYSCFG_SDKPRODUCT) --device AM64x --context r5fss0-0 --part Default --package ALV --output generated/ ../example.syscfg
|
|
|
|
#
|
|
# Generation of boot image which can be loaded by Secondary Boot Loader (SBL)
|
|
#
|
|
ifeq ($(OS),Windows_NT)
|
|
EXE_EXT=.exe
|
|
endif
|
|
ifeq ($(OS),Windows_NT)
|
|
BOOTIMAGE_CERT_GEN_CMD=powershell -executionpolicy unrestricted -command $(MOTOR_CONTROL_SDK_PATH)/mcu_plus_sdk/tools/boot/signing/x509CertificateGen.ps1
|
|
else
|
|
BOOTIMAGE_CERT_GEN_CMD=$(MOTOR_CONTROL_SDK_PATH)/mcu_plus_sdk/tools/boot/signing/x509CertificateGen.sh
|
|
endif
|
|
BOOTIMAGE_TEMP_OUT_FILE=temp_stdout_$(PROFILE).txt
|
|
|
|
BOOTIMAGE_CERT_KEY=$(APP_SIGNING_KEY)
|
|
|
|
BOOTIMAGE_CORE_ID_a53ss0-0 = 0
|
|
BOOTIMAGE_CORE_ID_r5fss0-0 = 4
|
|
BOOTIMAGE_CORE_ID_r5fss0-1 = 5
|
|
BOOTIMAGE_CORE_ID_r5fss1-0 = 6
|
|
BOOTIMAGE_CORE_ID_r5fss1-1 = 7
|
|
BOOTIMAGE_CORE_ID_m4fss0-0 = 14
|
|
SBL_RUN_ADDRESS=0x70000000
|
|
SBL_DEV_ID=55
|
|
|
|
MULTI_CORE_IMAGE_GEN = $(SYSCFG_NODE) $(MOTOR_CONTROL_SDK_PATH)/mcu_plus_sdk/tools/boot/multicoreImageGen/multicoreImageGen.js
|
|
OUTRPRC_CMD = $(SYSCFG_NODE) $(MOTOR_CONTROL_SDK_PATH)/mcu_plus_sdk/tools/boot/out2rprc/elf2rprc.js
|
|
APP_IMAGE_SIGN_CMD = $(MOTOR_CONTROL_SDK_PATH)/mcu_plus_sdk/tools/boot/signing/appimage_x509_cert_gen.py
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
XIPGEN_CMD=$(MOTOR_CONTROL_SDK_PATH)/mcu_plus_sdk/tools/boot/xipGen/xipGen.exe
|
|
else
|
|
XIPGEN_CMD=$(MOTOR_CONTROL_SDK_PATH)/mcu_plus_sdk/tools/boot/xipGen/xipGen.out
|
|
endif
|
|
|
|
MULTI_CORE_IMAGE_PARAMS = \
|
|
$(BOOTIMAGE_RPRC_NAME)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
|
|
|
|
MULTI_CORE_IMAGE_PARAMS_XIP = \
|
|
$(BOOTIMAGE_RPRC_NAME_XIP)@$(BOOTIMAGE_CORE_ID_r5fss0-0) \
|
|
|
|
$(BOOTIMAGE_NAME): $(OUTNAME)
|
|
@echo Boot image: am64x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ ...
|
|
ifneq ($(OS),Windows_NT)
|
|
$(CHMOD) a+x $(XIPGEN_CMD)
|
|
endif
|
|
$(OUTRPRC_CMD) $(OUTNAME) >> $(BOOTIMAGE_TEMP_OUT_FILE)
|
|
$(COPY) $(BOOTIMAGE_RPRC_NAME) $(BOOTIMAGE_RPRC_NAME_TMP)
|
|
$(RM) $(BOOTIMAGE_RPRC_NAME)
|
|
$(XIPGEN_CMD) -i $(BOOTIMAGE_RPRC_NAME_TMP) -o $(BOOTIMAGE_RPRC_NAME) -x $(BOOTIMAGE_RPRC_NAME_XIP) --flash-start-addr 0x60000000 -v > $(BOOTIMAGE_TEMP_OUT_FILE)
|
|
$(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME) $(MULTI_CORE_IMAGE_PARAMS) >> $(BOOTIMAGE_TEMP_OUT_FILE)
|
|
$(MULTI_CORE_IMAGE_GEN) --devID $(SBL_DEV_ID) --out $(BOOTIMAGE_NAME_XIP) $(MULTI_CORE_IMAGE_PARAMS_XIP) >> $(BOOTIMAGE_TEMP_OUT_FILE)
|
|
# Sign the appimage for HS-FS using appimage signing script
|
|
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --authtype 1 --key $(APP_SIGNING_KEY) --output $(BOOTIMAGE_NAME_HS_FS)
|
|
$(RM) $(BOOTIMAGE_RPRC_NAME_TMP)
|
|
$(RM) $(BOOTIMAGE_TEMP_OUT_FILE)
|
|
@echo Boot image: am64x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$@ Done !!!
|
|
@echo .
|
|
@echo Boot image: am64x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS_FS) Done !!!
|
|
@echo .
|
|
|
|
$(BOOTIMAGE_NAME_HS): $(BOOTIMAGE_NAME)
|
|
ifeq ($(DEVICE_TYPE), HS)
|
|
# Sign the appimage using appimage signing script
|
|
ifeq ($(ENC_ENABLED),no)
|
|
@echo Boot image signing: Encryption is disabled.
|
|
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --authtype 1 --key $(APP_SIGNING_KEY) --output $(BOOTIMAGE_NAME_HS)
|
|
else
|
|
@echo Boot image signing: Encryption is enabled.
|
|
$(PYTHON) $(APP_IMAGE_SIGN_CMD) --bin $(BOOTIMAGE_NAME) --authtype 1 --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --output $(BOOTIMAGE_NAME_HS)
|
|
$(RM) $(BOOTIMAGE_NAME)-enc
|
|
endif
|
|
@echo Boot image: am64x:r5fss0-0:freertos:ti-arm-clang $(BOOTIMAGE_PATH)/$(BOOTIMAGE_NAME_HS) Done !!!
|
|
@echo .
|
|
endif
|
|
-include $(addprefix $(OBJDIR)/, $(DEPS))
|