Compare commits
26 Commits
8c04f98a0e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| a6e5b4ae43 | |||
| b5c7527b8d | |||
| 82e5a43322 | |||
| 581206595f | |||
| fa99c032e0 | |||
| 62f7a8bef3 | |||
| c79fcbae2d | |||
| f97c668d19 | |||
| 828de1da0f | |||
| e993fe9ce7 | |||
| 9fceb47af1 | |||
| a569ac2b69 | |||
| 80928becdb | |||
| f361878aa2 | |||
| f93f468214 | |||
| f5f11f1428 | |||
| 2dca7a378f | |||
| bee1e7f899 | |||
| f1f42f71b5 | |||
| b33605127b | |||
| 84cc68d38b | |||
| 2dff00926c | |||
| 614b4c922e | |||
| 62b20d068d | |||
| 4b9bf890b4 | |||
| 150637ffa9 |
@@ -53,7 +53,7 @@ SET CPU2_OPTION=CPU2_NOT_USED
|
||||
SET CPU3_OPTION=CPU3_NOT_USED
|
||||
|
||||
IF "%COMPILER_INSTALL_DIR%"=="" (
|
||||
SET COMPILER_INSTALL_DIR=C:\ARMCompiler6.16.2\bin
|
||||
SET COMPILER_INSTALL_DIR=C:\Program Files\ArmCompilerforEmbeddedFuSa6.16.1\bin
|
||||
)
|
||||
|
||||
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)
|
||||
{
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,747 @@
|
||||
@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
|
||||
@@ -53,7 +53,7 @@ SET CPU2_OPTION=CPU2_NOT_USED
|
||||
SET CPU3_OPTION=CPU3_NOT_USED
|
||||
|
||||
IF "%COMPILER_INSTALL_DIR%"=="" (
|
||||
SET COMPILER_INSTALL_DIR=C:\ARMCompiler6.16.2\bin
|
||||
SET COMPILER_INSTALL_DIR=C:\Program Files\ArmCompilerforEmbeddedFuSa6.16.2\bin
|
||||
)
|
||||
|
||||
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