1 /*----------------------------------------------------------------------------- 2 * Name: cmsis_cv.h 3 * Purpose: cmsis_cv header 4 *---------------------------------------------------------------------------- 5 * Copyright (c) 2017 - 2021 Arm Limited. All rights reserved. 6 *----------------------------------------------------------------------------*/ 7 #ifndef __CMSIS_CV_H 8 #define __CMSIS_CV_H 9 10 #include <stdint.h> 11 #include "CV_Config.h" 12 13 /* Expansion macro used to create CMSIS Driver references */ 14 #define EXPAND_SYMBOL(name, port) name##port 15 #define CREATE_SYMBOL(name, port) EXPAND_SYMBOL(name, port) 16 17 // Simulator counter 18 #ifndef HW_PRESENT 19 extern uint32_t SIM_CYCCNT; 20 #endif 21 22 // SVC interrupt callback 23 extern void (*TST_IRQHandler)(void); 24 25 // Test main function 26 extern void cmsis_cv (void); 27 extern void cmsis_cv_abort (const char *fn, uint32_t ln, char *desc); 28 29 // Test cases 30 extern void TC_CoreInstr_NOP (void); 31 extern void TC_CoreInstr_SEV (void); 32 extern void TC_CoreInstr_BKPT (void); 33 extern void TC_CoreInstr_ISB (void); 34 extern void TC_CoreInstr_DSB (void); 35 extern void TC_CoreInstr_DMB (void); 36 extern void TC_CoreInstr_WFI (void); 37 extern void TC_CoreInstr_WFE (void); 38 extern void TC_CoreInstr_REV (void); 39 extern void TC_CoreInstr_REV16 (void); 40 extern void TC_CoreInstr_REVSH (void); 41 extern void TC_CoreInstr_ROR (void); 42 extern void TC_CoreInstr_RBIT (void); 43 extern void TC_CoreInstr_CLZ (void); 44 extern void TC_CoreInstr_SSAT (void); 45 extern void TC_CoreInstr_USAT (void); 46 extern void TC_CoreInstr_RRX (void); 47 extern void TC_CoreInstr_LoadStoreExclusive (void); 48 extern void TC_CoreInstr_LoadStoreUnpriv (void); 49 extern void TC_CoreInstr_LoadStoreAcquire (void); 50 extern void TC_CoreInstr_LoadStoreAcquireExclusive (void); 51 extern void TC_CoreInstr_UnalignedUint16 (void); 52 extern void TC_CoreInstr_UnalignedUint32 (void); 53 54 extern void TC_CoreSimd_SatAddSub (void); 55 extern void TC_CoreSimd_ParSat16 (void); 56 extern void TC_CoreSimd_PackUnpack (void); 57 extern void TC_CoreSimd_ParSel (void); 58 extern void TC_CoreSimd_ParAddSub8 (void); 59 extern void TC_CoreSimd_AbsDif8 (void); 60 extern void TC_CoreSimd_ParAddSub16 (void); 61 extern void TC_CoreSimd_ParMul16 (void); 62 extern void TC_CoreSimd_Pack16 (void); 63 extern void TC_CoreSimd_MulAcc32 (void); 64 65 #if defined(__CORTEX_M) 66 extern void TC_CoreFunc_EnDisIRQ (void); 67 extern void TC_CoreFunc_IRQPrio (void); 68 extern void TC_CoreFunc_EncDecIRQPrio (void); 69 extern void TC_CoreFunc_IRQVect (void); 70 extern void TC_CoreFunc_Control (void); 71 extern void TC_CoreFunc_IPSR (void); 72 extern void TC_CoreFunc_APSR (void); 73 extern void TC_CoreFunc_PSP (void); 74 extern void TC_CoreFunc_MSP (void); 75 extern void TC_CoreFunc_PSPLIM (void); 76 extern void TC_CoreFunc_PSPLIM_NS (void); 77 extern void TC_CoreFunc_MSPLIM (void); 78 extern void TC_CoreFunc_MSPLIM_NS (void); 79 extern void TC_CoreFunc_PRIMASK (void); 80 extern void TC_CoreFunc_FAULTMASK (void); 81 extern void TC_CoreFunc_BASEPRI (void); 82 extern void TC_CoreFunc_FPUType (void); 83 extern void TC_CoreFunc_FPSCR (void); 84 #elif defined(__CORTEX_A) 85 extern void TC_CoreAFunc_IRQ (void); 86 extern void TC_CoreAFunc_FaultIRQ (void); 87 extern void TC_CoreAFunc_FPSCR (void); 88 extern void TC_CoreAFunc_CPSR (void); 89 extern void TC_CoreAFunc_Mode (void); 90 extern void TC_CoreAFunc_FPEXC (void); 91 extern void TC_CoreAFunc_ACTLR (void); 92 extern void TC_CoreAFunc_CPACR (void); 93 extern void TC_CoreAFunc_DFSR (void); 94 extern void TC_CoreAFunc_IFSR (void); 95 extern void TC_CoreAFunc_ISR (void); 96 extern void TC_CoreAFunc_CBAR (void); 97 extern void TC_CoreAFunc_TTBR0 (void); 98 extern void TC_CoreAFunc_DACR (void); 99 extern void TC_CoreAFunc_SCTLR (void); 100 extern void TC_CoreAFunc_MPIDR (void); 101 extern void TC_CoreAFunc_VBAR (void); 102 extern void TC_CoreAFunc_MVBAR (void); 103 extern void TC_CoreAFunc_FPU_Enable (void); 104 #endif 105 106 #if defined(__CORTEX_M) 107 extern void TC_MPU_SetClear (void); 108 extern void TC_MPU_Load (void); 109 #endif 110 111 #if defined(__CORTEX_A) 112 extern void TC_GenTimer_CNTFRQ (void); 113 extern void TC_GenTimer_CNTP_TVAL (void); 114 extern void TC_GenTimer_CNTP_CTL (void); 115 extern void TC_GenTimer_CNTPCT(void); 116 extern void TC_GenTimer_CNTP_CVAL(void); 117 #endif 118 119 #if defined(__CORTEX_M) 120 extern void TC_CML1Cache_EnDisableICache(void); 121 extern void TC_CML1Cache_EnDisableDCache(void); 122 extern void TC_CML1Cache_CleanDCacheByAddrWhileDisabled(void); 123 #elif defined(__CORTEX_A) 124 extern void TC_CAL1Cache_EnDisable(void); 125 extern void TC_CAL1Cache_EnDisableBTAC(void); 126 extern void TC_CAL1Cache_log2_up(void); 127 extern void TC_CAL1Cache_InvalidateDCacheAll(void); 128 extern void TC_CAL1Cache_CleanDCacheAll(void); 129 extern void TC_CAL1Cache_CleanInvalidateDCacheAll(void); 130 #endif 131 132 #endif /* __CMSIS_CV_H */ 133