Woody 모듈 컴파일

This commit is contained in:
2026-06-15 13:32:10 +09:00
parent 0d6e04cb28
commit de0a0b27fe
19 changed files with 1613 additions and 747 deletions

View File

@@ -0,0 +1,574 @@
@echo off
setlocal EnableDelayedExpansion
set Filename=%~n0
echo ***************************************************************************
echo Run %Filename% ...
echo ***************************************************************************
echo.
IF "%GNUMAKE%" == "" (GOTO :noGnuMake) ELSE (GOTO :GnuMake)
:noGnuMake
echo If you have make.exe located in a different directory
echo then your standard path, please add a local
echo user variable named 'GNUMAKE' to your Windows
echo environment variables and specified the location
echo of make.exe by using this variable.
echo.
echo Your current path variable is
echo.
echo %path%
echo.
echo ***************************************************************************
GOTO :continue
:GnuMake
set path=%GNUMAKE%
echo Found user variable GNUMAKE ...
echo ***************************************************************************
echo Temporary modify path variable to be sure to use correct make, shell...
echo path = %path%
echo ***************************************************************************
GOTO :continue
:continue
SETLOCAL
:: set root folder
SET ROOT_FOLDER=..\..\..\..\..
::Specify the Family and Micro Variant (not change)
SET MICRO_FAMILY=rel
SET MICRO_VARIANT=V4H
SET MICRO_SOC=RCar
::CPU Option
:: CPUn_OPTION is CPUn_USED when the CPUn used
SET CPU0_OPTION=CPU0_USED
SET CPU1_OPTION=CPU1_NOT_USED
SET CPU2_OPTION=CPU2_NOT_USED
SET CPU3_OPTION=CPU3_NOT_USED
IF "%COMPILER_INSTALL_DIR%"=="" (
SET COMPILER_INSTALL_DIR=C:\Program Files\ArmCompilerforEmbeddedFuSa6.16.2\bin
)
IF /i "%1"=="DisplEnv" (
GOTO :Display_Env
)
IF /i "%1"=="" (
GOTO :Help
)
SET MODULE=%1
IF "%2" == "4.3.1" (
SET AUTOSAR_VERSION=4_3_1
)ELSE (
IF "%2" == "4.2.2" (
SET AUTOSAR_VERSION=4_2_2
)ELSE (
IF "%2" == "R19-11" (
SET AUTOSAR_VERSION=19_11
)ELSE (
SET AUTOSAR_VERSION=%2
)
)
)
SET DEVICE_NAME=%3
SET MODULE_USE_MULTIINSTANCE=%4
IF "%~4" == "" (
SET MODULE_USE_MULTIINSTANCE=no
)ELSE (
IF /I "%MODULE_USE_MULTIINSTANCE%" NEQ "yes" IF /I "%MODULE_USE_MULTIINSTANCE%" NEQ "no" (
GOTO :Help
)
)
SET MODULE_USE_LOG_PRINT=%5
IF "%~5" == "" (
SET MODULE_USE_LOG_PRINT=yes
)ELSE (
IF /I "%MODULE_USE_LOG_PRINT%" NEQ "yes" IF /I "%MODULE_USE_LOG_PRINT%" NEQ "no" (
GOTO :Help
)
)
SET BULID_OPTION=%6
SET ARGS=%AUTOSAR_VERSION% %DEVICE_NAME% %MODULE_USE_MULTIINSTANCE% %MODULE_USE_LOG_PRINT% %BULID_OPTION%
SET COMPILER_NAME="arm6.16.2"
SET OBJ_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%DEVICE_NAME%\obj\arm
:: Check and create required folder
if not exist "%OBJ_FOLDER%" (
mkdir "%OBJ_FOLDER%"
)
IF "%AUTOSAR_VERSION%" NEQ "4_3_1" (
IF "%AUTOSAR_VERSION%" NEQ "4_2_2" (
IF "%AUTOSAR_VERSION%" NEQ "19_11" (
GOTO :Help
)
)
)
IF "%3" NEQ "V4H" (
GOTO :Help
)
::To Set the Sub Variant based on the Device.
CALL :SUB_VARIANT
::To Set the Max CPU Number on the Device.
CALL :TOTAL_CPU_NUMBER
:: To convert the case of MODULE_USE_MULTIINSTANCE name entered to Lowercase for Display
CALL :CONV_VAR_to_LOC MODULE_USE_MULTIINSTANCE
:: To convert the case of Module name entered to Uppercase for Display
CALL :CONV_VAR_to_LOC MODULE
SET MODULE_PCL=%MODULE:~0,1%
CALL :CONV_VAR_to_UPC MODULE_PCL
:: Pre-process for CDD and MCAL module
SET CDD_MSN_NAME=%MODULE:~3,-1%%MODULE:~-1,1%
CALL :CONV_VAR_to_LOC CDD_MSN_NAME
SET CDD_MSN_NAME_FC=%MODULE:~3,1%
CALL :CONV_VAR_to_UPC CDD_MSN_NAME_FC
:: Select MCAL or CDD module to make Msn naming
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
:: Assign to global variable (e.g. Can, Dio, CDD_Iccom, CDD_Iic,...)
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
If not exist "%ROOT_FOLDER%" (
echo Error! Root Folder %ROOT_FOLDER% doesn't exist.
GOTO :End
)
If not exist "%COMPILER_INSTALL_DIR%" (
echo Error! Compiler installed directory %COMPILER_INSTALL_DIR% doesn't exist.
GOTO :End
)
If not exist "%CONFIG_FOLDER%" (
echo Error! Folder %CONFIG_FOLDER% doesn't exist.
GOTO :End
)
IF /I "%MODULE_USE_LOG_PRINT%" EQU "yes" (
SET USE_LOG_PRINT=yes
)
IF /I "%MODULE%"=="Woody" (
IF /I "%BULID_OPTION%"=="generate" (
CALL :WoodyGenerateAll
GOTO :eof
) ELSE IF /I "%BULID_OPTION%"=="make" (
CALL :WoodyMake
GOTO :eof
) ELSE IF /I "%BULID_OPTION%"=="clean" (
CALL :WoodyCleanAll
GOTO :eof
)
)
SET OPTION=no
:: To convert the case of Module name entered to Uppercase for Display
CALL :CONV_VAR_to_UPC MODULE
echo.
echo ===========================================================================
echo BUILDING SAMPLE APPLICATION: %MODULE%
echo ===========================================================================
:: To convert the case of Module name entered to Lowercase for file path using
CALL :CONV_VAR_to_LOC MODULE
IF "%BULID_OPTION%"=="clean" (
SET OPTION=yes
echo ===========================================================================
echo CLEAN ONLY
echo ===========================================================================
make -f common.mak clean
make -f common.mak clean_all
)
IF "%BULID_OPTION%"=="generate" (
SET OPTION=yes
echo ===========================================================================
echo CLEAN AND RE-GENERATE
echo ===========================================================================
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
)
IF "%BULID_OPTION%"=="make" (
SET OPTION=yes
echo ===========================================================================
echo MAKE ONLY
echo ===========================================================================
rem make -f common.mak debug_base_make
make -f common.mak App_%MODULE%_%MICRO_SUB_VARIANT%_Sample.elf
)
IF "%OPTION%"=="no" (
echo ===========================================================================
echo CLEAN AND RE-BUILD
echo ===========================================================================
make -f common.mak clean
make -f common.mak clean_all
rem make -f common.mak debug_base_make
make -f common.mak generate_%MODULE%_config || GOTO :eof
make -f common.mak App_%MODULE%_%MICRO_SUB_VARIANT%_Sample.elf
)
echo.
echo ===========================================================================
echo BUILDING COMPLETED
echo ===========================================================================
GOTO :eof
:CONV_VAR_to_LOC
FOR %%z IN (a b c d e f g h i j k l m n o p q r s t u v w x y z) DO CALL set %~1=%%%~1:%%z=%%z%%
GOTO :eof
:CONV_VAR_to_UPC
FOR %%z IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO CALL set %~1=%%%~1:%%z=%%z%%
GOTO :eof
:WoodyCleanAll
ECHO ===========================================================================
ECHO CLEANING ALL MCAL MODULES
ECHO ===========================================================================
ECHO.
ECHO Cleaning all 16 MCAL modules...
ECHO ===========================================================================
REM CALL .\SampleApp.bat Fls %ARGS%
REM CALL .\SampleApp.bat Dio %ARGS%
REM CALL .\SampleApp.bat Port %ARGS%
REM CALL .\SampleApp.bat Mcu %ARGS%
REM CALL .\SampleApp.bat Gpt %ARGS%
REM CALL .\SampleApp.bat Wdg %ARGS%
REM CALL .\SampleApp.bat Spi %ARGS%
REM CALL .\SampleApp.bat Can %ARGS%
REM CALL .\SampleApp.bat Eth %ARGS%
REM CALL .\SampleApp.bat Cddiccom %ARGS%
REM CALL .\SampleApp.bat Cddiic %ARGS%
REM CALL .\SampleApp.bat Cddcrc %ARGS%
REM CALL .\SampleApp.bat Cddths %ARGS%
REM CALL .\SampleApp.bat Cddemm %ARGS%
REM CALL .\SampleApp.bat Cddipmmu %ARGS%
REM CALL .\SampleApp.bat cddrfso %ARGS%
CALL .\SampleApp.bat Woody %ARGS%
ECHO ===========================================================================
ECHO ALL MODULES CLEANED
ECHO ===========================================================================
GOTO :eof
:WoodyGenerateAll
ECHO ===========================================================================
ECHO 1. Fls Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Fls module...
ECHO ===========================================================================
CALL .\SampleApp.bat Fls %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Fls_FAIL
ECHO Fls generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 2. Dio Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Dio module...
ECHO ===========================================================================
CALL .\SampleApp.bat Dio %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Dio_FAIL
ECHO Dio generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 3. Port Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Port module...
ECHO ===========================================================================
CALL .\SampleApp.bat Port %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Port_FAIL
ECHO Port generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 4. Mcu Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Mcu module...
ECHO ===========================================================================
CALL .\SampleApp.bat Mcu %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Mcu_FAIL
ECHO Mcu generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 5. Gpt Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Gpt module...
ECHO ===========================================================================
CALL .\SampleApp.bat Gpt %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Gpt_FAIL
ECHO Gpt generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 6. Wdg Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Wdg module...
ECHO ===========================================================================
CALL .\SampleApp.bat Wdg %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Wdg_FAIL
ECHO Wdg generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 7. Spi Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Spi module...
ECHO ===========================================================================
CALL .\SampleApp.bat Spi %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Spi_FAIL
ECHO Spi generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 8. Can Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Can module...
ECHO ===========================================================================
CALL .\SampleApp.bat Can %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Can_FAIL
ECHO Can generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 9. Eth Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Eth module...
ECHO ===========================================================================
CALL .\SampleApp.bat Eth %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Eth_FAIL
ECHO Eth generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 10. Cddiccom Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Cddiccom module...
ECHO ===========================================================================
CALL .\SampleApp.bat Cddiccom %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Cddiccom_FAIL
ECHO Cddiccom generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 11. Cddiic Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Cddiic module...
ECHO ===========================================================================
CALL .\SampleApp.bat Cddiic %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Cddiic_FAIL
ECHO Cddiic generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 12. Cddcrc Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Cddcrc module...
ECHO ===========================================================================
CALL .\SampleApp.bat Cddcrc %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Cddcrc_FAIL
ECHO Cddcrc generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 13. Cddths Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Cddths module...
ECHO ===========================================================================
CALL .\SampleApp.bat Cddths %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Cddths_FAIL
ECHO Cddths generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 14. Cddemm Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Cddemm module...
ECHO ===========================================================================
CALL .\SampleApp.bat Cddemm %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Cddemm_FAIL
ECHO Cddemm generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 15. Cddipmmu Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for Cddipmmu module...
ECHO ===========================================================================
CALL .\SampleApp.bat Cddipmmu %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Cddipmmu_FAIL
ECHO Cddipmmu generation complete.
ECHO ===========================================================================
ECHO ===========================================================================
ECHO 16. cddrfso Module
ECHO ===========================================================================
ECHO.
ECHO Starting generation for cddrfso module...
ECHO ===========================================================================
CALL .\SampleApp.bat cddrfso %ARGS%
IF NOT ERRORLEVEL 0 GOTO :cddrfso_FAIL
ECHO cddrfso generation complete.
ECHO ===========================================================================
GOTO :eof
:WoodyMake
ECHO ===========================================================================
ECHO Woody Module
ECHO ===========================================================================
ECHO.
ECHO Starting make for Woody module...
ECHO ===========================================================================
make -f woody_common.mak App_%MODULE%_%MICRO_SUB_VARIANT%_Sample.elf
ECHO Woody make complete.
ECHO ===========================================================================
GOTO :eof
:WoodySetModule
SET MODULE=%1
CALL :CONV_VAR_to_LOC MODULE
SET MODULE_PCL=%MODULE:~0,1%
CALL :CONV_VAR_to_UPC MODULE_PCL
SET CDD_MSN_NAME=%MODULE:~3,-1%%MODULE:~-1,1%
CALL :CONV_VAR_to_LOC CDD_MSN_NAME
SET CDD_MSN_NAME_FC=%MODULE:~3,1%
CALL :CONV_VAR_to_UPC CDD_MSN_NAME_FC
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
) else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
GOTO :eof
:Help
echo.
echo ===========================================================================
echo HELP TO BUILD SAMPLE APPLICATION
echo ===========================================================================
echo Usage:
echo.
echo SampleApp.bat MODULE AUTOSAR_VERSION DEVICE MULTIINSTANCE MCAL_LOG_PRINT BUILD_OPTION
echo.
echo MODULE (*) - Module Short Name to be generated e.g. Port, Can, ...
echo Supported module: Fls, Dio, Port, Mcu, Gpt, Wdg, Spi,
echo. Can, Eth, Cddiccom, Cddiic, Cddcrc, Cddths, Cddemm
echo. Cddipmmu, cddrfso
echo. Woody
echo.
echo.AUTOSAR_VERSION (*) - AUTOSAR version to be compiled which is available :
echo. R19-11
echo.
echo DEVICE (*) - Device Name to be compiled which is available :
echo. V4M : V4M
echo.
echo MULTIINSTANCE - Yes : Build sample application with multi instances (applicable for: none)
echo No or unset(null) : Build sample application with single instance (applicable for: all supported modules)
echo.
echo MCAL_LOG_PRINT - Yes or unset(null) : Output MCAL driver's log to console when using Console_Print() function in Sample Application
echo No : Do not output MCAL driver's log to console when using Console_Print() function in Sample Application
echo.
echo BUILD_OPTION - unset(null) : Build with all processes.
echo clean : Only delete object files.
echo generate : Only generation tool done.
echo make : Only compile and link (use already generated files)
echo.
echo DisplEnv - Display Useful Variable for debug
echo.
echo Note: (*) is mandantory input argument
echo ===========================================================================
goto :END
:SUB_VARIANT
FOR %%A IN (V4H) Do IF "%DEVICE_NAME%" == "%%A" SET MICRO_SUB_VARIANT=V4H
:TOTAL_CPU_NUMBER
FOR %%A IN (V4H) Do IF "%DEVICE_NAME%" == "%%A" SET TOTAL_CPU=1
GOTO :eof
:Display_Env
echo Display Env Variables
echo =================================
echo DEVICE_NAME=%DEVICE_NAME%
echo AUTOSAR_VERSION=%AUTOSAR_VERSION%
echo MODULE_NAME=%MODULE%
echo =================================
:End
ENDLOCAL
@echo on

