update
This commit is contained in:
@@ -53,15 +53,7 @@ SET CPU2_OPTION=CPU2_NOT_USED
|
|||||||
SET CPU3_OPTION=CPU3_NOT_USED
|
SET CPU3_OPTION=CPU3_NOT_USED
|
||||||
|
|
||||||
IF "%COMPILER_INSTALL_DIR%"=="" (
|
IF "%COMPILER_INSTALL_DIR%"=="" (
|
||||||
<<<<<<< HEAD
|
|
||||||
SET COMPILER_INSTALL_DIR=C:\Program Files\ArmCompilerforEmbeddedFuSa6.16.2\bin
|
|
||||||
=======
|
|
||||||
<<<<<<< HEAD
|
|
||||||
SET COMPILER_INSTALL_DIR=C:\Program Files\ArmCompilerforEmbeddedFuSa6.16.1\bin
|
SET COMPILER_INSTALL_DIR=C:\Program Files\ArmCompilerforEmbeddedFuSa6.16.1\bin
|
||||||
=======
|
|
||||||
SET COMPILER_INSTALL_DIR=C:\Program Files\ArmCompilerforEmbeddedFuSa6.16.2\bin
|
|
||||||
>>>>>>> 62b20d068d0206dc5ca77386834dfa6324766226
|
|
||||||
>>>>>>> 84cc68d38b16020cdab5248a1adf75a6a3ef1d08
|
|
||||||
)
|
)
|
||||||
|
|
||||||
IF /i "%1"=="DisplEnv" (
|
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