162 lines
4.0 KiB
C
162 lines
4.0 KiB
C
/**
|
|
* @file module_driver_scst.h
|
|
* @author Flagchip
|
|
* @brief scst driver type definition and API
|
|
* @version 2.0.0
|
|
* @date 2024-08-20
|
|
*
|
|
* SDK Version: 2.6.0
|
|
*
|
|
|
|
* @copyright Copyright (c) 2020-2024 Flagchip Semiconductors Co., Ltd.
|
|
*
|
|
*/
|
|
/* ********************************************************************************
|
|
* Revision History:
|
|
*
|
|
* Version Date Initials CR# Descriptions
|
|
* --------- ---------- ------------ ---------- ---------------
|
|
* 0.1.0 2023-12-15 Flagchip074 N/A First version for FC7300
|
|
* 2.0.0 2024-10-12 Flagchip074 N/A Change version and release
|
|
******************************************************************************** */
|
|
|
|
#ifndef _DRIVER_MODULE_DRIVER_SCST_H_
|
|
#define _DRIVER_MODULE_DRIVER_SCST_H_
|
|
|
|
#include "device_header.h"
|
|
|
|
#if SCST_INSTANCE_COUNT > 0U
|
|
|
|
/**
|
|
* @addtogroup module_driver_scst
|
|
* @{
|
|
*/
|
|
|
|
/**
|
|
* @brief typed of test result returned
|
|
*
|
|
*/
|
|
typedef enum
|
|
{
|
|
M7ST_FaultInjectError,
|
|
M7ST_ErrorAluTest,
|
|
M7ST_ErrorAluMLATest,
|
|
M7ST_ErrorAluSHIFTTest,
|
|
M7ST_ErrorAluTes1t,
|
|
M7ST_ErrorAluTest2,
|
|
M7ST_ErrorAluTest3,
|
|
M7ST_ErrorAluTest4,
|
|
M7ST_ErrorAluTest5,
|
|
M7ST_ErrorAluTest6,
|
|
M7ST_ErrorRegbankTest1,
|
|
M7ST_ErrorRegbankTest2,
|
|
M7ST_ErrorRegbankTest3,
|
|
M7ST_ErrorRegbankTest4,
|
|
M7ST_ErrorRegbankTest5,
|
|
M7ST_ErrorRegbankTest6,
|
|
M7ST_ErrorLoadStoreTest1,
|
|
M7ST_ErrorLoadStoreTest2,
|
|
M7ST_ErrorLoadStoreTest3,
|
|
M7ST_ErrorLoadStoreTest4,
|
|
M7ST_ErrorLoadStoreTest5,
|
|
M7ST_ErrorLoadStoreTest6,
|
|
M7ST_ErrorSimdSatTest1,
|
|
M7ST_ErrorSimdSatTest2,
|
|
M7ST_ErrorSimdSatTest3,
|
|
M7ST_ErrorSimdSatTest4,
|
|
M7ST_ErrorMacTest1,
|
|
M7ST_ErrorMacTest2,
|
|
M7ST_ErrorFetchTest,
|
|
M7ST_ErrorStatusTest1,
|
|
M7ST_ErrorStatusTest2,
|
|
M7ST_ErrorBranchTest1,
|
|
M7ST_ErrorBranchTest2,
|
|
M7ST_ErrorIntSvcTest,
|
|
M7ST_ErrorIntBusFaultTest,
|
|
M7ST_ErrorIntHardFaultTest1,
|
|
M7ST_ErrorIntHardFaultTest2,
|
|
M7ST_ErrorIntUsageFaultTest,
|
|
M7ST_ErrorIntSystickTest,
|
|
M7ST_ErrorIntPendSvTest,
|
|
M7ST_ErrorIntMemFaultTest,
|
|
M7ST_ErrorIntMaskingTest,
|
|
M7ST_ErrorIntHandlerThreadsTest,
|
|
M7ST_ErrorIntNMIHfTest,
|
|
M7ST_ErrorIntTailChainTest,
|
|
M7ST_ErrorIntAluTest,
|
|
M7ST_ErrorIntBranchTest,
|
|
M7ST_ErrorIntStatusTest,
|
|
M7ST_ErrorM7ST_TestPass
|
|
} Type_M7ST_AtomicStatus;
|
|
|
|
/**
|
|
* @brief typed of test index
|
|
*
|
|
*/
|
|
typedef enum
|
|
{
|
|
M7ST_AluTest,
|
|
M7ST_AluMLATest,
|
|
M7ST_AluSHIFTTest,
|
|
M7ST_AluTes1t,
|
|
M7ST_AluTest2,
|
|
M7ST_AluTest3,
|
|
M7ST_AluTest4,
|
|
M7ST_AluTest5,
|
|
M7ST_AluTest6,
|
|
M7ST_RegbankTest1,
|
|
M7ST_RegbankTest2,
|
|
M7ST_RegbankTest3,
|
|
M7ST_RegbankTest4,
|
|
M7ST_RegbankTest5,
|
|
M7ST_RegbankTest6,
|
|
M7ST_LoadStoreTest1,
|
|
M7ST_LoadStoreTest2,
|
|
M7ST_LoadStoreTest3,
|
|
M7ST_LoadStoreTest4,
|
|
M7ST_LoadStoreTest5,
|
|
M7ST_LoadStoreTest6,
|
|
M7ST_SimdSatTest1,
|
|
M7ST_SimdSatTest2,
|
|
M7ST_SimdSatTest3,
|
|
M7ST_SimdSatTest4,
|
|
M7ST_MacTest1,
|
|
M7ST_MacTest2,
|
|
M7ST_FetchTest,
|
|
M7ST_StatusTest1,
|
|
M7ST_StatusTest2,
|
|
M7ST_BranchTest1,
|
|
M7ST_BranchTest2,
|
|
M7ST_IntSvcTest,
|
|
M7ST_IntBusFaultTest,
|
|
M7ST_IntHardFaultTest1,
|
|
M7ST_IntHardFaultTest2,
|
|
M7ST_IntUsageFaultTest,
|
|
M7ST_IntSystickTest,
|
|
M7ST_IntPendSvTest,
|
|
M7ST_IntMemFaultTest,
|
|
M7ST_IntMaskingTest,
|
|
M7ST_IntHandlerThreadsTest,
|
|
M7ST_IntNMIHfTest,
|
|
M7ST_IntTailChainTest,
|
|
M7ST_IntAluTest,
|
|
M7ST_IntBranchTest,
|
|
M7ST_IntStatusTest,
|
|
M7ST_RegressionTest
|
|
} SCST_TestIndexType;
|
|
|
|
/**
|
|
* @brief This function is used to get the result of the executed test
|
|
*
|
|
* @param test_index is test number,0U..47U
|
|
* @param s_u32RamBase The first address of the 1k memory that the program needs to run
|
|
* @return M7ST_ErrorM7ST_TestPass is ok, others are not ok
|
|
*/
|
|
Type_M7ST_AtomicStatus SCST_ExecuteTest(SCST_TestIndexType test_index,uint32_t *s_u32RamBase);
|
|
|
|
/** @}*/ /* module_driver_scst */
|
|
|
|
#endif /* #if SCST_INSTANCE_COUNT > 0U */
|
|
|
|
#endif
|