update
This commit is contained in:
@@ -53,15 +53,7 @@ SET CPU2_OPTION=CPU2_NOT_USED
|
||||
SET CPU3_OPTION=CPU3_NOT_USED
|
||||
|
||||
IF "%COMPILER_INSTALL_DIR%"=="" (
|
||||
<<<<<<< HEAD
|
||||
SET COMPILER_INSTALL_DIR=C:\Program Files\ArmCompilerforEmbeddedFuSa6.16.2\bin
|
||||
=======
|
||||
<<<<<<< HEAD
|
||||
SET COMPILER_INSTALL_DIR=C:\Program Files\ArmCompilerforEmbeddedFuSa6.16.1\bin
|
||||
=======
|
||||
SET COMPILER_INSTALL_DIR=C:\Program Files\ArmCompilerforEmbeddedFuSa6.16.2\bin
|
||||
>>>>>>> 62b20d068d0206dc5ca77386834dfa6324766226
|
||||
>>>>>>> 84cc68d38b16020cdab5248a1adf75a6a3ef1d08
|
||||
)
|
||||
|
||||
IF /i "%1"=="DisplEnv" (
|
||||
|
||||
@@ -0,0 +1,382 @@
|
||||
@echo off
|
||||
setlocal EnableDelayedExpansion
|
||||
|
||||
REM ==============================================================================
|
||||
REM This script sequentially calls SampleApp.bat to run the 'generate' step
|
||||
REM for all 16 supported modules. It takes 6 arguments from the command line
|
||||
REM (or uses defaults if no arguments are provided).
|
||||
REM ==============================================================================
|
||||
|
||||
:: <20><>ũ<EFBFBD><C5A9>Ʈ <20><><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %~n0)
|
||||
set Filename=%~n0
|
||||
|
||||
:: ----------------------------------------
|
||||
:: 1. Argument Check and Assignment
|
||||
:: ----------------------------------------
|
||||
|
||||
:: ù <20><>° <20>μ<EFBFBD><CEBC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٷ<EFBFBD> Help ȣ<><C8A3>
|
||||
IF /i "%1"=="" (
|
||||
GOTO :Help
|
||||
)
|
||||
|
||||
:: <20>ʼ<EFBFBD> 6<><36> <20>μ<EFBFBD><CEBC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҵ<EFBFBD><D2B4>մϴ<D5B4>.
|
||||
SET MODULE_NAME=%1
|
||||
SET AUTOSAR_VERSION=%2
|
||||
SET DEVICE=%3
|
||||
SET MULTI_CORE=%4
|
||||
SET MCAL_LOG_PRINT=%5
|
||||
SET BUILD_OPTION=%6
|
||||
|
||||
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5<><35><EFBFBD><EFBFBD> <20>μ<EFBFBD><CEBC><EFBFBD> ARGS <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
SET ARGS=%AUTOSAR_VERSION% %DEVICE% %MULTI_CORE% %MCAL_LOG_PRINT% %BUILD_OPTION%
|
||||
|
||||
ECHO ==================================================================
|
||||
ECHO Starting Sequential Module Generation using %Filename%.bat
|
||||
ECHO Target Module: %MODULE_NAME%
|
||||
ECHO Configuration: %ARGS%
|
||||
ECHO Total Modules in list: 16
|
||||
ECHO ==================================================================
|
||||
|
||||
:: ----------------------------------------
|
||||
:: 2. Supported Module List and Validation
|
||||
:: ----------------------------------------
|
||||
|
||||
:: <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (SampleApp.bat<61><74><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
SET SUPPORTED_MODULES=Fls Dio Port Mcu Gpt Wdg Spi Can Eth Cddiccom Cddiic Cddcrc Cddths Cddemm Cddipmmu cddrfso Woody
|
||||
|
||||
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Է<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ALL<4C><4C> <20><><EFBFBD><EFBFBD> <20><>ü <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
IF /I "%MODULE_NAME%"=="ALL" (
|
||||
GOTO :GENERATE_ALL
|
||||
)
|
||||
|
||||
:: ALL<4C><4C> <20>ƴ<EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȿ<EFBFBD><C8BF> <20>˻<EFBFBD>
|
||||
SET IS_VALID_MODULE=0
|
||||
FOR %%M IN (%SUPPORTED_MODULES%) DO (
|
||||
IF /I "%%M"=="%MODULE_NAME%" (
|
||||
SET IS_VALID_MODULE=1
|
||||
GOTO :CHECK_DONE
|
||||
)
|
||||
)
|
||||
:CHECK_DONE
|
||||
|
||||
IF "%IS_VALID_MODULE%"=="0" (
|
||||
GOTO :INVALID_MODULE
|
||||
)
|
||||
|
||||
:: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
GOTO :GENERATE_SINGLE
|
||||
|
||||
:GENERATE_ALL
|
||||
REM ----------------------------------------
|
||||
REM 1. Fls Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 2. Dio Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 3. Port Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 4. Mcu Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 5. Gpt Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 6. Wdg Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 7. Spi Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 8. Can Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 9. Eth Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 10. Cddiccom Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 11. Cddiic Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 12. Cddcrc Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 13. Cddths Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 14. Cddemm Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 15. Cddipmmu Module
|
||||
REM ----------------------------------------
|
||||
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 ------------------------------------------------------------------
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 16. cddrfso Module
|
||||
REM ----------------------------------------
|
||||
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 :SUCCESS_ALL
|
||||
|
||||
:GENERATE_SINGLE
|
||||
ECHO.
|
||||
ECHO Starting generation for %MODULE_NAME% module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
:: SampleApp.bat ȣ<><C8A3>
|
||||
CALL .\SampleApp.bat %MODULE_NAME% %ARGS%
|
||||
:: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30> <20>ƴϸ<C6B4> (<28><>, 1 <20>̻<EFBFBD><CCBB≯<EFBFBD>) <20><><EFBFBD>з<EFBFBD> <20>̵<EFBFBD>
|
||||
IF NOT ERRORLEVEL 0 GOTO :FAIL_SINGLE
|
||||
ECHO %MODULE_NAME% Call SampleApp.bat Complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
GOTO :SUCCESS_SINGLE
|
||||
|
||||
:INVALID_MODULE
|
||||
ECHO.
|
||||
ECHO ==================================================================
|
||||
ECHO [ERROR] Invalid module name specified: %MODULE_NAME%
|
||||
ECHO Supported modules are: %SUPPORTED_MODULES%
|
||||
ECHO ==================================================================
|
||||
EXIT /B 1
|
||||
|
||||
:Fls_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Fls module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Dio_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Dio module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Port_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Port module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Mcu_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Mcu module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Gpt_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Gpt module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Wdg_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Wdg module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Spi_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Spi module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Can_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Can module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Eth_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Eth module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Cddiccom_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Cddiccom module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Cddiic_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Cddiic module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Cddcrc_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Cddcrc module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Cddths_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Cddths module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Cddemm_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Cddemm module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Cddipmmu_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Cddipmmu module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:cddrfso_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] cddrfso module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
|
||||
:FAIL_SINGLE
|
||||
ECHO.
|
||||
ECHO [FAILURE] %MODULE_NAME% module generation failed. Aborting process.
|
||||
EXIT /B 1
|
||||
|
||||
:FAIL_END
|
||||
ECHO.
|
||||
ECHO ==================================================================
|
||||
ECHO [FAILURE] Module generation failed during sequence. Aborting process.
|
||||
ECHO ==================================================================
|
||||
EXIT /B 1
|
||||
|
||||
:SUCCESS_SINGLE
|
||||
ECHO.
|
||||
ECHO ==================================================================
|
||||
ECHO [SUCCESS] %MODULE_NAME% module completed generation successfully.
|
||||
ECHO ==================================================================
|
||||
GOTO :END
|
||||
|
||||
:SUCCESS_ALL
|
||||
ECHO.
|
||||
ECHO ==================================================================
|
||||
ECHO [SUCCESS] All 16 modules completed generation successfully.
|
||||
ECHO ==================================================================
|
||||
GOTO :END
|
||||
|
||||
:Help
|
||||
ECHO.
|
||||
ECHO ==================================================================
|
||||
ECHO [HELP] Usage: %Filename%.bat ^<MODULE/ALL^^> ^<AR_VERSION^^> ^<DEVICE^*^> ^<MULTI_CORE^> ^<LOG_PRINT^> ^<BUILD_OPTION^>
|
||||
ECHO.
|
||||
ECHO Note: All 6 arguments must be provided.
|
||||
ECHO.
|
||||
ECHO MODULE/ALL - Module name (e.g., Fls) or "ALL" for sequential run.
|
||||
ECHO AR_VERSION - AUTOSAR Version (e.g., R19-11)
|
||||
ECHO DEVICE - Target device (e.g., V4M, V4H, V5H)
|
||||
ECHO MULTI_CORE - Yes/No
|
||||
ECHO LOG_PRINT - Yes/No
|
||||
ECHO BUILD_OPTION - all/clean/generate/make
|
||||
ECHO.
|
||||
ECHO [EXAMPLE] Fls R19-11 V4H No Yes generate
|
||||
ECHO .%Filename%.bat Fls R19-11 V4H No Yes generate
|
||||
ECHO.
|
||||
ECHO [EXAMPLE] All R19-11 V4M No Yes make
|
||||
ECHO .%Filename%.bat ALL R19-11 V4M No Yes make
|
||||
ECHO ==================================================================
|
||||
EXIT /B 1
|
||||
|
||||
:END
|
||||
endlocal
|
||||
@@ -0,0 +1 @@
|
||||
/* Empty stub file for WOODY module */
|
||||
@@ -0,0 +1 @@
|
||||
/* Empty stub file for WOODY module */
|
||||
@@ -0,0 +1,6 @@
|
||||
/* Empty stub file for WOODY module */
|
||||
|
||||
void WOODY_Rte_Dummy(void)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
/* Empty stub file for WOODY module */
|
||||
|
||||
void WOODY_SchM_Dummy(void)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -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 **
|
||||
*******************************************************************************/
|
||||
@@ -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 **
|
||||
*******************************************************************************/
|
||||
@@ -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
|
||||
@@ -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 +=
|
||||
@@ -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)
|
||||
@@ -0,0 +1,140 @@
|
||||
################################################################################
|
||||
# Makefile to compile and build the Sample Application with the AUTOSAR CAN #
|
||||
# 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
|
||||
CAN_MODULE_NAME = $(MODULE_NAME)
|
||||
CAN_MODULE_CORE_PATH = $(MODULE_CORE_PATH)
|
||||
CAN_MODULE_CONFIG_PATH = $(MODULE_CONFIG_PATH)
|
||||
CAN_MODULE_CONFIG_FILE = $(MODULE_CONFIG_FILE)
|
||||
CAN_MODULE_DBASE_REQ = $(MODULE_DBASE_REQ)
|
||||
CAN_MODULE_BSWMDT_CONFIG_FILE = $(MODULE_BSWMDT_CONFIG_FILE)
|
||||
CAN_DEM_CONFIG_FILE = $(DEM_CONFIG_FILE)
|
||||
CAN_ECUM_CONFIG_FILE = $(ECUM_CONFIG_FILE)
|
||||
CAN_OS_CONFIG_FILE = $(OS_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
|
||||
|
||||
################################################################################
|
||||
# ECUM Module Core Path
|
||||
#
|
||||
ECUM_CORE_PATH = $(STUBS_PATH)\EcuM
|
||||
include $(ECUM_CORE_PATH)\make\ecum_defs.mak
|
||||
include $(ECUM_CORE_PATH)\make\ecum_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
|
||||
|
||||
################################################################################
|
||||
# Can_General Module Core Path
|
||||
#
|
||||
CANGENERAL_CORE_PATH = $(STUBS_PATH)\CanGeneral
|
||||
include $(CANGENERAL_CORE_PATH)\make\cangeneral_defs.mak
|
||||
include $(CANGENERAL_CORE_PATH)\make\cangeneral_rules.mak
|
||||
|
||||
################################################################################
|
||||
# CanIf Module Core Path
|
||||
#
|
||||
CANIF_CORE_PATH = $(STUBS_PATH)\CanIf
|
||||
include $(CANIF_CORE_PATH)\make\canif_defs.mak
|
||||
include $(CANIF_CORE_PATH)\make\canif_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 #
|
||||
################################################################################
|
||||
@@ -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 **
|
||||
*******************************************************************************/
|
||||
@@ -0,0 +1,6 @@
|
||||
/* Empty stub file for WOODY module */
|
||||
|
||||
void WOODY_App_Dummy(void)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -0,0 +1,319 @@
|
||||
/*============================================================================*/
|
||||
/* Project = R-Car Gen4 AR19-11 MCAL */
|
||||
/* Module = App_CAN_V4M_Sample.c */
|
||||
/* SW-VERSION = 1.1.17 */
|
||||
/*============================================================================*/
|
||||
/* COPYRIGHT */
|
||||
/*============================================================================*/
|
||||
/* Copyright(c) 2023 Renesas Electronics Corporation. */
|
||||
/*============================================================================*/
|
||||
/* Purpose: */
|
||||
/* This application file contains execution sequences to demonstrate the usage*/
|
||||
/* of CAN Driver APIs. */
|
||||
/* */
|
||||
/*============================================================================*/
|
||||
/* */
|
||||
/* Unless otherwise agreed upon in writing between your company and */
|
||||
/* Renesas Electronics Corporation the following shall apply! */
|
||||
/* */
|
||||
/* Warranty Disclaimer */
|
||||
/* */
|
||||
/* There is no warranty of any kind whatsoever granted by Renesas. Any */
|
||||
/* warranty is expressly disclaimed and excluded by Renesas, either expressed */
|
||||
/* or implied, including but not limited to those for non-infringement of */
|
||||
/* intellectual property, merchantability and/or fitness for the particular */
|
||||
/* purpose. */
|
||||
/* */
|
||||
/* Renesas shall not have any obligation to maintain, service or provide bug */
|
||||
/* fixes for the supplied Product(s) and/or the Application. */
|
||||
/* */
|
||||
/* Each User is solely responsible for determining the appropriateness of */
|
||||
/* using the Product(s) and assumes all risks associated with its exercise */
|
||||
/* of rights under this Agreement, including, but not limited to the risks */
|
||||
/* and costs of program errors, compliance with applicable laws, damage to */
|
||||
/* or loss of data, programs or equipment, and unavailability or */
|
||||
/* interruption of operations. */
|
||||
/* */
|
||||
/* Limitation of Liability */
|
||||
/* */
|
||||
/* In no event shall Renesas be liable to the User for any incidental, */
|
||||
/* consequential, indirect, or punitive damage (including but not limited */
|
||||
/* to lost profits) regardless of whether such liability is based on breach */
|
||||
/* of contract, tort, strict liability, breach of warranties, failure of */
|
||||
/* essential purpose or otherwise and even if advised of the possibility of */
|
||||
/* such damages. Renesas shall not be liable for any services or products */
|
||||
/* provided by third party vendors, developers or consultants identified or */
|
||||
/* referred to the User by Renesas in connection with the Product(s) and/or */
|
||||
/* the Application. */
|
||||
/* */
|
||||
/*============================================================================*/
|
||||
/* Environment: */
|
||||
/* Devices: V4M */
|
||||
/*============================================================================*/
|
||||
|
||||
/*******************************************************************************
|
||||
** Revision Control History **
|
||||
*******************************************************************************/
|
||||
/*
|
||||
* 1.1.14: 18/04/2023 : Initial Version
|
||||
*/
|
||||
/******************************************************************************/
|
||||
/*******************************************************************************
|
||||
** Include Section **
|
||||
*******************************************************************************/
|
||||
|
||||
#include "App_CAN_Device_Sample.h"
|
||||
#include "Interrupt.h"
|
||||
#include "log.h"
|
||||
#include "scif.h"
|
||||
|
||||
/*******************************************************************************
|
||||
** Local Definitions **
|
||||
*******************************************************************************/
|
||||
|
||||
/*******************************************************************************
|
||||
* Global Variables **
|
||||
*******************************************************************************/
|
||||
/*******************************************************************************
|
||||
** Function Prototypes **
|
||||
*******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
* Function Definitions **
|
||||
******************************************************************************/
|
||||
|
||||
/*
|
||||
* Turn off interrupts in the ARM processor
|
||||
* Turn off IRQ and FIQ interrupt
|
||||
*/
|
||||
void cpuirq_disable (void)
|
||||
{
|
||||
__asm("cpsid i\n\t");
|
||||
}
|
||||
/*
|
||||
* Turn on interrupts in the ARM processor
|
||||
* Turn on IRQ interrupt & turn off FIQ interrupt
|
||||
*/
|
||||
void cpuirq_enable (void)
|
||||
{
|
||||
__asm("cpsie i\n\t");
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
System Initialization
|
||||
******************************************************************************/
|
||||
void Clock_Init(void)
|
||||
{
|
||||
|
||||
Console_Print("[V4M:CAN] Clock_Init start\r\n");
|
||||
/**********************************************/
|
||||
/* Setting Clock for CANFD */
|
||||
/**********************************************/
|
||||
/* Get Module stop control register */
|
||||
volatile uint32 *reg = (volatile uint32 *)MSTPCR3_ADDR;
|
||||
|
||||
/* Unlock MSTPCR3 register */
|
||||
CPGWPR = ~((MSTPCR3 & ~(CAN_MASK_CLOCK)));
|
||||
|
||||
/* Enable Supply clock for CANFD module */
|
||||
*reg = (MSTPCR3 & ~(CAN_MASK_CLOCK));
|
||||
/* Wait for the status of MSTPCR3 is correct */
|
||||
while(CAN_MASK_CLOCK & MSTPCR3);
|
||||
|
||||
/* Reset CANFD by writing to 1 to SRCR3 Register */
|
||||
CPGWPR = ~(CAN_MASK_RESET);
|
||||
reg = (volatile uint32 *)SRCR3_ADDR;
|
||||
*reg = CAN_MASK_RESET;
|
||||
while(!(CAN_MASK_RESET & SRCR3));
|
||||
|
||||
/* Write to software reset clearing register to clearing SRCR3 */
|
||||
CPGWPR = ~CAN_MASK_RESET;
|
||||
SRSTCLR3 = CAN_MASK_RESET;
|
||||
while(CAN_MASK_RESET & SRCR3);
|
||||
|
||||
/* Unlock CANFDCKCR register */
|
||||
CPGWPR = ~((CANFDCKCR & (CAN_SUPPLY_CLOCK)));
|
||||
/* Supply clock for CANFD module */
|
||||
reg = (volatile uint32 *)CANFDCKCR_ADDR;
|
||||
*reg = (CANFDCKCR & CAN_SUPPLY_CLOCK);
|
||||
while(!(CAN_SUPPLY_CLOCK & CANFDCKCR));
|
||||
|
||||
/**********************************************/
|
||||
/* Setting internal clock for timer unit TMU0 */
|
||||
/**********************************************/
|
||||
reg = (volatile uint32 *)MSTPCR7_ADDR ;
|
||||
/* Unlock TMU0 register */
|
||||
CPGWPR = ~((MSTPCR7 & ~(TMU0_MASK_CLOCK)));
|
||||
/* Enable supply clock for TMU0 */
|
||||
*reg = (MSTPCR7 & ~(TMU0_MASK_CLOCK));
|
||||
}
|
||||
|
||||
|
||||
/* Perform the System initialization */
|
||||
void Mcu_Init(void)
|
||||
{
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
** Watchdog Initialization **
|
||||
*******************************************************************************/
|
||||
void Wdg_Init(void)
|
||||
{
|
||||
/* call the function */
|
||||
}
|
||||
/******************************************************************************
|
||||
* Port Initialization **
|
||||
******************************************************************************/
|
||||
|
||||
void Port_Init(void)
|
||||
{
|
||||
volatile uint32 *regval;
|
||||
Console_Print("[V4M:CAN] Port_Init start\r\n");
|
||||
|
||||
/* Set INOUTSEL2 register to select input/ output mode for each TX/RX port */
|
||||
PMMR2 = ~(PFC_INOUTSEL2_RW | (BIT_IN_OUT));
|
||||
regval = (volatile uint32 *)PFC_INOUTSEL2_RW_ADD;
|
||||
*regval = (PFC_INOUTSEL2_RW | (BIT_IN_OUT));
|
||||
|
||||
/*
|
||||
* GP1_03 -------GPIO *
|
||||
* GP2_10 -------CANFD0_TX | GP2_16 -------CANFD4_TX *
|
||||
* GP2_11 -------CANFD0_RX | GP2_17 -------CANFD4_RX *
|
||||
* GP2_00 -------CANFD1_TX | GP2_02 -------CANFD5_TX *
|
||||
* GP2_01 -------CANFD1_RX | GP2_03 -------CANFD5_RX *
|
||||
* GP2_12 -------CANFD2_TX | GP2_07 -------CANFD6_TX *
|
||||
* GP2_13 -------CANFD2_RX | GP2_08 -------CANFD6_RX *
|
||||
* GP2_14 -------CANFD3_TX | GP2_18 -------CANFD7_TX *
|
||||
* GP2_15 -------CANFD3_RX | GP2_19 -------CANFD7_RX *
|
||||
*/
|
||||
/* Set the GPSR2 register */
|
||||
PMMR2 = ~(PFC_GPSR2_RW | (BIT3_0|BIT7|BIT8|BIT11_10|BIT15_12|BIT19_16));
|
||||
regval = (volatile uint32 *)PFC_GPSR2_RW_ADD;
|
||||
*regval = (PFC_GPSR2_RW | (BIT3_0|BIT7|BIT8|BIT11_10|BIT15_12|BIT19_16));
|
||||
|
||||
/* Set the IP0SR2 register */
|
||||
/* IP0SR2[31:28]: CANFD6_TX: 0x1 */
|
||||
/* IP0SR2[15:12]: CANFD5_RX: 0x1 */
|
||||
/* IP0SR2[11:8]: CANFD5_TX: 0x1 */
|
||||
/* IP0SR2[7:4]: CANFD1_RX: 0x1 */
|
||||
/* IP0SR2[3:0]: CANFD1_TX: 0x1 */
|
||||
PMMR2 = ~(PFC_IP0SR2_RW | BIT31_28_15_0);
|
||||
regval = (volatile uint32 *)PFC_IP0SR2_RW_ADD;
|
||||
*regval = (PFC_IP0SR2_RW | BIT31_28_15_0);
|
||||
|
||||
/* Set the IP1SR2 register */
|
||||
/* IP1SR2[31:28]: CANFD3_RX: 0x0 */
|
||||
/* IP1SR2[27:24]: CANFD3_TX: 0x0 */
|
||||
/* IP1SR2[23:20]: CANFD2_RX: 0x0 */
|
||||
/* IP1SR2[19:16]: CANFD2_TX: 0x0 */
|
||||
/* IP1SR2[15:12]: CANFD0_RX: 0x0 */
|
||||
/* IP1SR2[11:8]: CANFD0_TX: 0x0 */
|
||||
/* IP1SR2[3:0]: CANFD6_RX: 0x1 */
|
||||
PMMR2 = ~((PFC_IP1SR2_RW & ~(BIT31_1)) | (BIT0));
|
||||
regval = (volatile uint32 *)PFC_IP1SR2_RW_ADD;
|
||||
*regval = ((PFC_IP1SR2_RW & ~(BIT31_1)) | (BIT0));
|
||||
|
||||
/* Set the IP2SR2 register */
|
||||
/* IP2SR2[15:12]: CANFD7_RX: 0x0 */
|
||||
/* IP2SR2[11:8]: CANFD7_TX: 0x0 */
|
||||
/* IP2SR2[7:4]: CANFD4_RX: 0x0 */
|
||||
/* IP2SR2[3:0]: CANFD4_TX: 0x0 */
|
||||
PMMR2 = ~(PFC_IP2SR2_RW & ~(ALL_BIT));
|
||||
regval = (volatile uint32 *)PFC_IP2SR2_RW_ADD;
|
||||
*regval = (PFC_IP2SR2_RW & ~(ALL_BIT));
|
||||
|
||||
/* Set bellow registers to configure Port GP1_03 as Output with high level value */
|
||||
/* to enable transceiver for channel 0 */
|
||||
/* Set the INOUTSEL1 register to select GP1_03 as Output mode */
|
||||
PMMR1 = ~(PFC_INOUTSEL1_RW | BIT3);
|
||||
regval = (volatile uint32 *)PFC_INOUTSEL1_RW_ADD;
|
||||
*regval = (PFC_INOUTSEL1_RW | BIT3);
|
||||
|
||||
/* Set the GPSR1 register to select GP1_03 as GPIO */
|
||||
PMMR1 = ~(PFC_GPSR1_RW & ~BIT3);
|
||||
regval = (volatile uint32 *)PFC_GPSR1_RW_ADD;
|
||||
*regval = (PFC_GPSR1_RW & ~BIT3);
|
||||
|
||||
/* Set the OUTDTSEL1 register */
|
||||
PMMR1 = ~(PFC_OUTDTSEL1_RW & ~BIT3);
|
||||
regval = (volatile uint32 *)PFC_OUTDTSEL1_RW_ADD;
|
||||
*regval = (PFC_OUTDTSEL1_RW & ~BIT3);
|
||||
|
||||
/* Set the OUTDT1 register */
|
||||
PMMR1 = ~(PFC_OUTDT1_RW | BIT3);
|
||||
regval = (volatile uint32 *)PFC_OUTDT1_RW_ADD;
|
||||
*regval = (PFC_OUTDT1_RW |BIT3);
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
Timer Initialization
|
||||
*****************************************************************************/
|
||||
void Gpt_Init(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void Tmu_Init(uint32 CounterValue)
|
||||
{
|
||||
Console_Print("[V4M:CAN] Tmu_Init start\r\n");
|
||||
REG_TSTR0 &= ~(REG_TSTR0_TMU0_ENABLE);
|
||||
REG_TCR0 |= TMU_TCR0;
|
||||
REG_TCOR0 = 0x00000000UL;
|
||||
REG_TCNT0 = 0x00000000UL;
|
||||
|
||||
REG_TCOR0 = CounterValue;
|
||||
REG_TCNT0 = CounterValue;
|
||||
|
||||
/* To start CH0 timer */
|
||||
REG_TSTR0 |= (uint8) 0x01;
|
||||
|
||||
}
|
||||
|
||||
void Timer_irq_end(void)
|
||||
{
|
||||
REG_TCR0 &= (uint16) 0xFEFF;
|
||||
}
|
||||
|
||||
void Timer_End(void)
|
||||
{
|
||||
/* To stop CH0 timer */
|
||||
REG_TSTR0 &= (uint8) 0x06;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
CAN Module Initialization
|
||||
*******************************************************************************/
|
||||
|
||||
void Can_sub_Init(void)
|
||||
{
|
||||
Console_Print("[V4M:CAN] Can_sub_Init start\r\n");
|
||||
|
||||
/* Disable interrupts in the R52 processor */
|
||||
cpuirq_disable();
|
||||
|
||||
Interrupt_Config();
|
||||
/* Enable CAN channel Interrupt */
|
||||
Interrupt_Enable(CAN_CHANNEL_INT_ID);
|
||||
/* Set CAN channel Interrupt to IRQ (Group 1) */
|
||||
Interrupt_SetGroup(CAN_CHANNEL_INT_ID, 1);
|
||||
|
||||
/* Enable CAN global Interrupt */
|
||||
Interrupt_Enable(CAN_GLOBAL_INT_ID);
|
||||
/* Set CAN global Interrupt to IRQ (Group 1) */
|
||||
Interrupt_SetGroup(CAN_GLOBAL_INT_ID, 1);
|
||||
|
||||
/* Enable the interrupt of TMU0 channel 0 */
|
||||
Interrupt_Enable(TMU_CHANNEL0_INT_ID);
|
||||
Interrupt_SetGroup(TMU_CHANNEL0_INT_ID, 1);
|
||||
|
||||
/* Initialize timer TMU0 */
|
||||
Tmu_Init(3000000);
|
||||
|
||||
/* enable interrupts in the R52 processor */
|
||||
cpuirq_enable();
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
End of the 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 **
|
||||
*******************************************************************************/
|
||||
@@ -0,0 +1,113 @@
|
||||
################################################################################
|
||||
# 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
|
||||
|
||||
################################################################################
|
||||
# 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 #
|
||||
################################################################################
|
||||
@@ -0,0 +1,8 @@
|
||||
/*******************************************************************************
|
||||
** Include Section **
|
||||
*******************************************************************************/
|
||||
#include "App_Woody_Common_Sample.h"
|
||||
|
||||
int main(void)
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
/* Empty stub file for WOODY module */
|
||||
|
||||
void WOODY_Dummy(void)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
/* Empty stub file for WOODY module */
|
||||
|
||||
void WOODY_Version_Dummy(void)
|
||||
{
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user