cmsis_cv.h 4.7 KB

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