cmsis_cv.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /*-----------------------------------------------------------------------------
  2. * Name: cmsis_cv.h
  3. * Purpose: cmsis_cv header
  4. *----------------------------------------------------------------------------
  5. * Copyright (c) 2017 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. // Test cases
  23. #if defined(RTE_CV_COREINSTR) && RTE_CV_COREINSTR
  24. extern void TC_CoreInstr_NOP (void);
  25. extern void TC_CoreInstr_REV (void);
  26. extern void TC_CoreInstr_REV16 (void);
  27. extern void TC_CoreInstr_REVSH (void);
  28. extern void TC_CoreInstr_ROR (void);
  29. extern void TC_CoreInstr_RBIT (void);
  30. extern void TC_CoreInstr_CLZ (void);
  31. extern void TC_CoreInstr_Exclusives (void);
  32. extern void TC_CoreInstr_SSAT (void);
  33. extern void TC_CoreInstr_USAT (void);
  34. #endif
  35. #if defined(RTE_CV_COREFUNC) && RTE_CV_COREFUNC
  36. #if defined(__CORTEX_M)
  37. extern void TC_CoreFunc_EnDisIRQ (void);
  38. extern void TC_CoreFunc_IRQPrio (void);
  39. extern void TC_CoreFunc_EncDecIRQPrio (void);
  40. extern void TC_CoreFunc_IRQVect (void);
  41. extern void TC_CoreFunc_Control (void);
  42. extern void TC_CoreFunc_IPSR (void);
  43. extern void TC_CoreFunc_APSR (void);
  44. extern void TC_CoreFunc_PSP (void);
  45. extern void TC_CoreFunc_MSP (void);
  46. #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  47. (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
  48. extern void TC_CoreFunc_PSPLIM (void);
  49. extern void TC_CoreFunc_PSPLIM_NS (void);
  50. extern void TC_CoreFunc_MSPLIM (void);
  51. extern void TC_CoreFunc_MSPLIM_NS (void);
  52. #endif
  53. extern void TC_CoreFunc_PRIMASK (void);
  54. #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  55. (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  56. (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  57. extern void TC_CoreFunc_FAULTMASK (void);
  58. extern void TC_CoreFunc_BASEPRI (void);
  59. #endif
  60. extern void TC_CoreFunc_FPUType (void);
  61. extern void TC_CoreFunc_FPSCR (void);
  62. #elif defined(__CORTEX_A)
  63. extern void TC_CoreAFunc_IRQ (void);
  64. extern void TC_CoreAFunc_FPSCR (void);
  65. extern void TC_CoreAFunc_CPSR (void);
  66. extern void TC_CoreAFunc_Mode (void);
  67. extern void TC_CoreAFunc_SP (void);
  68. extern void TC_CoreAFunc_SP_usr (void);
  69. extern void TC_CoreAFunc_FPEXC (void);
  70. extern void TC_CoreAFunc_ACTLR (void);
  71. extern void TC_CoreAFunc_CPACR (void);
  72. extern void TC_CoreAFunc_DFSR (void);
  73. extern void TC_CoreAFunc_IFSR (void);
  74. extern void TC_CoreAFunc_ISR (void);
  75. extern void TC_CoreAFunc_CBAR (void);
  76. extern void TC_CoreAFunc_TTBR0 (void);
  77. extern void TC_CoreAFunc_DACR (void);
  78. extern void TC_CoreAFunc_SCTLR (void);
  79. extern void TC_CoreAFunc_ACTRL (void);
  80. extern void TC_CoreAFunc_MPIDR (void);
  81. extern void TC_CoreAFunc_VBAR (void);
  82. extern void TC_CoreAFunc_MVBAR (void);
  83. #endif
  84. #endif
  85. #if defined(RTE_CV_MPUFUNC) && RTE_CV_MPUFUNC
  86. #if defined(__MPU_PRESENT) && __MPU_PRESENT
  87. extern void TC_MPU_SetClear (void);
  88. extern void TC_MPU_Load (void);
  89. #endif
  90. #endif
  91. #if defined(RTE_CV_GENTIMER) && RTE_CV_GENTIMER
  92. extern void TC_GenTimer_CNTFRQ (void);
  93. extern void TC_GenTimer_CNTP_TVAL (void);
  94. extern void TC_GenTimer_CNTP_CTL (void);
  95. extern void TC_GenTimer_CNTPCT(void);
  96. extern void TC_GenTimer_CNTP_CVAL(void);
  97. #endif
  98. #if defined(RTE_CV_L1CACHE) && RTE_CV_L1CACHE
  99. extern void TC_L1Cache_EnDisable(void);
  100. extern void TC_L1Cache_EnDisableBTAC(void);
  101. extern void TC_L1Cache_log2_up(void);
  102. extern void TC_L1Cache_InvalidateDCacheAll(void);
  103. extern void TC_L1Cache_CleanDCacheAll(void);
  104. extern void TC_L1Cache_CleanInvalidateDCacheAll(void);
  105. #endif
  106. #endif /* __CMSIS_CV_H */