View File

@@ -0,0 +1,547 @@
################################################################################
# Common part of the Makefile to compile and build the sample application #
# Software Component (For Test purposes only) #
# Compatible with GNU Make 3.81 for Win32. #
################################################################################
################################################################################
# Subroutine to convert Module Name To All Upper Case for Naming convention.
uc = $(subst a,A,$(subst b,B,$(subst c,C,$(subst d,D,$(subst e,E,$(subst f,F,$(subst g,G,$(subst h,H,$(subst i,I,$(subst j,J,$(subst k,K,$(subst l,L,$(subst m,M,$(subst n,N,$(subst o,O,$(subst p,P,$(subst q,Q,$(subst r,R,$(subst s,S,$(subst t,T,$(subst u,U,$(subst v,V,$(subst w,W,$(subst x,X,$(subst y,Y,$(subst z,Z,$1))))))))))))))))))))))))))
################################################################################
################################################################################
# Subroutine to convert Module Name To Lower Case
#
lc = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$1))))))))))))))))))))))))))
################################################################################
################################################################################
# Macro for Module names as per Naming Convention
#
MODULE_NAME = $(call lc,$(MODULE))
MSN_MODULE_NAME = $(call uc,$(MODULE))
ifeq (,$(findstring "cdd",$(MODULE_NAME)))
replace = $(subst cdd,CDD_,$1)
CDD_MODULE_NAME = $(call replace,$(MODULE_NAME))
MSN_NAME = $(call uc,$(CDD_MODULE_NAME))
else
MSN_NAME = $(MSN_MODULE_NAME)
endif
################################################################################
################################################################################
# Get name of the current application
#
CURRENT_APPL = App_$(MSN_NAME)
CURRENT_APPL2 = App_$(MSN_MODULE_NAME)
# Get the project directory into variable "PROJECT_ROOT"
PROJECT_ROOT := $(subst /,\,$(abspath ../../../../..))
# Get the current working directory into variable "SPECIFIC_APPL_ROOT_PATH"
SPECIFIC_APPL_ROOT_PATH := $(subst /,\,$(abspath .))
## Set the Cpu Core Based on Variant (g4mh, cr52):
CPU_CORE = cr52
################################################################################
################################################################################
# Macros for common path
#
ifeq (,$(filter $(MSN_MODULE_NAME),CAN ETH))
EXE = $(CURRENT_APPL2)_$(MICRO_SUB_VARIANT)_Sample.$(EXE_FILE_SUFFIX)
else
EXE = $(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample.$(EXE_FILE_SUFFIX)
endif
# Get the common sample application directory into variable "COMMON_SAMPLE_CORE_PATH"
COMMON_SAMPLE_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\$(MODULE_NAME)\sample_application
# Get the current working directory into variable "SAMPLE_CORE_PATH"
SAMPLE_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\$(MODULE_NAME)\sample_application\$(MICRO_SUB_VARIANT)
# Get the current working directory into variable "STUBS"
STUBS_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\common\generic\stubs\$(AUTOSAR_VERSION)
# Get current configuration path
MODULE_CONFIG_PATH = $(SAMPLE_CORE_PATH)\$(AUTOSAR_VERSION)
################################################################################
# Macros for build
#
LIBRARIES_TO_BUILD =
INSTANCE_OBJECTS =
#OBJECTS_LINK_ONLY =
OBJECT_OUTPUT_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\$(MODULE_NAME)\sample_application\$(MICRO_SUB_VARIANT)\obj\arm
GENERATED_SOURCE_FILES =
CC_FILES_TO_BUILD =
CPP_FILES_TO_BUILD =
ASM_FILES_TO_BUILD =
CC_SRC_PATH =
CC_INCLUDE_PATH =
CPP_INCLUDE_PATH =
ASM_INCLUDE_PATH =
PREPROCESSOR_DEFINES =
LIBRARIES_LINK_ONLY =
DIRECTORIES_TO_CREATE =
DEPEND_GCC_OPTS =
MAKE_CLEAN_RULES =
MAKE_GENERATE_RULES =
MAKE_COMPILE_RULES =
MAKE_DEBUG_RULES =
MAKE_CONFIG_RULES =
MAKE_ADD_RULES =
MAKE_DEBUG_RULES += debug_base_make
COMMON_INFO=COMPILER_LINKER_ASSEMBLER_INCLUDES
.PHONY: $(MAKE_CLEAN_RULES) $(MAKE_GENERATE_RULES) $(MAKE_COMPILE_RULES) \
$(MAKE_DEBUG_RULES) $(MAKE_CONFIG_RULES) $(MAKE_ADD_RULES) \
################################################################################
################################################################################
# ARM Compiler for CR
#
COMPILER_CORE_PATH_COMMON = $(PROJECT_ROOT)\$(MICRO_FAMILY)\common\generic\compiler
include $(COMPILER_CORE_PATH_COMMON)\$(AUTOSAR_VERSION)\arm\make\compiler_rcar_r$(AUTOSAR_VERSION)_defs.mak
include $(COMPILER_CORE_PATH_COMMON)\common\arm\make\arm_rcar_rules.mak
COMPILER_CORE_PATH_DEVICE = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\common_family\compiler
COMPILER_CORE_FILES += \
$(COMPILER_CORE_PATH_DEVICE)\common\include \
$(COMPILER_CORE_PATH_DEVICE)\common\include\cfg \
$(COMPILER_CORE_PATH_DEVICE)\$(AUTOSAR_VERSION)\include \
$(COMPILER_CORE_PATH_COMMON)\common\arm\include \
$(COMPILER_CORE_PATH_COMMON)\common\arm\include\cfg \
$(COMPILER_CORE_PATH_COMMON)\$(AUTOSAR_VERSION)\arm\include \
################################################################################
# Path to Linker definition files for Sample Application
LNKFILE = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\Global_Sample_Application\make\arm\App_Sample.scat
LNKFILE_DB = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\Global_Sample_Application\make\arm\App_Sample_db.scat
###############################################################################
# Define ISR identifier of each module in vector table
#
CFLAGS += -D$(MSN_MODULE_NAME)_MODULE_SAMPLE
###############################################################################
# Define MCAL driver log print function using
#
ifeq ($(USE_LOG_PRINT),yes)
CFLAGS += -DMCAL_LOG_PRINT
endif
################################################################################
# Specify base address specified for Motorola S-record file.
SFLAGS += --base=0xE2100000
###############################################################################
# Define device identifier
#
CFLAGS += -DE2x=0
CFLAGS += -DU2x=1
CFLAGS += -DU2Bx=2
CFLAGS += -DS4=3
CFLAGS += -DV4H=4
CFLAGS += -DX5H=5
CFLAGS += -DV4M=6
CFLAGS += -DDEVICE=V4M
ifeq ($(MSN_MODULE_NAME),ETH)
CFLAGS += -DETH_AVB_IF
endif
ifeq ($(MSN_MODULE_NAME),SPI)
CFLAGS += -DSPI_MSIOF
endif
################################################################################
################################################################################
# Modules to be included in the project #
################################################################################
# Get BSWMDT path
MODULE_BSWMDT_CONFIG_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\$(MODULE_NAME)\generator\$(MICRO_SUB_VARIANT)
# Include make file for module
include $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\$(MODULE_NAME)\sample_application\make\arm\$(CURRENT_APPL)_Common_Sample.mak
###############################################################################
################################################################################
# Macros for gentool
#
#Common Generator
COMMON_TOOL_FILE = $(SPECIFIC_APPL_ROOT_PATH)\..\..\..\..\common\generic\generator\MCALConfGen.exe
# Get TRXML path
TRXML_CONFIG_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\common_family\generator\arm
# Path to TRXML Configuration File which is required for Test Application
TRXML_CONFIG_FILE = $(TRXML_CONFIG_PATH)\Sample_Application_$(MICRO_VARIANT).trxml
# Path to BSWMDT Configuration File which is required for Module Sample Application
MODULE_BSWMDT_CONFIG_FILE = $(MODULE_BSWMDT_CONFIG_PATH)\R1911_$(MSN_NAME)_$(MICRO_SUB_VARIANT)_BSWMDT.arxml
# Get current configuration file
MODULE_CONFIG_FILE = $(MODULE_CONFIG_PATH)\config\App_$(MSN_NAME)_$(MICRO_SUB_VARIANT)_Sample.arxml
# MCU arxml file path
MCU_CONFIG_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\common_family\config\$(MICRO_SUB_VARIANT)\$(AUTOSAR_VERSION)
MCU_CONFIG_FILE = $(MCU_CONFIG_PATH)\MCU_$(MSN_NAME)_$(DEVICE_NAME).arxml
# Path to ECUM Configuration File which is required for this module
ECUM_CONFIG_PATH = $(STUBS_PATH)\EcuM
ECUM_CONFIG_FILE = $(ECUM_CONFIG_PATH)\xml\EcuM_$(MSN_NAME_UFC).arxml
# Path to OS Configuration File which is required for this module
OS_CONFIG_FILE = $(STUBS_PATH)\Os\xml\Os_$(MSN_NAME_UFC).arxml
# Path to DEM Configuration File which is required for Module Sample Application
DEM_CONFIG_FILE = $(STUBS_PATH)\Dem\xml\Dem_$(MSN_NAME_UFC).arxml
################################################################################
################################################################################
# AUTOSAR TYPES Path
#
AUTOSARTYPE_PATH = $(PROJECT_ROOT)\common\make
include $(AUTOSARTYPE_PATH)\$(AUTOSAR_VERSION)\autosartypes_r$(AUTOSAR_VERSION)_defs.mak
################################################################################
################################################################################
# PLATFORM TYPES Path
#
PLATFORM_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\common\generic\make
include $(PLATFORM_PATH)\common\platformtypes_common_defs.mak
include $(PLATFORM_PATH)\$(AUTOSAR_VERSION)\platformtypes_r$(AUTOSAR_VERSION)_defs.mak
################################################################################
################################################################################
# STARTUP $(MICRO_SUB_VARIANT) CORE PATH
#
STARTUP_CORE_PATH_COMMON = $(PROJECT_ROOT)\$(MICRO_FAMILY)\common\generic
STARTUP_CORE_PATH_SPECIFIC = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\common_family
include $(STARTUP_CORE_PATH_SPECIFIC)\make\arm\startup_arm_$(MICRO_VARIANT)_defs.mak
include $(STARTUP_CORE_PATH_SPECIFIC)\make\arm\startup_arm_$(MICRO_VARIANT)_rules.mak
################################################################################
# Path to Linker Directives Files
#
LNKFILE = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\common_family\make\arm\App_Sample.scat
LNKFILE_DB = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\common_family\make\arm\App_Sample_db.scat
################################################################################
# Include generated source files list to the global "C" file list #
################################################################################
CC_FILES_TO_BUILD += $(GENERATED_SOURCE_FILES)
################################################################################
# Include sample app source files list to the global "C" file list #
################################################################################
################################################################################
# REGISTRY common sample app
#
CC_INCLUDE_PATH += $(COMMON_SAMPLE_CORE_PATH)\include
CC_SRC_PATH += $(COMMON_SAMPLE_CORE_PATH)\src
CPP_INCLUDE_PATH += $(COMMON_SAMPLE_CORE_PATH)\include
ASM_INCLUDE_PATH +=
PREPROCESSOR_DEFINES +=
###############################################################################
# REGISTRY device sample app
#
CC_INCLUDE_PATH += $(SAMPLE_CORE_PATH)\include
CC_SRC_PATH += $(SAMPLE_CORE_PATH)\src
CPP_INCLUDE_PATH += $(SAMPLE_CORE_PATH)\include
CC_INCLUDE_PATH += $(SAMPLE_CORE_PATH)\include\arm
CC_SRC_PATH += $(SAMPLE_CORE_PATH)\src\arm
CPP_INCLUDE_PATH += $(SAMPLE_CORE_PATH)\include\arm
ASM_INCLUDE_PATH +=
PREPROCESSOR_DEFINES +=
################################################################################
# Common SINGLE CORE SAMPLE
#
ifneq ($(MODULE_USE_MULTIINSTANCE),yes)
ifeq (,$(filter $(MSN_MODULE_NAME),DIO MCU PORT))
CC_FILES_TO_BUILD += \
$(COMMON_SAMPLE_CORE_PATH)\src\$(CURRENT_APPL)_Common_Sample.c
endif
###############################################################################
# Common MULTI CORE SAMPLE
#
else
CC_FILES_TO_BUILD += \
$(COMMON_SAMPLE_CORE_PATH)\src\$(CURRENT_APPL)_Multi_Sample.c
ifeq ($(MODULE_USE_INSTANCE0),yes)
CC_FILES_TO_BUILD += \
$(COMMON_SAMPLE_CORE_PATH)\src\$(CURRENT_APPL)_Common_Sample_0.c
endif
ifeq ($(MODULE_USE_INSTANCE1),yes)
CC_FILES_TO_BUILD += \
$(COMMON_SAMPLE_CORE_PATH)\src\$(CURRENT_APPL)_Common_Sample_1.c
endif
# end of ($(MODULE_USE_MULTIINSTANCE),yes)
endif
###############################################################################
# Device SINGLE SAMPLE APP
#
ifeq (,$(filter $(MSN_MODULE_NAME),CAN ETH CDDICCOM GPT DIO PORT MCU CDDIIC CDDTHS CDDIPMMU CDDCRC CDDEMM CDDRFSO))
CC_FILES_TO_BUILD += \
$(SAMPLE_CORE_PATH)\src\$(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample.c
else
CC_FILES_TO_BUILD += \
$(SAMPLE_CORE_PATH)\src\arm\$(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample.c
endif
###############################################################################
CPP_FILES_TO_BUILD +=
ASM_FILES_TO_BUILD +=
LIBRARIES_LINK_ONLY +=
OBJECTS_LINK_ONLY +=
GENERATED_SOURCE_FILES +=
MAKE_CLEAN_RULES +=
MAKE_GENERATE_RULES +=
MAKE_DEBUG_RULES += debug_common_appl_makefile
MAKE_CONFIG_RULES +=
###############################################################################
# Command to print debug information
debug_common_appl_makefile:
@echo COMMON_SAMPLE_CORE_PATH = $(COMMON_SAMPLE_CORE_PATH)
################################################################################
# End of Include sample app source files list to the global "C" file list #
################################################################################
################################################################################
# Search path for source and header files (For Make utility) #
################################################################################
VPATH=$(CC_SRC_PATH) $(CC_INCLUDE_PATH) $(OBJECT_OUTPUT_PATH)
################################################################################
# Create list of object files from source files #
################################################################################
OBJECT_FILES_BUILT := $(subst \,/, $(CC_FILES_TO_BUILD))
OBJECT_FILES_BUILT := $(subst :,/, $(OBJECT_FILES_BUILT))
OBJECT_FILES_BUILT := $(notdir $(OBJECT_FILES_BUILT))
OBJECT_FILES_BUILT := $(subst .$(C_FILE_SUFFIX),.$(OBJ_FILE_SUFFIX), $(OBJECT_FILES_BUILT))
OBJECT_FILES_BUILT += $(INSTANCE_OBJECTS)
OBJECT_PATH_FILES_BUILT := \
$(addprefix $(OBJECT_OUTPUT_PATH)\, $(OBJECT_FILES_BUILT))
################################################################################
# Create list of object files from assembly files #
################################################################################
ASM_OBJECT_FILES_BUILT := $(subst \,/, $(ASM_FILES_TO_BUILD))
ASM_OBJECT_FILES_BUILT := $(subst :,/, $(ASM_OBJECT_FILES_BUILT))
ASM_OBJECT_FILES_BUILT := $(notdir $(ASM_OBJECT_FILES_BUILT))
ASM_OBJECT_FILES_BUILT := \
$(subst .$(ASM_FILE_SUFFIX),.$(ASM_OBJ_FILE_SUFFIX), $(ASM_OBJECT_FILES_BUILT))
ASM_OBJECT_PATH_FILES_BUILT := $(ASM_OBJECT_FILES_BUILT)
ASM_OBJECT_PATH_FILES_BUILT := \
$(addprefix $(OBJECT_OUTPUT_PATH)\, $(ASM_OBJECT_FILES_BUILT))
OBJECT_PATH_FILES_BUILT += $(ASM_OBJECT_PATH_FILES_BUILT)
################################################################################
# Include auto-generated dependencies #
################################################################################
ifeq ($(findstring clean,$(MAKECMDGOALS)),)
OBJECT_DEPS := $(OBJECT_PATH_FILES_BUILT)
OBJECT_DEPS := $(OBJECT_DEPS:.$(OBJ_FILE_SUFFIX)=.d)
OBJECT_DEPS := $(OBJECT_DEPS:.$(ASM_OBJ_FILE_SUFFIX)=.d)
-include $(OBJECT_DEPS)
endif
################################################################################
# Remove the path from Source file names #
################################################################################
CC_FILES_BUILT := $(subst \,/, $(CC_FILES_TO_BUILD))
CC_FILES_BUILT := $(subst :,/, $(CC_FILES_BUILT))
CC_FILES_BUILT := $(notdir $(CC_FILES_BUILT))
################################################################################
# Remove the path from Source file names #
################################################################################
ASM_FILES_BUILT := $(subst \,/, $(ASM_FILES_TO_BUILD))
ASM_FILES_BUILT := $(subst :,/, $(ASM_FILES_BUILT))
ASM_FILES_BUILT := $(notdir $(ASM_FILES_BUILT))
################################################################################
# Prefix -I to all include paths (required for compiler) #
################################################################################
COMPILER_INCLUDE := $(patsubst %,-I%,$(CC_INCLUDE_PATH))
ASSEMBLER_INCLUDE := $(patsubst %,-I%,$(ASM_INCLUDE_PATH))
################################################################################
# Command to link all the generated object files and generate exe/S-Record #
################################################################################
$(EXE):$(COMMON_INFO) $(ASM_OBJECT_FILES_BUILT) $(LNKFILE)
@echo [ASSEMBLY]... Done
@echo --------------------------------------------------------------------
@echo [COMPILER] $(CC)
@echo [FLAGS] $(CFLAGS)
@echo [COMPILING]...
@echo $(CC_FILES_TO_BUILD)
@echo $(subst \,/, $(CC_FILES_TO_BUILD)) > list_file_to_build
@$(CC) $(CFLAGS) $(COMPILER_INCLUDE) @list_file_to_build
@cmd /C move *.o $(OBJECT_OUTPUT_PATH) \>list_log
@cmd /C move *.d $(OBJECT_OUTPUT_PATH) \>list_log
@cmd /C del /q list_*
@echo [COMPILATION]... Done
@echo --------------------------------------------------------------------
@echo [LINKER] $(LINKER)
@echo [FLAGS] $(LFLAGS)
@echo --scatter=$(LNKFILE)
@echo --list="$(OBJECT_OUTPUT_PATH)\$(CURRENT_APPL)_Sample.$(LST_FILE_SUFFIX)"
@echo -o "$(OBJECT_OUTPUT_PATH)\$(EXE)"
@echo [LINKING]...
@echo $(OBJECT_PATH_FILES_BUILT)
@$(LINKER) --scatter=$(LNKFILE) $(LFLAGS) $(OBJECT_PATH_FILES_BUILT) \
$(OBJECTS_LINK_ONLY) $(STD_LIBRARY) \
--list="$(OBJECT_OUTPUT_PATH)\$(CURRENT_APPL)_Sample.$(LST_FILE_SUFFIX)" \
-o "$(OBJECT_OUTPUT_PATH)\$(EXE)"
@echo [LINK]... Done
@echo --------------------------------------------------------------------
@echo [S-REC GENERATOR] $(CONVERTER)
@echo [FLAGS] $(SFLAGS) --output="$(OBJECT_OUTPUT_PATH)\$(CURRENT_APPL_SRECORD).$(S_RECORD_SUFFIX)"
@echo "$(OBJECT_OUTPUT_PATH)\$(EXE)"
@echo [GENERATING S-RECORD]...
@$(CONVERTER) $(SFLAGS) \
--output="$(OBJECT_OUTPUT_PATH)\$(CURRENT_APPL_SRECORD).$(S_RECORD_SUFFIX)" \
"$(OBJECT_OUTPUT_PATH)\$(EXE)"
@echo [GENERATION]... Done
################################################################################
# Command to generate object files from all dependent source files #
################################################################################
%.$(OBJ_FILE_SUFFIX) : %.$(C_FILE_SUFFIX)
@echo --------------------------------------------------------------------
@echo Compiling $< ...
@echo Generating $(OBJECT_OUTPUT_PATH)\$@ ...
$(CC) $(CFLAGS) $(COMPILER_INCLUDE) $< -o $(OBJECT_OUTPUT_PATH)\$@
@echo Done ...
################################################################################
# List General Info at the beginning of compilation process #
################################################################################
COMPILER_LINKER_ASSEMBLER_INCLUDES:
@echo --------------------------------------------------------------------
@echo [INCLUDES]
@echo $(COMPILER_INCLUDE)
@echo --------------------------------------------------------------------
@echo [AAA] $(LNKFILE)
@echo [FLAGS] $(AFLAGS)
@echo [ASSEMBLING]...
################################################################################
# Command to generate object files from specific assembly files #
################################################################################
%.$(ASM_OBJ_FILE_SUFFIX) : %.$(ASM_FILE_SUFFIX)
@echo $<
@$(ASM) $(AFLAGS) $(COMPILER_INCLUDE) $< -o $(OBJECT_OUTPUT_PATH)\$@
################################################################################
# Command to clean the generated files #
################################################################################
clean: $(MAKE_CLEAN_RULES)
################################################################################
# Command to generate the configuration files #
################################################################################
config: $(MAKE_CONFIG_RULES)
################################################################################
# Command to clean the generated object files #
################################################################################
clean_objs:
@if exist $(OBJECT_OUTPUT_PATH)\*.$(OBJ_FILE_SUFFIX) del /Q $(OBJECT_OUTPUT_PATH)\*.$(OBJ_FILE_SUFFIX)
################################################################################
# Command to clean all the files in the output folder #
################################################################################
clean_all:
@if exist $(OBJECT_OUTPUT_PATH)\*.* del /Q $(OBJECT_OUTPUT_PATH)\*.*
################################################################################
# Command to print debug information #
################################################################################
debug_base_make:
@echo PROJECT_ROOT = $(PROJECT_ROOT)
@echo SPECIFIC_APPL_ROOT_PATH = $(SPECIFIC_APPL_ROOT_PATH)
@echo OBJECT_OUTPUT_PATH = $(OBJECT_OUTPUT_PATH)
@echo STARTUP_CORE_PATH = $(STARTUP_CORE_PATH)
@echo ARM_CORE_PATH = $(ARM_CORE_PATH)
@echo $(MSN_MODULE_NAME)_CORE_PATH = $($(MSN_MODULE_NAME)_CORE_PATH)
@echo AUTOSARTYPE_CORE_PATH = $(AUTOSARTYPE_CORE_PATH)
@echo CC_INCLUDE_PATH = $(CC_INCLUDE_PATH)
@echo CC_FILES_TO_BUILD = $(CC_FILES_TO_BUILD)
@echo COMMON_SAMPLE_CORE_PATH = $(COMMON_SAMPLE_CORE_PATH)
@echo $(MSN_MODULE_NAME)_CONFIG_PATH = $($(MSN_MODULE_NAME)_CONFIG_PATH)
@echo $(MSN_MODULE_NAME)_CONFIG_FILE = $($(MSN_MODULE_NAME)_CONFIG_FILE)
@echo STUBS_PATH = $(STUBS_PATH)
@echo TRXML_CONFIG_PATH = $(TRXML_CONFIG_PATH)
@echo TRXML_CONFIG_FILE = $(TRXML_CONFIG_FILE)
@echo $(MSN_MODULE_NAME)_BSWMDT_CONFIG_PATH = $($(MSN_MODULE_NAME)_BSWMDT_CONFIG_PATH)
@echo $(MSN_MODULE_NAME)_BSWMDT_CONFIG_FILE = $($(MSN_MODULE_NAME)_BSWMDT_CONFIG_FILE)
@echo LNKFILE = $(LNKFILE)
@echo $(MSN_MODULE_NAME)_DB = $($(MSN_MODULE_NAME)_DB)
@echo LIBRARIES_TO_BUILD = $(LIBRARIES_TO_BUILD)
@echo OBJECTS_LINK_ONLY = $(OBJECTS_LINK_ONLY)
@echo GENERATED_SOURCE_FILES = $(GENERATED_SOURCE_FILES)
@echo CPP_FILES_TO_BUILD = $(CPP_FILES_TO_BUILD)
@echo ASM_FILES_TO_BUILD = $(ASM_FILES_TO_BUILD)
@echo OBJECT_PATH_FILES_BUILT = $(OBJECT_PATH_FILES_BUILT)
@echo CPP_INCLUDE_PATH = $(CPP_INCLUDE_PATH)
@echo ASM_INCLUDE_PATH = $(ASM_INCLUDE_PATH)
@echo PREPROCESSOR_DEFINES = $(PREPROCESSOR_DEFINES)
@echo LIBRARIES_LINK_ONLY = $(LIBRARIES_LINK_ONLY)
@echo DIRECTORIES_TO_CREATE = $(DIRECTORIES_TO_CREATE)
@echo DEPEND_GCC_OPTS = $(DEPEND_GCC_OPTS)
@echo MAKE_CLEAN_RULES = $(MAKE_CLEAN_RULES)
@echo MAKE_GENERATE_RULES = $(MAKE_GENERATE_RULES)
@echo MAKE_COMPILE_RULES = $(MAKE_COMPILE_RULES)
@echo MAKE_DEBUG_RULES = $(MAKE_DEBUG_RULES)
@echo MAKE_CONFIG_RULES = $(MAKE_CONFIG_RULES)
@echo MAKE_ADD_RULES = $(MAKE_ADD_RULES)
@echo CC_FILES_BUILT = $(CC_FILES_BUILT)
@echo OBJECT_FILES_BUILT = $(OBJECT_FILES_BUILT)
@echo ASM_OBJECT_FILES_BUILT = $(ASM_OBJECT_FILES_BUILT)
@echo VPATH = $(VPATH)
@echo EXE = $(EXE)
@echo COMPILER_INCLUDE = $(COMPILER_INCLUDE)
##############################################################################
# End of the Base Make script #
##############################################################################

View File

@@ -0,0 +1 @@
/* Empty stub file for WOODY module */

View File

@@ -0,0 +1 @@
/* Empty stub file for WOODY module */

View File

@@ -0,0 +1,6 @@
/* Empty stub file for WOODY module */
void WOODY_Rte_Dummy(void)
{
}

View File

@@ -0,0 +1,6 @@
/* Empty stub file for WOODY module */
void WOODY_SchM_Dummy(void)
{
}

View File

@@ -0,0 +1,21 @@
/*============================================================================*/
/* Environment: */
/* Devices: Rcar V4H, V4M */
/*============================================================================*/
/*******************************************************************************
** Revision History **
*******************************************************************************/
/*
* 1.0.0: 18/12/2025 : Initial version.
*/
/******************************************************************************/
#ifndef WOODY_H
#define WOODY_H
#endif /* WOODY_H */
/*******************************************************************************
** End of File **
*******************************************************************************/

View File

@@ -0,0 +1,21 @@
/*============================================================================*/
/* Environment: */
/* Devices: Rcar V4H, V4M */
/*============================================================================*/
/*******************************************************************************
** Revision History **
*******************************************************************************/
/*
* 1.0.0: 18/12/2025 : Initial version.
*/
/******************************************************************************/
#ifndef WOODY_VERSION_H
#define WOODY_VERSION_H
#endif /* WOODY_VERSION_H */
/*******************************************************************************
** End of File **
*******************************************************************************/

View File

@@ -0,0 +1,16 @@
###############################################################################
# REGISTRY
#
PREPARE_CONFIGURATION_INTERFACE += WOODY_MODULE_DBASE_REQ
CHECK_VARS_WHICH_ARE_REQUIRED += WOODY_MODULE_DBASE_REQ
###############################################################################
# SPECIFIC
#
ifneq ($(WOODY_MODULE_DBASE_REQ),yes)
ifneq ($(WOODY_MODULE_DBASE_REQ),no)
$(error The value of the variable WOODY_MODULE_DBASE_REQ is not valid. \
Please specify whether database is required or not )
endif
endif

View File

@@ -0,0 +1,33 @@
###############################################################################
# INTERNAL REQUIRED CONFIGURATION
#
###############################################################################
# REQUIRED (in base_make)
#
###############################################################################
# SPECIFIC
#
ifneq ( $(WOODY_MODULE_CONFIG_PATH), )
WOODY_MODULE_PROJECT_PATH = $(WOODY_MODULE_CONFIG_PATH)
else
WOODY_MODULE_PROJECT_PATH = $(WOODY_MODULE_CORE_PATH)\Cfg1
endif
###############################################################################
# REGISTRY
#
SSC_PLUGINS += renesas_WOODY
renesas_WOODY_DEPENDENT_PLUGINS =
CC_INCLUDE_PATH += $(WOODY_MODULE_CORE_PATH)\include \
$(WOODY_MODULE_CORE_PATH)\include\$(MICRO_VARIANT) \
$(WOODY_MODULE_PROJECT_PATH)\include
CC_SRC_PATH += $(WOODY_MODULE_CORE_PATH)\src \
$(WOODY_MODULE_PROJECT_PATH)\src
CPP_INCLUDE_PATH += $(WOODY_MODULE_CORE_PATH)\include \
$(WOODY_MODULE_PROJECT_PATH)\include
ASM_INCLUDE_PATH +=
PREPROCESSOR_DEFINES +=

View File

@@ -0,0 +1,74 @@
###############################################################################
# REGISTRY
#
LIBRARIES_TO_BUILD += renesas_WOODYlib
ifeq ($(MICRO_SUB_VARIANT), S4)
renesas_WOODYlib_FILES = \
$(WOODY_MODULE_CORE_PATH)\src\Woody.c \
$(WOODY_MODULE_CORE_PATH)\src\Woody_Version.c
CC_FILES_TO_BUILD += \
$(WOODY_MODULE_CORE_PATH)\src\Woody.c \
$(WOODY_MODULE_CORE_PATH)\src\Woody_Version.c
else
renesas_WOODYlib_FILES = \
$(WOODY_MODULE_CORE_PATH)\src\Woody.c \
$(WOODY_MODULE_CORE_PATH)\src\Woody_Version.c
CC_FILES_TO_BUILD += \
$(WOODY_MODULE_CORE_PATH)\src\Woody.c \
$(WOODY_MODULE_CORE_PATH)\src\Woody_Version.c
endif
OBJECTS_LINK_ONLY +=
ifeq ($(WOODY_MODULE_DBASE_REQ),yes)
#GENERATED_SOURCE_FILES += \
# $(WOODY_MODULE_PROJECT_PATH)\src\Woody_PBcfg.c \
# $(WOODY_MODULE_PROJECT_PATH)\src\Woody_Lcfg.c
endif
MAKE_CLEAN_RULES += WOODY_clean_generated_files
MAKE_GENERATE_RULES += generate_WOODY_config
MAKE_DEBUG_RULES += debug_WOODY_makefile
MAKE_CONFIG_RULES += generate_WOODY_config
WOODY_clean_generated_files:
@if exist $(WOODY_MODULE_PROJECT_PATH)\src\*.c del /Q $(WOODY_MODULE_PROJECT_PATH)\src\*.c
@if exist $(WOODY_MODULE_PROJECT_PATH)\include\*.h del /Q $(WOODY_MODULE_PROJECT_PATH)\include\*.h
@if exist $(WOODY_MODULE_PROJECT_PATH)\*.log del /Q $(WOODY_MODULE_PROJECT_PATH)\*.log
###############################################################################
# Command to print debug information #
###############################################################################
debug_WOODY_makefile:
@echo WOODY_MODULE_PROJECT_PATH = $(WOODY_MODULE_PROJECT_PATH)
@echo WOODY_MODULE_CORE_PATH = $(WOODY_MODULE_CORE_PATH)
@echo WOODY_MODULE_CONFIG_PATH = $(WOODY_MODULE_CONFIG_PATH)
@echo WOODY_MODULE_CONFIG_FILE = $(WOODY_MODULE_CONFIG_FILE)
@echo WOODY_MODULE_DBASE_REQ = $(WOODY_MODULE_DBASE_REQ)
@echo TRXML_CONFIG_FILE = $(TRXML_CONFIG_FILE)
@echo WOODY_MODULE_BSWMDT_CONFIG_FILE = $(WOODY_MODULE_BSWMDT_CONFIG_FILE)
@echo WOODY_DEM_CONFIG_FILE = $(WOODY_DEM_CONFIG_FILE)
@echo WOODY_OS_CONFIG_FILE = $(WOODY_OS_CONFIG_FILE)
@echo WOODY_ECUM_CONFIG_FILE = $(WOODY_ECUM_CONFIG_FILE)
@echo MCU_CONFIG_FILE = $(MCU_CONFIG_FILE)
###############################################################################
# Command to trigger the tool and generate configuration files #
###############################################################################
generate_WOODY_config:
$(COMMON_TOOL_FILE) -m $(WOODY_MODULE_NAME) \
-o $(WOODY_MODULE_PROJECT_PATH) \
$(WOODY_MODULE_CONFIG_FILE) \
$(TRXML_CONFIG_FILE) \
$(WOODY_MODULE_BSWMDT_CONFIG_FILE) \
$(MCU_CONFIG_FILE) \
$(WOODY_DEM_CONFIG_FILE) \
$(WOODY_ECUM_CONFIG_FILE) \
$(WOODY_OS_CONFIG_FILE)

View File

@@ -0,0 +1,21 @@
/*============================================================================*/
/* Environment: */
/* Devices: Rcar V4H, V4M */
/*============================================================================*/
/*******************************************************************************
** Revision History **
*******************************************************************************/
/*
* 1.0.0: 18/12/2025 : Initial version.
*/
/******************************************************************************/
#ifndef APP_WOODY_DEVICE_SAMPLE_H
#define APP_WOODY_DEVICE_SAMPLE_H
#endif /* APP_WOODY_DEVICE_SAMPLE_H */
/*******************************************************************************
** End of File **
*******************************************************************************/

View File

@@ -0,0 +1,6 @@
/* Empty stub file for WOODY module */
void WOODY_App_Dummy(void)
{
}

View File

@@ -0,0 +1,21 @@
/*============================================================================*/
/* Environment: */
/* Devices: Rcar V4H, V4M */
/*============================================================================*/
/*******************************************************************************
** Revision History **
*******************************************************************************/
/*
* 1.0.0: 18/12/2025 : Initial version.
*/
/******************************************************************************/
#ifndef APP_WOODY_COMMON_SAMPLE_H
#define APP_WOODY_COMMON_SAMPLE_H
#endif /* APP_WOODY_COMMON_SAMPLE_H */
/*******************************************************************************
** End of File **
*******************************************************************************/

View File

@@ -0,0 +1,245 @@
################################################################################
# Makefile to compile and build the Sample Application with the AUTOSAR Woody #
# Driver Component (For Test purposes only) #
# Compatible with GNU Make 3.81 for Win32. #
################################################################################
################################################################################
# Definitions of global environment variables #
################################################################################
###############################################################################
# MULTI CORE SAMPLE
#
MODULE_USE_MULTIINSTANCE = no
MODULE_USE_INSTANCE0 = no
MODULE_USE_INSTANCE1 = no
# FLAGS OF MULTI INSTANCE
ifeq ($(MODULE_USE_MULTIINSTANCE),yes)
CFLAGS += -D$(MSN_MODULE_NAME)_USE_MULTIINSTANCE
ifeq ($(MODULE_USE_INSTANCE0),yes)
CFLAGS += -D$(MSN_MODULE_NAME)_USE_INSTANCE0
endif
ifeq ($(MODULE_USE_INSTANCE1),yes)
CFLAGS += -D$(MSN_MODULE_NAME)_USE_INSTANCE1
CC_FILES_TO_BUILD += $(STARTUP_$(MICRO_SUB_VARIANT)_CORE_PATH)\src\arm\Interrupt_VectorTable.c
CPP_FILES_TO_BUILD += $(STARTUP_$(MICRO_SUB_VARIANT)_CORE_PATH)\src\arm\Interrupt_VectorTable.c
endif
endif
# Database to be linked together with the current application
# Define 'no' to isolate database from the application
MODULE_DBASE_REQ = yes
# Get the name of the SRECORD file
CURRENT_APPL_SRECORD = $(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample
# Name of the database if generated separately
MODULE_DB = $(MODULE_NAME)_PBcfg
# Map common variables to module variables
WOODY_MODULE_NAME = $(MODULE_NAME)
WOODY_MODULE_CORE_PATH = $(MODULE_CORE_PATH)
WOODY_MODULE_CONFIG_PATH = $(MODULE_CONFIG_PATH)
WOODY_MODULE_CONFIG_FILE = $(MODULE_CONFIG_FILE)
WOODY_MODULE_DBASE_REQ = $(MODULE_DBASE_REQ)
WOODY_MODULE_BSWMDT_CONFIG_FILE = $(MODULE_BSWMDT_CONFIG_FILE)
WOODY_DEM_CONFIG_FILE = $(DEM_CONFIG_FILE)
################################################################################
# Modules to be included in the project #
################################################################################
################################################################################
# DET Module Core Path
#
DET_CORE_PATH = $(STUBS_PATH)\Det
include $(DET_CORE_PATH)\make\det_defs.mak
include $(DET_CORE_PATH)\make\det_rules.mak
################################################################################
################################################################################
# OS Module Core Path
#
OS_CORE_PATH = $(STUBS_PATH)\Os
include $(OS_CORE_PATH)\make\os_defs.mak
include $(OS_CORE_PATH)\make\os_rules.mak
################################################################################
################################################################################
# DEM Module Core Path
#
DEM_CORE_PATH = $(STUBS_PATH)\Dem
include $(DEM_CORE_PATH)\make\dem_defs.mak
include $(DEM_CORE_PATH)\make\dem_rules.mak
################################################################################
################################################################################
# Scheduler Manager Module Core Path
#
RTE_CORE_PATH = $(STUBS_PATH)\Rte
include $(RTE_CORE_PATH)\make\rte_defs.mak
include $(RTE_CORE_PATH)\make\rte_rules.mak
################################################################################
# Driver Component
#
MODULE_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\$(MODULE_NAME)
include $(MODULE_CORE_PATH)\make\renesas_$(MODULE_NAME)_defs.mak
include $(MODULE_CORE_PATH)\make\renesas_$(MODULE_NAME)_check.mak
include $(MODULE_CORE_PATH)\make\renesas_$(MODULE_NAME)_rules.mak
################################################################################
# MCAL Modules Integration
################################################################################
# ################################################################################
# # Fls Module
# #
# FLS_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\fls
# include $(FLS_CORE_PATH)\make\renesas_fls_defs.mak
# include $(FLS_CORE_PATH)\make\renesas_fls_check.mak
# include $(FLS_CORE_PATH)\make\renesas_fls_rules.mak
# ################################################################################
# # Dio Module
# #
# DIO_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\dio
# include $(DIO_CORE_PATH)\make\renesas_dio_defs.mak
# include $(DIO_CORE_PATH)\make\renesas_dio_check.mak
# include $(DIO_CORE_PATH)\make\renesas_dio_rules.mak
# ################################################################################
# # Port Module
# #
# PORT_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\port
# include $(PORT_CORE_PATH)\make\renesas_port_defs.mak
# include $(PORT_CORE_PATH)\make\renesas_port_check.mak
# include $(PORT_CORE_PATH)\make\renesas_port_rules.mak
# ################################################################################
# # Mcu Module
# #
# MCU_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\mcu
# include $(MCU_CORE_PATH)\make\renesas_mcu_defs.mak
# include $(MCU_CORE_PATH)\make\renesas_mcu_check.mak
# include $(MCU_CORE_PATH)\make\renesas_mcu_rules.mak
# ################################################################################
# # Gpt Module
# #
# GPT_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\gpt
# include $(GPT_CORE_PATH)\make\renesas_gpt_defs.mak
# include $(GPT_CORE_PATH)\make\renesas_gpt_check.mak
# include $(GPT_CORE_PATH)\make\renesas_gpt_rules.mak
# ################################################################################
# # Wdg Module
# #
# WDG_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\wdg
# include $(WDG_CORE_PATH)\make\renesas_wdg_defs.mak
# include $(WDG_CORE_PATH)\make\renesas_wdg_check.mak
# include $(WDG_CORE_PATH)\make\renesas_wdg_rules.mak
# ################################################################################
# # Spi Module
# #
# SPI_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\spi
# include $(SPI_CORE_PATH)\make\renesas_spi_defs.mak
# include $(SPI_CORE_PATH)\make\renesas_spi_check.mak
# include $(SPI_CORE_PATH)\make\renesas_spi_rules.mak
# ################################################################################
# # Can Module
# #
# CAN_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\can
# include $(CAN_CORE_PATH)\make\renesas_can_defs.mak
# include $(CAN_CORE_PATH)\make\renesas_can_check.mak
# include $(CAN_CORE_PATH)\make\renesas_can_rules.mak
# ################################################################################
# # Eth Module
# #
# ETH_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\eth
# include $(ETH_CORE_PATH)\make\renesas_eth_defs.mak
# include $(ETH_CORE_PATH)\make\renesas_eth_check.mak
# include $(ETH_CORE_PATH)\make\renesas_eth_rules.mak
# ################################################################################
# # Cddiccom Module
# #
# CDDICCOM_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\cddiccom
# include $(CDDICCOM_CORE_PATH)\make\renesas_cddiccom_defs.mak
# include $(CDDICCOM_CORE_PATH)\make\renesas_cddiccom_check.mak
# include $(CDDICCOM_CORE_PATH)\make\renesas_cddiccom_rules.mak
# ################################################################################
# # Cddiic Module
# #
# CDDIIC_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\cddiic
# include $(CDDIIC_CORE_PATH)\make\renesas_cddiic_defs.mak
# include $(CDDIIC_CORE_PATH)\make\renesas_cddiic_check.mak
# include $(CDDIIC_CORE_PATH)\make\renesas_cddiic_rules.mak
# ################################################################################
# # Cddcrc Module
# #
# CDDCRC_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\cddcrc
# include $(CDDCRC_CORE_PATH)\make\renesas_cddcrc_defs.mak
# include $(CDDCRC_CORE_PATH)\make\renesas_cddcrc_check.mak
# include $(CDDCRC_CORE_PATH)\make\renesas_cddcrc_rules.mak
# ################################################################################
# # Cddths Module
# #
# CDDTHS_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\cddths
# include $(CDDTHS_CORE_PATH)\make\renesas_cddths_defs.mak
# include $(CDDTHS_CORE_PATH)\make\renesas_cddths_check.mak
# include $(CDDTHS_CORE_PATH)\make\renesas_cddths_rules.mak
# ################################################################################
# # Cddemm Module
# #
# CDDEMM_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\cddemm
# include $(CDDEMM_CORE_PATH)\make\renesas_cddemm_defs.mak
# include $(CDDEMM_CORE_PATH)\make\renesas_cddemm_check.mak
# include $(CDDEMM_CORE_PATH)\make\renesas_cddemm_rules.mak
# ################################################################################
# # Cddipmmu Module
# #
# CDDIPMMU_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\cddipmmu
# include $(CDDIPMMU_CORE_PATH)\make\renesas_cddipmmu_defs.mak
# include $(CDDIPMMU_CORE_PATH)\make\renesas_cddipmmu_check.mak
# include $(CDDIPMMU_CORE_PATH)\make\renesas_cddipmmu_rules.mak
# ################################################################################
# # Cddrfso Module
# #
# CDDRFSO_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\cddrfso
# include $(CDDRFSO_CORE_PATH)\make\renesas_cddrfso_defs.mak
# include $(CDDRFSO_CORE_PATH)\make\renesas_cddrfso_check.mak
# include $(CDDRFSO_CORE_PATH)\make\renesas_cddrfso_rules.mak
################################################################################
# Command to generate standalone database #
################################################################################
$(MODULE_DB).$(S_RECORD_SUFFIX):$(MODULE_DB).$(OBJ_FILE_SUFFIX) $(LNKFILE_DB)
@echo *********************************************************************
@echo Building the standalone database ...
$(DBLINKER) $(LNKFILE_DB) $(LNKFILE_COMMON) \
"$(OBJECT_OUTPUT_PATH)\$(MODULE_DB).$(OBJ_FILE_SUFFIX)" \
-map="$(OBJECT_OUTPUT_PATH)\$(MODULE_DB).$(MAP_FILE_SUFFIX)" \
-o "$(OBJECT_OUTPUT_PATH)\$(MODULE_DB).$(EXE_FILE_SUFFIX)"
@echo Generating Motorola S-Record file...
$(CONVERTER) $(SFLAGS) "$(OBJECT_OUTPUT_PATH)\$(MODULE_DB).$(EXE_FILE_SUFFIX)" \
-o "$(OBJECT_OUTPUT_PATH)\$(MODULE_DB).$(S_RECORD_SUFFIX)"
@echo Done ...
################################################################################
# End of the Base Make script #
################################################################################

View File

@@ -0,0 +1,8 @@
/*******************************************************************************
** Include Section **
*******************************************************************************/
#include "App_Woody_Common_Sample.h"
int main(void)
{
}

View File

@@ -0,0 +1,6 @@
/* Empty stub file for WOODY module */
void WOODY_Dummy(void)
{
}

View File

@@ -0,0 +1,6 @@
/* Empty stub file for WOODY module */
void WOODY_Version_Dummy(void)
{
}

View File

@@ -1,747 +0,0 @@
@echo off
setlocal EnableDelayedExpansion
set Filename=%~n0
echo ***************************************************************************
echo Run %Filename% ...
echo ***************************************************************************
echo.
IF "%GNUMAKE%" == "" (GOTO :noGnuMake) ELSE (GOTO :GnuMake)
:noGnuMake
echo If you have make.exe located in a different directory
echo then your standard path, please add a local
echo user variable named 'GNUMAKE' to your Windows
echo environment variables and specified the location
echo of make.exe by using this variable.
echo.
echo Your current path variable is
echo.
echo %path%
echo.
echo ***************************************************************************
GOTO :continue
:GnuMake
set path=%GNUMAKE%
echo Found user variable GNUMAKE ...
echo ***************************************************************************
echo Temporary modify path variable to be sure to use correct make, shell...
echo path = %path%
echo ***************************************************************************
GOTO :continue
:setmoduleOneGroup
SET MODULE=Port
SET MODULE_PCL=P
SET CDD_MSN_NAME=t
SET CDD_MSN_NAME_FC=T
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
SET MODULE=Can
SET MODULE_PCL=C
SET CDD_MSN_NAME=n
SET CDD_MSN_NAME_FC=N
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
SET MODULE=Fls
SET MODULE_PCL=F
SET CDD_MSN_NAME=s
SET CDD_MSN_NAME_FC=S
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
SET MODULE=Dio
SET MODULE_PCL=D
SET CDD_MSN_NAME=o
SET CDD_MSN_NAME_FC=O
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
SET MODULE=Mcu
SET MODULE_PCL=M
SET CDD_MSN_NAME=u
SET CDD_MSN_NAME_FC=U
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
echo !CONFIG_FOLDER!
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
exit /b 0
:setmoduleTwoGroup
SET MODULE=Wdg
SET MODULE_PCL=W
SET CDD_MSN_NAME=g
SET CDD_MSN_NAME_FC=G
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
SET MODULE=Spi
SET MODULE_PCL=S
SET CDD_MSN_NAME=i
SET CDD_MSN_NAME_FC=I
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
SET MODULE=Eth
SET MODULE_PCL=E
SET CDD_MSN_NAME=h
SET CDD_MSN_NAME_FC=H
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
exit /b 0
:setmoduleThreeGroup
SET MODULE=Cddiccom
SET MODULE_PCL=C
SET CDD_MSN_NAME=iccom
SET CDD_MSN_NAME_FC=I
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
SET MODULE=Cddiic
SET MODULE_PCL=C
SET CDD_MSN_NAME=iic
SET CDD_MSN_NAME_FC=I
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
SET MODULE=Cddcrc
SET MODULE_PCL=C
SET CDD_MSN_NAME=crc
SET CDD_MSN_NAME_FC=C
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
SET MODULE=Cddths
SET MODULE_PCL=C
SET CDD_MSN_NAME=ths
SET CDD_MSN_NAME_FC=T
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
SET MODULE=Cddemm
SET MODULE_PCL=C
SET CDD_MSN_NAME=emm
SET CDD_MSN_NAME_FC=E
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
echo !CONFIG_FOLDER!
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
exit /b 0
:setmoduleFourGroup
SET MODULE=Cddipmmu
SET MODULE_PCL=C
SET CDD_MSN_NAME=ipmmu
SET CDD_MSN_NAME_FC=I
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
SET MODULE=cddrfso
SET MODULE_PCL=C
SET CDD_MSN_NAME=rfso
SET CDD_MSN_NAME_FC=R
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
exit /b 0
:continue
SETLOCAL
:: set root folder
SET ROOT_FOLDER=..\..\..\..\..
::Specify the Family and Micro Variant (not change)
SET MICRO_FAMILY=rel
SET MICRO_VARIANT=V4M
SET MICRO_SOC=RCar
::CPU Option
:: CPUn_OPTION is CPUn_USED when the CPUn used
SET CPU0_OPTION=CPU0_USED
SET CPU1_OPTION=CPU1_NOT_USED
SET CPU2_OPTION=CPU2_NOT_USED
SET CPU3_OPTION=CPU3_NOT_USED
IF "%COMPILER_INSTALL_DIR%"=="" (
SET COMPILER_INSTALL_DIR=C:\Program Files\ArmCompilerforEmbeddedFuSa6.16.1\bin
)
IF /i "%1"=="DisplEnv" (
GOTO :Display_Env
)
IF /i "%1"=="" (
GOTO :Help
)
SET MODULE=%1
IF "%2" == "4.3.1" (
SET AUTOSAR_VERSION=4_3_1
)ELSE (
IF "%2" == "4.2.2" (
SET AUTOSAR_VERSION=4_2_2
)ELSE (
IF "%2" == "R19-11" (
SET AUTOSAR_VERSION=19_11
)ELSE (
SET AUTOSAR_VERSION=%2
)
)
)
SET DEVICE_NAME=%3
SET MODULE_USE_MULTIINSTANCE=%4
IF "%~4" == "" (
SET MODULE_USE_MULTIINSTANCE=no
)ELSE (
IF /I "%MODULE_USE_MULTIINSTANCE%" NEQ "yes" IF /I "%MODULE_USE_MULTIINSTANCE%" NEQ "no" (
GOTO :Help
)
)
SET MODULE_USE_LOG_PRINT=%5
IF "%~5" == "" (
SET MODULE_USE_LOG_PRINT=yes
)ELSE (
IF /I "%MODULE_USE_LOG_PRINT%" NEQ "yes" IF /I "%MODULE_USE_LOG_PRINT%" NEQ "no" (
GOTO :Help
)
)
SET BULID_OPTION=%6
SET COMPILER_NAME="arm6.16.2"
SET OBJ_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%DEVICE_NAME%\obj\arm
:: Check and create required folder
if not exist "%OBJ_FOLDER%" (
mkdir "%OBJ_FOLDER%"
)
IF "%AUTOSAR_VERSION%" NEQ "4_3_1" (
IF "%AUTOSAR_VERSION%" NEQ "4_2_2" (
IF "%AUTOSAR_VERSION%" NEQ "19_11" (
GOTO :Help
)
)
)
IF "%3" NEQ "V4M" (
GOTO :Help
)
::To Set the Sub Variant based on the Device.
CALL :SUB_VARIANT
::To Set the Max CPU Number on the Device.
CALL :TOTAL_CPU_NUMBER
:: To convert the case of MODULE_USE_MULTIINSTANCE name entered to Lowercase for Display
CALL :CONV_VAR_to_LOC MODULE_USE_MULTIINSTANCE
:: To convert the case of Module name entered to Uppercase for Display
CALL :CONV_VAR_to_LOC MODULE
SET MODULE_PCL=%MODULE:~0,1%
CALL :CONV_VAR_to_UPC MODULE_PCL
:: Pre-process for CDD and MCAL module
SET CDD_MSN_NAME=%MODULE:~3,-1%%MODULE:~-1,1%
CALL :CONV_VAR_to_LOC CDD_MSN_NAME
SET CDD_MSN_NAME_FC=%MODULE:~3,1%
CALL :CONV_VAR_to_UPC CDD_MSN_NAME_FC
:: Select MCAL or CDD module to make Msn naming
If not %MODULE:cdd=%==%MODULE% (
SET MSN_PREFIX=CDD_
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
SET MSN_FULL_NAME=%CDD_MSN_NAME%
)else (
SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
:: Assign to global variable (e.g. Can, Dio, CDD_Iccom, CDD_Iic,...)
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
If not exist "%ROOT_FOLDER%" (
echo Error! Root Folder %ROOT_FOLDER% doesn't exist.
GOTO :End
)
If not exist "%COMPILER_INSTALL_DIR%" (
echo Error! Compiler installed directory %COMPILER_INSTALL_DIR% doesn't exist.
GOTO :End
)
If not exist "%CONFIG_FOLDER%" (
echo Error! Folder %CONFIG_FOLDER% doesn't exist.
GOTO :End
)
IF /I "%MODULE_USE_LOG_PRINT%" EQU "yes" (
SET USE_LOG_PRINT=yes
)
SET OPTION=no
:: To convert the case of Module name entered to Uppercase for Display
CALL :CONV_VAR_to_UPC MODULE
echo.
echo ===========================================================================
echo BUILDING SAMPLE APPLICATION: %MODULE%
echo ===========================================================================
:: To convert the case of Module name entered to Lowercase for file path using
CALL :CONV_VAR_to_LOC MODULE
IF "%BULID_OPTION%"=="clean" (
SET OPTION=yes
echo ===========================================================================
echo CLEAN ONLY
echo ===========================================================================
make -f common.mak clean
make -f common.mak clean_all
)
IF "%BULID_OPTION%"=="generate" (
SET OPTION=yes
echo ===========================================================================
echo CLEAN AND RE-GENERATE
echo ===========================================================================
make -f common.mak clean
make -f common.mak clean_all
make -f common.mak generate_%MODULE%_config || GOTO :eof
)
IF "%BULID_OPTION%"=="allgenerate" (
SET OPTION=yes
echo ===========================================================================
echo CLEAN AND All-GENERATE
echo ===========================================================================
call :setmoduleOneGroup
call :setmoduleTwoGroup
call :setmoduleThreeGroup
call :setmoduleFourGroup
)
IF "%BULID_OPTION%"=="make" (
SET OPTION=yes
echo ===========================================================================
echo MAKE ONLY
echo ===========================================================================
rem make -f common.mak debug_base_make
make -f common.mak App_%MODULE%_%MICRO_SUB_VARIANT%_Sample.elf
)
IF "%OPTION%"=="no" (
echo ===========================================================================
echo CLEAN AND RE-BUILD
echo ===========================================================================
make -f common.mak clean
make -f common.mak clean_all
rem make -f common.mak debug_base_make
make -f common.mak generate_%MODULE%_config || GOTO :eof
make -f common.mak App_%MODULE%_%MICRO_SUB_VARIANT%_Sample.elf
)
echo.
echo ===========================================================================
echo BUILDING COMPLETED
echo ===========================================================================
GOTO :eof
:CONV_VAR_to_LOC
FOR %%z IN (a b c d e f g h i j k l m n o p q r s t u v w x y z) DO CALL set %~1=%%%~1:%%z=%%z%%
GOTO :eof
:CONV_VAR_to_UPC
FOR %%z IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO CALL set %~1=%%%~1:%%z=%%z%%
GOTO :eof
:Help
echo.
echo ===========================================================================
echo HELP TO BUILD SAMPLE APPLICATION
echo ===========================================================================
echo Usage:
echo.
echo SampleApp.bat MODULE AUTOSAR_VERSION DEVICE MULTIINSTANCE MCAL_LOG_PRINT BUILD_OPTION
echo.
echo MODULE (*) - Module Short Name to be generated e.g. Port, Can, ...
echo Supported module: Fls, Dio, Port, Mcu, Gpt, Wdg, Spi,
echo. Can, Eth, Cddiccom, Cddiic, Cddcrc, Cddths, Cddemm
echo. Cddipmmu, cddrfso
echo.
echo.AUTOSAR_VERSION (*) - AUTOSAR version to be compiled which is available :
echo. R19-11
echo.
echo DEVICE (*) - Device Name to be compiled which is available :
echo. V4M : V4M
echo.
echo MULTIINSTANCE - Yes : Build sample application with multi instances (applicable for: none)
echo No or unset(null) : Build sample application with single instance (applicable for: all supported modules)
echo.
echo MCAL_LOG_PRINT - Yes or unset(null) : Output MCAL driver's log to console when using Console_Print() function in Sample Application
echo No : Do not output MCAL driver's log to console when using Console_Print() function in Sample Application
echo.
echo BUILD_OPTION - unset(null) : Build with all processes.
echo clean : Only delete object files.
echo generate : Only generation tool done.
echo make : Only compile and link (use already generated files)
echo allgenerate : All generation tool done.
echo.
echo DisplEnv - Display Useful Variable for debug
echo.
echo Note: (*) is mandantory input argument
echo ===========================================================================
goto :END
:SUB_VARIANT
FOR %%A IN (V4M) Do IF "%DEVICE_NAME%" == "%%A" SET MICRO_SUB_VARIANT=V4M
:TOTAL_CPU_NUMBER
FOR %%A IN (V4M) Do IF "%DEVICE_NAME%" == "%%A" SET TOTAL_CPU=1
GOTO :eof
:Display_Env
echo Display Env Variables
echo =================================
echo DEVICE_NAME=%DEVICE_NAME%
echo AUTOSAR_VERSION=%AUTOSAR_VERSION%
echo MODULE_NAME=%MODULE%
echo =================================
:End
ENDLOCAL
@echo on