RAM Test (RamTst)
AUTOSAR Classic Memory Drivers-Modul RAM Test (RamTst, Spezifikation: AUTOSAR_CP_SWS_RAMTest.pdf, AUTOSAR_SWS_RAMTest.pdf, AUTOSAR_SWS_RAM_Test.pdf).
Funktionen — Übersicht
void RamTst_Init (const RamTst_ConfigType* ConfigPtr);Service for RAM Test initialization.void RamTst_Stop (void);Service for stopping the RAM Test.void RamTst_Resume (void);Service for allowing to continue the background RAM Test at the point is was suspended.RamTst_ExecutionStatusType RamTst_GetExecutionStatus (void);Service returns the current RAM Test execution status.RamTst_TestResultType RamTst_GetTestResult (void);Service returns the current RAM Test result.RamTst_TestResultType RamTst_GetTestResultPerBlock (RamTst_NumberOfBlocksType BlockID);Service returns the current RAM Test result for the specified block.void RamTst_SelectAlgParams (RamTst_AlgParamsIdType NewAlgParamsId);Service used to set the test algorithm and its parameter set.RamTst_AlgorithmType RamTst_GetTestAlgorithm (void);Service returns the current RAM Test algorithm.void RamTst_ChangeNumberOfTestedCells (RamTst_NumberOfTestedCellsType NewNumberOfTestedCells);Service changes the current number of tested cells.RamTst_NumberOfTestedCellsType RamTst_GetNumberOfTestedCells (void);Service returns the current number of tested cells per main - function cycle.void RamTst_GetVersionInfo (Std_VersionInfoType* versioninfo);Service returns the version information of this module.void RamTst_MainFunction (void);Scheduled function for executing the RAM Test in the background.void RamTst_TestCompletedNotification (void);The function Ram Tst_ Test Completed shall be called every time when all RAM blocks of the current test configuration have...void RamTst_ErrorNotification (void);The function Ram Tst_ Error shall be called every time when a RAM failure has been detected by the selected test algorithm in...void RamTst_DeInit (void);Service for RAM Test deinitialization.void RamTst_Allow (void);Service for continuing the RAM Test after calling 'Ram Tst_ Stop.void RamTst_Suspend (void);Service for suspending current operation of background RAM Test, until RESUME is called.RamTst_AlgParamsIdType RamTst_GetAlgParams (void);Service returns the ID of the current RAM Test algorithm parameter set.void RamTst_RunFullTest (void);Service for executing the full RAM Test in the foreground.void RamTst_RunPartialTest (RamTst_NumberOfBlocksType BlockId);Service for testing one RAM block in the foreground.
Typen — Übersicht
struct RamTst_NumberOfTestedCellsTypeData type of number of tested RAM cellsstruct RamTst_NumberOfBlocksTypeData type used to identify or count RAM blocks given in the test configuration parameters.enum RamTst_ExecutionStatusTypeThis is a status value returned by the API service Ram Tst_ Get Execution Status().enum RamTst_TestResultTypeThis is a status value returned by the API service Ram Tst_ Get Test Result().struct RamTst_AlgParamsIdTypeData type used to identify a set of configuration parameters for a test algorithm.enum RamTst_AlgorithmTypeThis is a value returned by the API service Ram Tst_ Get Test Algorithm().struct RamTst_ConfigTypeConfiguration data structure of the Ram Tst module.
Anforderungen — Übersicht
SWS_RamTst_00002During the execution of a RAM test algorithm, no other software shall be allowed to modify the RAM area under test.SWS_RamTst_00005The RAM Test module shall provide the background RAM test as an asynchronous service.SWS_RamTst_00006For the type RamTst_ExecutionStatusType , the enumeration value RAMTST_EXECUTION_UNINIT shall be the default value after a reset.SWS_RamTst_00007The function RamTst_Init shall initialize all RAM Test relevant registers and global variables and change the execution status...SWS_RamTst_00008If the RAM Test execution status is RAMTST_EXECUTION_RUNNING, the function RamTst_MainFunction shall continue to test the RAM...SWS_RamTst_00009If the RAM Test execution status is RAMT ST_EXECUTION_RUNNING and i f no blocks have yet been tested (first call of the fun c...SWS_RamTst_00011The function RamTst_MainFunction shall update the overall test result status according to SWS_RamTst_00202.SWS_RamTst_00012For the type RamTst_TestRe sultType ( of the overall test result), the enumeration value RAMTST_RESULT_NOT_TESTED shall be the...SWS_RamTst_00013For the type RamTst_AlgorithmType , the enumeration value RAMTST_ALGORITHM_UNDEFINED shall be the default value after reset.SWS_RamTst_00014When the RamTst_Stop function is called, RamTst_MainFunction shall still finish the current atomic sequence (if it is...SWS_RamTst_00018The function RamTst_Resume shall permit the RamTst_MainFunction to continue testing at the point where it was suspended, at...SWS_RamTst_00019The function RamTst_GetExecutionStatus shall re turn the current RAM Test execution status.SWS_RamTst_00021The function RamTst_GetTestAlgorithm shall return the current RAM Test algorithm.SWS_RamTst_00024The function RamTst_GetTestResult shall return the current RAM test result.SWS_RamTst_00026Within the configuration data for the RAM Test module, there shall be a set of configuration containers named RamTstAlgParams.SWS_RamTst_00027Within the configuration data for the RAM Test module, each parameter set of type RamTstAlgParams (as required in...SWS_RamTst_00033If the DET is enabled and the executio n status of the RAM Test is not RAMTST_EXECUTION_RUNNING or RAMTST_EXECUTION_SUSPENDED,...SWS_RamTst_00034The function RamTst_GetNumberofTestedCells shall read the current number of tested cells per cycle.SWS_RamTst_00036The function RamTst_ChangeNumberOfTestedCells shall change the current number of tested cells (for background tests).SWS_RamTst_00037If DET is enabled and the execution status of the RAM Test module is not RAMTST_EXECUTION_SUSPENDED , the function...SWS_RamTst_00038The function RamTst_GetTestResultPerBlock shall return the current RAM test result for the specified block.SWS_RamTst_00039If DET is enabled and the BlockID is out of range, the function RamTst_GetTestResultPerBlock shall report the error value...SWS_RamTst_00040If DET is enabled and the parameter NewNumberOfTestedCells is out of rangeSWS_RamTst_00043The callback notifications shall have no parameters and no return value.SWS_RamTst_00044If a callback notification is configured as null pointer, the RAM Test module shall not execute the callbac k.SWS_RamTst_00045The RAM Test module shall call t he callback RamTst_TestCompletedNotification every time when it has tested all RAM blocks of...SWS_RamTst_00046The RAM test module shall call the callback RamTst_Erro rNotification every time when the test algorithm of the selected...SWS_RamTst_00047After the function Ram Tst_MainFunction has completed testing all RAM blocks configured in the selected RamTstAlgParams , the...SWS_RamTst_00058The typ e RamTst_AlgorithmType shall contain only the enumerations of the algorithms selected at pre - compile time.SWS_RamTst_00059The function RamTst_MainFunction shall test the defined number of RAM cells within one call.SWS_RamTst_00060If non - destructive RAM Test is c hosen, the RAM Test module shall save the RAM area to be tested before the module modifies it.SWS_RamTst_00061For both the destructive an d non - destructive options, the RAM Test module shall ensure that the test algorithm does not...SWS_RamTst_00062After writing to a cell and before reading back, the RAM Te st module shall provide the possibility to inject instruction(s)...SWS_RamTst_00063The configuration process for t he RAM Test module shall allow the selection of a subset of different RAM Test algorithms...SWS_RamTst_00067Type of error Related error code Error value A particular API is called in an unexpected state (see also: SWS_ RAMTST_00033,...SWS_RamTst_00069Additional errors that are detected because of specific implementation and/or specific hardware properties sh all be added in...SWS_RamTst_00071Production err ors shall be reported to Diagnostic Event Manager (DEM) via the Dem_SetEventStatus API.SWS_RamTst_00081The implementer shall provide measured or calculated runtime infor mation in the documentation of the module for each...SWS_RamTst_00082The implementer shall provide integration hints for each algorithm, e.SWS_RamTst_00083The function RamTst_SelectAlgPara ms shall select the test parameter set (i.SWS_RamTst_00084If DET is enabled and the parameter “ NewAlgParamsId ” is out of range, the function RamTst_SelectAlgParams shall report the...SWS_RamTst_00085The function RamTst_SelectAlgParams shall re - initialize all RAM Test relevant registers and global variables with the values...SWS_RamTst_00089The function RamTst_Init shall be called first before calling any other RAM test functions.SWS_RamTst_00093Init functions shall have a pointer to a configuration structure as single parameter.SWS_RamTst_00094The function RamTst_SelectAlgParams shall initialize the test result status (according to SWS_RamTst_00207 and SWS_RamTst_00202 ).SWS_RamTst_00095If the execution status of the RAM Test module is not in the status RAMTST_EXECUTION_STOPPED , the function...SWS_RamTst_00096If the DET is enabled and the execution status of t he RAM Test is not RAMTST_EXECUTION_UNINIT , the function RamTst_Init...SWS_RamTst_00097If DET is enabled and the execution status of the RAM Test module is not RAMTST_EXECUTION_STOPPED , the function...SWS_RamTst_00098Module Header File Imported Type Dem Rte_ Dem_ Type.SWS_RamTst_00111Dem _ Set - Event Status Dem.SWS_RamTst_00112Det _ Report Error Det.SWS_RamTst_00147The function RamTst_DeInit shall deinitialize all RAM Test relevant registers and globa l variables that were initialized by...SWS_RamTst_00148After a RamTst_Stop call, RamTst_MainFunction shall not begin testing again when called by the scheduler until after a...SWS_RamTst_00169The function RamTst_Allow shall permit the RamTst_MainFunction to perform testing at its next scheduled call, if it had been...SWS_RamTst_00170If DET is enabled and the execution status is not RAMTST_EXECUTION_ STOPPED , the function RamTst _Allow shall report the...SWS_RamTst_00171The function RamTst_Suspend shall temporarily prohibit the RamTst_MainFunction from performing tests at its next schedul ed call.SWS_RamTst_00172If DET is enabled and the execution status is not RAMTST_EXECUTION_ RUNNING , the function RamTst_Suspend shall report the...SWS_RamTst_00175If the RA M Test execution status is not RAMTST_EXECUTION_RUNNING when this API is called, the function RamTst_MainFunction...SWS_RamTst_00188For the type RamTst_AlgParamsIdType , the value 0 shall indicate, that no test parameters (and thus no test algorithm) is...SWS_RamTst_00194The function RamTst_GetAlgParams shall return the ID of the currently selected test algorithm parameter set (i.SWS_RamTst_00198If the RAM Test execution status is RAMTST_EXECUTION_STOPPED or RAMTST_EXECUTION_SUSPENDED , t he function...SWS_RamTst_00200If the configuration parameter RamTstTestPolicy for a block is set to RAMTEST_NON_DESTRUCTIVE , the test algorithm shal l...SWS_RamTst_00201If the configuration parameter RamTstTestPolicy for a block is set to RAMTEST_DESTRUCTIVE , the test algorithm sh all fill the...SWS_RamTst_00202The overal l test result – for the set of blocks in the current RamTstAlgParams – shall be RAMTST_RESULT_NOT_TESTED if no...SWS_RamTst_00203The implementer shall document possible restrictions for the combination of configuration parameters and for their usage in...SWS_RamTst_00204U nless covered by some hardware mechanism the RAM Test module shall provide a test algorithm , the RAM Test module may...SWS_RamTst_00205If an implementation of the RAM Test modul e supports vendor specific test algorithms or other additional configuration...SWS_RamTst_00206The RAM Test module shall provide the foreground RAM test as an synchronous service.SWS_RamTst_00207The test result for a specific block (identified in the given RamTstA l gParams) – shall be RAMTST_RESULT_NOT_TESTED if this...SWS_RamTst_00210If DET is enabled and the execution status of the RAM Test module is not RAMTST_EXECUTION_STOPPED , the function...SWS_RamTst_00211If the RAM Test execution status is RAMTST_EXECUTION_STOPPED , the function RamTst_RunFullTest shall set the execution status...SWS_RamTst_00212The function RamTst_RunFullTest shall update the test result status of single blocks according to SWS_RamTst_00207.SWS_RamTst_00213The function RamTst _RunFullTest shall update the overall test result status according to SWS_RamTst_00202.SWS_RamTst_00214If DET is enabled and the RAM test execution status is ne i ther RAMTST_EXECUTION_STOPPED nor RAMTST_EXECUTION_SUSPENDED , the...SWS_RamTst_00215If the RAM Test execution status is RAMTST_EXECUTION_STOPPED or RAMTST_EXECUTION_SUSPENDED , the function...SWS_RamTst_00216The function RamTst_RunPartialTest shall update the test result status of the tested block according to SWS_RamTst_00207.SWS_RamTst_00217A successful partial foreground test shall set the bl ock specific result to RAMTST_RESULT_OK.SWS_RamTst_00221and the implementation must follow the general r e quirements for interrupt handling (see SRS_BSW_00427, SRS_SPAL_12129,...SWS_RamTst_00222[SWS_RamTst_00222] ⌈If the function RamTst_GetVersionInfo is called with a NULL pointer as parameter, it shall return...SWS_RamTst_00223If DET is enabl ed and the BlockId is out of range, the function RamTst_RunPartialTest shall report the error value...SWS_RamTst_00224Unless covered by some hardware mechanism the RAM Test module shall provide a test algorithm with low coverage as stated in...SWS_RamTst_00225Unless covered by some hardware mechanism the RAM Test module shall provide a test algorithm with medium coverage a s stated...SWS_RamTst_00226Unless covered by some hardware mechanism the RAM Test module shall provide a test algorithm with high coverage as stated in...SWS_RamTst_00999These requirements are not applicable to this specific a tion.SWS_RamTst_01002: RAM failure during test.SWS_RamTst_01003RAM test for RamTst_MainFunction function shall Fail if test result of at least one block is RAMTST_RESULT_NOT_OK.SWS_RamTst_01004RAM test for RamTst_MainFunction function shall Pass if test r esult of all the blocks is RAMTST_RESULT_OK.SWS_RamTst_01005The RAM Test shall detect extended production error for RamTst_ RunFullTest function as described below: Error Name:...SWS_RamTst_01006RAM Test for RamTst_ RunFullTest function shall Fail if test result of at least one block is RAMTST_RESULT_NOT_OK.SWS_RamTst_01007RAM Test for RamTst_ RunFullTest function shall Pass If test re sult of all the blocks is RAMTST_RESULT_OK.SWS_RamTst_01008The RAM Test shall detect extended production error for RamTst_ RunPartialTest function as described below: Error Name:...SWS_RamTst_01009RAM Test for RamTst_ RunPartialTest function function shall Fail if test result of at least one block is RAMTST_RESULT_NOT_OK.SWS_RamTst_01010RAM Test for RamTst_ RunPartialTest function functi on shall Pass If test result of all the blocks is RAMTST_RESULT_OK.SWS_RamTst_01012The Configuration pointer ConfigPtr shall always have a NULL_PTR value.SWS_RamTst_01013The RAM Test module shall reject configurations with partition mappings which are not supported by the implementation.SWS_RamTst_CONSTR_01016The ECUC partitions referenced by RamTstBlockParamsEcucPartitionRef shall be a subset of the ECUC partitions referenced by...SWS_RamTst_CONSTR_01017If RamTstEcucPartitionRef references one or more ECUC partitions, RamTstBlockParamsEcucPartitionRef shall have a multiplicity...
Funktionen & Typen — Detailansicht
function RamTst_Init [SWS_RamTst_00099] 📄 PDF
void RamTst_Init(const RamTst_ConfigType* ConfigPtr);
Service for RAM Test initialization.
function RamTst_Stop [SWS_RamTst_00100] 📄 PDF
void RamTst_Stop(void);
Service for stopping the RAM Test.
function RamTst_Resume [SWS_RamTst_00101] 📄 PDF
void RamTst_Resume(void);
Service for allowing to continue the background RAM Test at the point is was suspended.
function RamTst_GetExecutionStatus [SWS_RamTst_00102] 📄 PDF
RamTst_ExecutionStatusType RamTst_GetExecutionStatus(void);
Service returns the current RAM Test execution status.
function RamTst_GetTestResult [SWS_RamTst_00103] 📄 PDF
RamTst_TestResultType RamTst_GetTestResult(void);
Service returns the current RAM Test result.
function RamTst_GetTestResultPerBlock [SWS_RamTst_00104] 📄 PDF
RamTst_TestResultType RamTst_GetTestResultPerBlock(RamTst_NumberOfBlocksType BlockID);
Service returns the current RAM Test result for the specified block.
function RamTst_SelectAlgParams [SWS_RamTst_00105] 📄 PDF
void RamTst_SelectAlgParams(RamTst_AlgParamsIdType NewAlgParamsId);
Service used to set the test algorithm and its parameter set.
function RamTst_GetTestAlgorithm [SWS_RamTst_00106] 📄 PDF
RamTst_AlgorithmType RamTst_GetTestAlgorithm(void);
Service returns the current RAM Test algorithm.
function RamTst_ChangeNumberOfTestedCells [SWS_RamTst_00107] 📄 PDF
void RamTst_ChangeNumberOfTestedCells(RamTst_NumberOfTestedCellsType NewNumberOfTestedCells);
Service changes the current number of tested cells.
function RamTst_GetNumberOfTestedCells [SWS_RamTst_00108] 📄 PDF
RamTst_NumberOfTestedCellsType RamTst_GetNumberOfTestedCells(void);
Service returns the current number of tested cells per main - function cycle.
function RamTst_GetVersionInfo [SWS_RamTst_00109] 📄 PDF
void RamTst_GetVersionInfo(Std_VersionInfoType* versioninfo);
Service returns the version information of this module.
function RamTst_MainFunction [SWS_RamTst_00110] 📄 PDF
void RamTst_MainFunction(void);
Scheduled function for executing the RAM Test in the background.
function RamTst_TestCompletedNotification [SWS_RamTst_00113] 📄 PDF
void RamTst_TestCompletedNotification(void);
The function Ram Tst_ Test Completed shall be called every time when all RAM blocks of the current test configuration have been tested in the background.
function RamTst_ErrorNotification [SWS_RamTst_00114] 📄 PDF
void RamTst_ErrorNotification(void);
The function Ram Tst_ Error shall be called every time when a RAM failure has been detected by the selected test algorithm in the background.
function RamTst_DeInit [SWS_RamTst_00146] 📄 PDF
void RamTst_DeInit(void);
Service for RAM Test deinitialization.
function RamTst_Allow [SWS_RamTst_00149] 📄 PDF
void RamTst_Allow(void);
Service for continuing the RAM Test after calling 'Ram Tst_ Stop.
function RamTst_Suspend [SWS_RamTst_00150] 📄 PDF
void RamTst_Suspend(void);
Service for suspending current operation of background RAM Test, until RESUME is called.
function RamTst_GetAlgParams [SWS_RamTst_00193] 📄 PDF
RamTst_AlgParamsIdType RamTst_GetAlgParams(void);
Service returns the ID of the current RAM Test algorithm parameter set.
function RamTst_RunFullTest [SWS_RamTst_00195] 📄 PDF
void RamTst_RunFullTest(void);
Service for executing the full RAM Test in the foreground.
function RamTst_RunPartialTest [SWS_RamTst_00197] 📄 PDF
void RamTst_RunPartialTest(RamTst_NumberOfBlocksType BlockId);
Service for testing one RAM block in the foreground.
type RamTst_NumberOfTestedCellsType [SWS_RamTst_00173] 📄 PDF
Data type of number of tested RAM cells
type RamTst_NumberOfBlocksType [SWS_RamTst_00174] 📄 PDF
Data type used to identify or count RAM blocks given in the test configuration parameters.
type RamTst_ExecutionStatusType [SWS_RamTst_00189] 📄 PDF
This is a status value returned by the API service Ram Tst_ Get Execution Status().
type RamTst_TestResultType [SWS_RamTst_00190] 📄 PDF
This is a status value returned by the API service Ram Tst_ Get Test Result().
type RamTst_AlgParamsIdType [SWS_RamTst_00191] 📄 PDF
Data type used to identify a set of configuration parameters for a test algorithm.
type RamTst_AlgorithmType [SWS_RamTst_00227] 📄 PDF
This is a value returned by the API service Ram Tst_ Get Test Algorithm().
type RamTst_ConfigType [SWS_RamTst_01011] 📄 PDF
Configuration data structure of the Ram Tst module.
requirement SWS_RamTst_00002 [SWS_RamTst_00002] 📄 PDF
During the execution of a RAM test algorithm, no other software shall be allowed to modify the RAM area under test.
requirement SWS_RamTst_00005 [SWS_RamTst_00005] 📄 PDF
The RAM Test module shall provide the background RAM test as an asynchronous service.
requirement SWS_RamTst_00006 [SWS_RamTst_00006] 📄 PDF
For the type RamTst_ExecutionStatusType , the enumeration value RAMTST_EXECUTION_UNINIT shall be the default value after a reset.
requirement SWS_RamTst_00007 [SWS_RamTst_00007] 📄 PDF
The function RamTst_Init shall initialize all RAM Test relevant registers and global variables and change the execution status to RAMTST_EXECUTI ON_STOPPED . The test is initialized to use the default test parameter set ( RamTstDefaultAlgParamsId ) as configured by its RamTstAlgParams container.
requirement SWS_RamTst_00008 [SWS_RamTst_00008] 📄 PDF
If the RAM Test execution status is RAMTST_EXECUTION_RUNNING, the function RamTst_MainFunction shall continue to test the RAM blocks defined in the selected RamTstAlgParams .
requirement SWS_RamTst_00009 [SWS_RamTst_00009] 📄 PDF
If the RAM Test execution status is RAMT ST_EXECUTION_RUNNING and i f no blocks have yet been tested (first call of the fun c tion), then the function RamTst_MainFunction shall start testing with the first configured RAM block in the selected RamTstAlgP a rams .
requirement SWS_RamTst_00011 [SWS_RamTst_00011] 📄 PDF
The function RamTst_MainFunction shall update the overall test result status according to SWS_RamTst_00202 . If at least one block test result is RAMTST_RESULT_NOT_OK , then the function shall report the production error RAMTST_MAIN _RAM_FAILURE to the DEM.
requirement SWS_RamTst_00012 [SWS_RamTst_00012] 📄 PDF
For the type RamTst_TestRe sultType ( of the overall test result), the enumeration value RAMTST_RESULT_NOT_TESTED shall be the default value after a reset.
requirement SWS_RamTst_00013 [SWS_RamTst_00013] 📄 PDF
For the type RamTst_AlgorithmType , the enumeration value RAMTST_ALGORITHM_UNDEFINED shall be the default value after reset.
requirement SWS_RamTst_00014 [SWS_RamTst_00014] 📄 PDF
When the RamTst_Stop function is called, RamTst_MainFunction shall still finish the current atomic sequence (if it is executing), and afterward the status shall be set to RAMTST_EX ECUTION_STOPPED . The test result is retained, but test parameters and loop data are not.
requirement SWS_RamTst_00018 [SWS_RamTst_00018] 📄 PDF
The function RamTst_Resume shall permit the RamTst_MainFunction to continue testing at the point where it was suspended, at its next scheduled call. Testing continues according to the saved test states. The function RamTst_Resume shall change the execution status to RAMTST_ EXECUTION _RUNNING if it has been RAMTST_ EXECUTION _ SUSPENDED .
requirement SWS_RamTst_00019 [SWS_RamTst_00019] 📄 PDF
The function RamTst_GetExecutionStatus shall re turn the current RAM Test execution status.
requirement SWS_RamTst_00021 [SWS_RamTst_00021] 📄 PDF
The function RamTst_GetTestAlgorithm shall return the current RAM Test algorithm.
requirement SWS_RamTst_00024 [SWS_RamTst_00024] 📄 PDF
The function RamTst_GetTestResult shall return the current RAM test result.
requirement SWS_RamTst_00026 [SWS_RamTst_00026] 📄 PDF
Within the configuration data for the RAM Test module, there shall be a set of configuration containers named RamTstAlgParams. Each one defines a possible test parameter set to be selected at runtime, which includes an algorithm. The algorithms included in RamTstAlgParams are restricted to those that were pre - compile selecte d to be available to the user via the container RamTstAlgorithms.
requirement SWS_RamTst_00027 [SWS_RamTst_00027] 📄 PDF
Within the configuration data for the RAM Test module, each parameter set of type RamTstAlgParams (as required in SWS_RamTst_00026 ) shall also have memory block configuration containers. The memory block configuration container is defined in RamTstBlockParams . The number of memory block configuration containers is defined by the integrator accordi ng to the RAM test strategy.
requirement SWS_RamTst_00033 [SWS_RamTst_00033] 📄 PDF
If the DET is enabled and the executio n status of the RAM Test is not RAMTST_EXECUTION_RUNNING or RAMTST_EXECUTION_SUSPENDED, the function RamTst_Stop shall report the error value RAMTST_E_STATUS_FAILURE to the DET, and then immediately return.
requirement SWS_RamTst_00034 [SWS_RamTst_00034] 📄 PDF
The function RamTst_GetNumberofTestedCells shall read the current number of tested cells per cycle.
requirement SWS_RamTst_00036 [SWS_RamTst_00036] 📄 PDF
The function RamTst_ChangeNumberOfTestedCells shall change the current number of tested cells (for background tests).
requirement SWS_RamTst_00037 [SWS_RamTst_00037] 📄 PDF
If DET is enabled and the execution status of the RAM Test module is not RAMTST_EXECUTION_SUSPENDED , the function RamTst_Resume shall report the error value RAMTST_E_STATUS_FAILURE to the DET, and then immediately return.
requirement SWS_RamTst_00038 [SWS_RamTst_00038] 📄 PDF
The function RamTst_GetTestResultPerBlock shall return the current RAM test result for the specified block.
requirement SWS_RamTst_00039 [SWS_RamTst_00039] 📄 PDF
If DET is enabled and the BlockID is out of range, the function RamTst_GetTestResultPerBlock shall report the error value RAMTST_E_OUT_OF_RANGE to the DET and return the test result value RAMTST_RESULT_UNDEFINED .
requirement SWS_RamTst_00040 [SWS_RamTst_00040] 📄 PDF
If DET is enabled and the parameter NewNumberOfTestedCells is out of range
requirement SWS_RamTst_00043 [SWS_RamTst_00043] 📄 PDF
The callback notifications shall have no parameters and no return value.
requirement SWS_RamTst_00044 [SWS_RamTst_00044] 📄 PDF
If a callback notification is configured as null pointer, the RAM Test module shall not execute the callbac k.
requirement SWS_RamTst_00045 [SWS_RamTst_00045] 📄 PDF
The RAM Test module shall call t he callback RamTst_TestCompletedNotification every time when it has tested all RAM blocks of the selected parameter set in a background test.
requirement SWS_RamTst_00046 [SWS_RamTst_00046] 📄 PDF
The RAM test module shall call the callback RamTst_Erro rNotification every time when the test algorithm of the selected parameter set has detected a RAM failure in a background test.
requirement SWS_RamTst_00047 [SWS_RamTst_00047] 📄 PDF
After the function Ram Tst_MainFunction has completed testing all RAM blocks configured in the selected RamTstAlgParams , the next call of the function RamTst_MainFunction shall restart the test from the beginning.
requirement SWS_RamTst_00058 [SWS_RamTst_00058] 📄 PDF
The typ e RamTst_AlgorithmType shall contain only the enumerations of the algorithms selected at pre - compile time.
requirement SWS_RamTst_00059 [SWS_RamTst_00059] 📄 PDF
The function RamTst_MainFunction shall test the defined number of RAM cells within one call. The defined number is specified by the function RamTst_ChangeNumberOfTestedCells or by initialization.
requirement SWS_RamTst_00060 [SWS_RamTst_00060] 📄 PDF
If non - destructive RAM Test is c hosen, the RAM Test module shall save the RAM area to be tested before the module modifies it. The RAM Test module shall execute the complete procedure (saving, changing, restoring) without interruption.
requirement SWS_RamTst_00061 [SWS_RamTst_00061] 📄 PDF
For both the destructive an d non - destructive options, the RAM Test module shall ensure that the test algorithm does not overwrite the RAM Test internal variables.
requirement SWS_RamTst_00062 [SWS_RamTst_00062] 📄 PDF
After writing to a cell and before reading back, the RAM Te st module shall provide the possibility to inject instruction(s) forcing the controller to clear its CPU internal cache.
requirement SWS_RamTst_00063 [SWS_RamTst_00063] 📄 PDF
The configuration process for t he RAM Test module shall allow the selection of a subset of different RAM Test algorithms during pre - compile time.
requirement SWS_RamTst_00067 [SWS_RamTst_00067] 📄 PDF
Type of error Related error code Error value A particular API is called in an unexpected state (see also: SWS_ RAMTST_00033, SWS_ RAMTST_00037, SWS_ RAMTST_00095, SWS_ RAMTST_00097, SWS_ Ram Tst_00170, SWS_ Ram Tst_00172, SWS_ Ram Tst_00210, SWS_ Ram Tst_00214) RAMTST_ E_ STATUS_ FAILURE 0x01 API pa rameter out of specified range (see also: SWS_ RAMTST_00039, SWS_ RAMTST_00040, SWS_ RAMTST_00084, SWS_ Ram Tst_00223) RAMTST_ E_ OUT_ OF_ RANGE 0x02 API service used without module initialization (see also: SWS_ RAMTST_00089) RAMTST_ E_ UNINIT 0x03 API service called with a NULL pointer (see also: SWS_ Ram Tst_00222) RAMTST_ E_ PARAM_ POINTER 0x04
requirement SWS_RamTst_00069 [SWS_RamTst_00069] 📄 PDF
Additional errors that are detected because of specific implementation and/or specific hardware properties sh all be added in the RAM Test device specific implementation specification. The classification and enumeration shall be compatible to the errors listed above in SWS_RamTst_00067 .
requirement SWS_RamTst_00071 [SWS_RamTst_00071] 📄 PDF
Production err ors shall be reported to Diagnostic Event Manager (DEM) via the Dem_SetEventStatus API.
requirement SWS_RamTst_00081 [SWS_RamTst_00081] 📄 PDF
The implementer shall provide measured or calculated runtime infor mation in the documentation of the module for each algorithm implementation. The i n formation is to be presented as s hown in the following table, specifying whether the parameters are measured or calculated.
requirement SWS_RamTst_00082 [SWS_RamTst_00082] 📄 PDF
The implementer shall provide integration hints for each algorithm, e.g. “do not use in pa r allel with a DMA”.
requirement SWS_RamTst_00083 [SWS_RamTst_00083] 📄 PDF
The function RamTst_SelectAlgPara ms shall select the test parameter set (i.e. one of the RamTstAlgParams in the container RamTstConfigParams ) to be used by the RAM Test module.
requirement SWS_RamTst_00084 [SWS_RamTst_00084] 📄 PDF
If DET is enabled and the parameter “ NewAlgParamsId ” is out of range, the function RamTst_SelectAlgParams shall report the error value RAMTST_E_OUT_ OF_RANGE to the DET, leaving the current RamTstAlgParams unchanged.
requirement SWS_RamTst_00085 [SWS_RamTst_00085] 📄 PDF
The function RamTst_SelectAlgParams shall re - initialize all RAM Test relevant registers and global variables with the values for the “ NewAlgParamsId ” .
requirement SWS_RamTst_00089 [SWS_RamTst_00089] 📄 PDF
The function RamTst_Init shall be called first before calling any other RAM test functions. If this sequence is not respected, the error code RAMTS T_E_UNINIT shall be reported to the Default Error Tracer (if development error detection is e n abled).
requirement SWS_RamTst_00093 [SWS_RamTst_00093] 📄 PDF
Init functions shall have a pointer to a configuration structure as single parameter . This means that, in accordance with SRS_BSW_00414 only one interface fo r initialization shall be implemented and it shall not depend on the modules configuration which interface the calling software module shall use.
requirement SWS_RamTst_00094 [SWS_RamTst_00094] 📄 PDF
The function RamTst_SelectAlgParams shall initialize the test result status (according to SWS_RamTst_00207 and SWS_RamTst_00202 ).
requirement SWS_RamTst_00095 [SWS_RamTst_00095] 📄 PDF
If the execution status of the RAM Test module is not in the status RAMTST_EXECUTION_STOPPED , the function RamTst_ChangeNumberOfTestedCells shall not change the curr ent number of tested cells and (if DET is enabled) shall report the error value RAMTST_E_STATUS_FAILURE to the DET.
requirement SWS_RamTst_00096 [SWS_RamTst_00096] 📄 PDF
If the DET is enabled and the execution status of t he RAM Test is not RAMTST_EXECUTION_UNINIT , the function RamTst_Init shall report the error value RAMTST_E_STATUS_FAILURE to the DET, and then immediately return.
requirement SWS_RamTst_00097 [SWS_RamTst_00097] 📄 PDF
If DET is enabled and the execution status of the RAM Test module is not RAMTST_EXECUTION_STOPPED , the function RamTst_SelectAlgParams shall report the error value RAMTST_E_STATUS_FAILURE to the DET, t hen immediately return from the function.
requirement SWS_RamTst_00098 [SWS_RamTst_00098] 📄 PDF
Module Header File Imported Type Dem Rte_ Dem_ Type.h Dem _ Event Id Type Rte_ Dem_ Type.h Dem _ Event Status Type Std Std_ Types.h Std _ Return Type Std_ Types.h Std _ Version Info Type
requirement SWS_RamTst_00111 [SWS_RamTst_00111] 📄 PDF
Dem _ Set - Event Status Dem.h Called by SW - Cs or BSW modules to report monitor status information to the Dem. BSW modules calling Dem_ Set Event Status can safely ignore the return value. This API will be available only if ({Dem/ Dem Config Set / Dem Event Parameter/ Dem Event Reporting Type} == STANDARD_ REPORTING)
requirement SWS_RamTst_00112 [SWS_RamTst_00112] 📄 PDF
Det _ Report Error Det.h Service to report development errors.
requirement SWS_RamTst_00147 [SWS_RamTst_00147] 📄 PDF
The function RamTst_DeInit shall deinitialize all RAM Test relevant registers and globa l variables that were initialized by RamTst_Init and change the execution status to RAMTST_EXECUTION_UNINIT .
requirement SWS_RamTst_00148 [SWS_RamTst_00148] 📄 PDF
After a RamTst_Stop call, RamTst_MainFunction shall not begin testing again when called by the scheduler until after a RamTst_Allow call.
requirement SWS_RamTst_00169 [SWS_RamTst_00169] 📄 PDF
The function RamTst_Allow shall permit the RamTst_MainFunction to perform testing at its next scheduled call, if it had been stopped. Therefore, it shall change the execution status to RAMTST_EXECUTION_RUNNING , if it has been RAMTST_ EXECUTION _STOPPED. The test shall be continued with the default test parameter set ( RamTstDefaultAlgParamsId ) as configured by its RamTstAlgParams container.
requirement SWS_RamTst_00170 [SWS_RamTst_00170] 📄 PDF
If DET is enabled and the execution status is not RAMTST_EXECUTION_ STOPPED , the function RamTst _Allow shall report the error value RAMTST_E_STATUS_FAILURE to the DET, and then immediately return.
requirement SWS_RamTst_00171 [SWS_RamTst_00171] 📄 PDF
The function RamTst_Suspend shall temporarily prohibit the RamTst_MainFunction from performing tests at its next schedul ed call. When RamTst_Suspend is called and the execution status is RAMTST_ EXECUTION _RUNNING , testing stops after the current atomic sequence, test result and current test states are retained and t he execution status is changed to RAMTST_ EXECUTION _SUSPEN DED.
requirement SWS_RamTst_00172 [SWS_RamTst_00172] 📄 PDF
If DET is enabled and the execution status is not RAMTST_EXECUTION_ RUNNING , the function RamTst_Suspend shall report the error value RAMTST_E_STATUS_FAILURE to the DET, and then immediately return.
requirement SWS_RamTst_00175 [SWS_RamTst_00175] 📄 PDF
If the RA M Test execution status is not RAMTST_EXECUTION_RUNNING when this API is called, the function RamTst_MainFunction shall return immediately without any actions.
requirement SWS_RamTst_00188 [SWS_RamTst_00188] 📄 PDF
For the type RamTst_AlgParamsIdType , the value 0 shall indicate, that no test parameters (and thus no test algorithm) is select ed. This shall be the default value of the corresponding variable after reset.
requirement SWS_RamTst_00194 [SWS_RamTst_00194] 📄 PDF
The function RamTst_GetAlgParams shall return the ID of the currently selected test algorithm parameter set (i.e. the ID of the currently sele cted RamTstAlgParams in the container RamTstConfigParams ).
requirement SWS_RamTst_00198 [SWS_RamTst_00198] 📄 PDF
If the RAM Test execution status is RAMTST_EXECUTION_STOPPED or RAMTST_EXECUTION_SUSPENDED , t he function RamTst_RunPartialTest shall test the specified RAM block .
requirement SWS_RamTst_00200 [SWS_RamTst_00200] 📄 PDF
If the configuration parameter RamTstTestPolicy for a block is set to RAMTEST_NON_DESTRUCTIVE , the test algorithm shal l restore the original memory content of the tested cells of this block after the test (given that no error is d e tected).
requirement SWS_RamTst_00201 [SWS_RamTst_00201] 📄 PDF
If the configuration parameter RamTstTestPolicy for a block is set to RAMTEST_DESTRUCTIVE , the test algorithm sh all fill the tested cells after the test with the bit pattern defined for this block by parameter RamTst_FillPattern (given that no error is d e tected).
requirement SWS_RamTst_00202 [SWS_RamTst_00202] 📄 PDF
The overal l test result – for the set of blocks in the current RamTstAlgParams – shall be RAMTST_RESULT_NOT_TESTED if no test was started yet (after reset or de - init). RAMTST_RESULT_UNDEFINED if a test was started, not all blocks have yet been tested and no block r esult is RAMTST_RESULT_NOT_OK. RAMTST_RESULT_OK if all blocks have been tested with result status RAMTST_RESULT_OK . RAMTST_RESULT_NOT_OK if at least one block test result is RAMTST_RESULT_NOT_OK regardless whether all blocks have been already tested or no t.
requirement SWS_RamTst_00203 [SWS_RamTst_00203] 📄 PDF
The implementer shall document possible restrictions for the combination of configuration parameters and for their usage in bac k ground/foreground tests. Where applicable, he shall support this by the definitio n of predefined or re c ommended configuration parameter values attached to the BSW Module Description.
requirement SWS_RamTst_00204 [SWS_RamTst_00204] 📄 PDF
U nless covered by some hardware mechanism the RAM Test module shall provide a test algorithm , the RAM Test module may provide additional vendor or hardware specific test algorithms or different variants of the algorithms listed above. These algorithms must be clearly documented by the impleme n ter, especially their fault coverage (for vendor specific configuration parameters see SWS_RamTst_00205 ).
requirement SWS_RamTst_00205 [SWS_RamTst_00205] 📄 PDF
If an implementation of the RAM Test modul e supports vendor specific test algorithms or other additional configuration parameters, the implementer shall provide a formal vendor - specific definition of these parameters including their doc u mentation (as part of the BSW Module Description).
requirement SWS_RamTst_00206 [SWS_RamTst_00206] 📄 PDF
The RAM Test module shall provide the foreground RAM test as an synchronous service.
requirement SWS_RamTst_00207 [SWS_RamTst_00207] 📄 PDF
The test result for a specific block (identified in the given RamTstA l gParams) – shall be RAMTST_RESULT_NOT_TESTED if this block is considered as not yet tested. RAMTST_RESULT_UNDEFINED if a test on this block is ru n ning. RAMTS T_RESULT_OK if all memory cells in this block have been tested sucessfully. RAMTST_RESULT_NOT_OK if a failure has been detected for at least one memory cell in this block.
requirement SWS_RamTst_00210 [SWS_RamTst_00210] 📄 PDF
If DET is enabled and the execution status of the RAM Test module is not RAMTST_EXECUTION_STOPPED , the function RamTst_RunFullTest shall report the error value RAMTST_E_STATUS_FAILURE to the DET, and then imm ediately return.
requirement SWS_RamTst_00211 [SWS_RamTst_00211] 📄 PDF
If the RAM Test execution status is RAMTST_EXECUTION_STOPPED , the function RamTst_RunFullTest shall set the execution status to RAMTST_EXECUTION_RUNNING during the test and set it back to RAMTST_EXECU TION_STOPPED before returning.
requirement SWS_RamTst_00212 [SWS_RamTst_00212] 📄 PDF
The function RamTst_RunFullTest shall update the test result status of single blocks according to SWS_RamTst_00207 .
requirement SWS_RamTst_00213 [SWS_RamTst_00213] 📄 PDF
The function RamTst _RunFullTest shall update the overall test result status according to SWS_RamTst_00202 . If at least one block test result is RAMTST_RESULT_NOT_OK , then the function shall report the production error RAMTST_RUNFL_RAM_FA ILURE to the DEM.
requirement SWS_RamTst_00214 [SWS_RamTst_00214] 📄 PDF
If DET is enabled and the RAM test execution status is ne i ther RAMTST_EXECUTION_STOPPED nor RAMTST_EXECUTION_SUSPENDED , the function RamTst_RunPartialTest shall report the error value RAMTST_E_STATUS_FAILURE to the DET, and then immediately return.
requirement SWS_RamTst_00215 [SWS_RamTst_00215] 📄 PDF
If the RAM Test execution status is RAMTST_EXECUTION_STOPPED or RAMTST_EXECUTION_SUSPENDED , the function RamTst_RunPartialTest shall set the execution status to RAMTST_EXECUTION_RUNNING during the test, and af ter the test shall set it back to the previous state (the state when the function was called) .
requirement SWS_RamTst_00216 [SWS_RamTst_00216] 📄 PDF
The function RamTst_RunPartialTest shall update the test result status of the tested block according to SWS_RamTst_00207 . If this block test result is RAMTST_RESULT_NOT_OK , then the function shall report the production error RAMTST_ PART _RAM_FAILURE to the DEM.
requirement SWS_RamTst_00217 [SWS_RamTst_00217] 📄 PDF
A successful partial foreground test shall set the bl ock specific result to RAMTST_RESULT_OK. It shall not modify the overall test result. A failing partial foreground test shall set both, the block specific as well as the overall test result to RAMTST_RESULT_NOT_OK.
requirement SWS_RamTst_00221 [SWS_RamTst_00221] 📄 PDF
and the implementation must follow the general r e quirements for interrupt handling (see SRS_BSW_00427, SRS_SPAL_12129, SRS_BSW_00325, SRS_BSW_00439, SRS_BSW_00314).
requirement SWS_RamTst_00222 [SWS_RamTst_00222] 📄 PDF
[SWS_RamTst_00222] ⌈If the function RamTst_GetVersionInfo is called with a NULL pointer as parameter, it shall return immediately without any further action, and If DET is enabled, this function shall report the error value RAMTST_E_PARAM_POINTER to the DET module.⌋ The RamTst_GetVersionInfo API can be enabled or disabled by the configuration parameter RamTstVersionInfoApi within the container RamTstCommon.
requirement SWS_RamTst_00223 [SWS_RamTst_00223] 📄 PDF
If DET is enabl ed and the BlockId is out of range, the function RamTst_RunPartialTest shall report the error value RAMTST_E_OUT_OF_RANGE to the DET and then immediately return.
requirement SWS_RamTst_00224 [SWS_RamTst_00224] 📄 PDF
Unless covered by some hardware mechanism the RAM Test module shall provide a test algorithm with low coverage as stated in [11] , Table D.1.
requirement SWS_RamTst_00225 [SWS_RamTst_00225] 📄 PDF
Unless covered by some hardware mechanism the RAM Test module shall provide a test algorithm with medium coverage a s stated in [11] , Table D.1.
requirement SWS_RamTst_00226 [SWS_RamTst_00226] 📄 PDF
Unless covered by some hardware mechanism the RAM Test module shall provide a test algorithm with high coverage as stated in [11] , Table D.1.
requirement SWS_RamTst_00999 [SWS_RamTst_00999] 📄 PDF
These requirements are not applicable to this specific a tion.
requirement SWS_RamTst_01002 [SWS_RamTst_01002] 📄 PDF
: RAM failure during test. Long Description: The function RamTst_MainFunction shall update the overall test result status and error is updated based on the current status of RamTstAlgParams. See: SWS_RAMTST_00011 Det ection Criteria: Fail If test result of at least one block is RAMTST_RESULT_NOT_OK. See SWS_RamTst_01003 Pass If test result of all the blocks is RAMTST_RESULT_OK. See SWS_RamTst_ 01004 Secondary Parameters: RamTst_MainFunction() tests memory blocks at its next scheduled call. In case of successful test result report Pass. In case of an error always report Fail. Time Required: If any block test results RAMTST_RESULT_NOT_OK, it sh all be immediately reported as error. Monitor Frequency continuous
requirement SWS_RamTst_01003 [SWS_RamTst_01003] 📄 PDF
RAM test for RamTst_MainFunction function shall Fail if test result of at least one block is RAMTST_RESULT_NOT_OK.
requirement SWS_RamTst_01004 [SWS_RamTst_01004] 📄 PDF
RAM test for RamTst_MainFunction function shall Pass if test r esult of all the blocks is RAMTST_RESULT_OK.
requirement SWS_RamTst_01005 [SWS_RamTst_01005] 📄 PDF
The RAM Test shall detect extended production error for RamTst_ RunFullTest function as described below: Error Name: RAMTST_RUNFL_RAM_FAILURE Short Description: RAM failure during test. Long Description: The function RamTst_RunFullTest shall update the overall test result status and error is updated based on the current status of RamTstAlgParams. See: SWS_RAMTST_00213 Detection Criteria: Fail If tes t result of at least one block is RAMTST_RESULT_NOT_OK. See SWS_RamTst_01006 Pass If test result of all the blocks is RAMTST_RESULT_OK. See SWS_RamTst_01007 Secondary Parameters : RamTst_RunFullTest() tests entire RAM space without any interruption. In case of successful test result report Pass. In case of an error always report Fail. Time Required: If any block test results RAMTST_RESULT_NOT_OK, it shall be immediately reported as error. Monitor Frequency once - per - trip
requirement SWS_RamTst_01006 [SWS_RamTst_01006] 📄 PDF
RAM Test for RamTst_ RunFullTest function shall Fail if test result of at least one block is RAMTST_RESULT_NOT_OK.
requirement SWS_RamTst_01007 [SWS_RamTst_01007] 📄 PDF
RAM Test for RamTst_ RunFullTest function shall Pass If test re sult of all the blocks is RAMTST_RESULT_OK.
requirement SWS_RamTst_01008 [SWS_RamTst_01008] 📄 PDF
The RAM Test shall detect extended production error for RamTst_ RunPartialTest function as described below: Error Name: RAMTST_PART_RAM_FAILURE Short Description: RAM failure during test. Long Description: The function RamTst_RunPartialTest shall update the test result status of the tested block and error is updated based on the current status of RamTstAlgParams. See: SWS_RAMTST_00216 Detection Crite ria: Fail If test result of at least one block is RAMTST_RESULT_NOT_OK. See SWS_RamTst_01009 Pass If test result of all the blocks is RAMTST_RESULT_OK. See SWS_RamTst_01010 Seco ndary Parameters: RamTst_RunPartialTest() tests portion of the RAM. In case of successful test result report Pass. In case of an error always report Fail. Time Required: If any block test results RAMTST_RESULT_NOT_OK, it shall be immediately reported as e rror. Monitor Frequency once - per - trip
requirement SWS_RamTst_01009 [SWS_RamTst_01009] 📄 PDF
RAM Test for RamTst_ RunPartialTest function function shall Fail if test result of at least one block is RAMTST_RESULT_NOT_OK.
requirement SWS_RamTst_01010 [SWS_RamTst_01010] 📄 PDF
RAM Test for RamTst_ RunPartialTest function functi on shall Pass If test result of all the blocks is RAMTST_RESULT_OK.
requirement SWS_RamTst_01012 [SWS_RamTst_01012] 📄 PDF
The Configuration pointer ConfigPtr shall always have a NULL_PTR value .
requirement SWS_RamTst_01013 [SWS_RamTst_01013] 📄 PDF
The RAM Test module shall reject configurations with partition mappings which are not supported by the implementation.
requirement SWS_RamTst_CONSTR_01016 [SWS_RamTst_CONSTR_01016] 📄 PDF
The ECUC partitions referenced by RamTstBlockParamsEcucPartitionRef shall be a subset of the ECUC partitions referenced by RamTstEcucPartitionRef.
requirement SWS_RamTst_CONSTR_01017 [SWS_RamTst_CONSTR_01017] 📄 PDF
If RamTstEcucPartitionRef references one or more ECUC partitions, RamTstBlockParamsEcucPartitionRef shall have a multiplicity of one and reference one of these ECUC partitions as well.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_RamTst- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_RamTst@rel:R20-11#1e4d2e42- Content hash
1e4d2e42- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_RAMTest.pdf#nameddest=SWS_RamTst_00099