cmsis_cv.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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. #ifdef 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_SSAT (void);
  32. extern void TC_CoreInstr_USAT (void);
  33. #endif
  34. #ifdef RTE_CV_COREFUNC
  35. #if defined(__CORTEX_M)
  36. extern void TC_CoreFunc_EnDisIRQ (void);
  37. extern void TC_CoreFunc_Control (void);
  38. extern void TC_CoreFunc_IPSR (void);
  39. extern void TC_CoreFunc_APSR (void);
  40. extern void TC_CoreFunc_PSP (void);
  41. extern void TC_CoreFunc_MSP (void);
  42. #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
  43. (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
  44. extern void TC_CoreFunc_PSPLIM (void);
  45. extern void TC_CoreFunc_PSPLIM_NS (void);
  46. extern void TC_CoreFunc_MSPLIM (void);
  47. extern void TC_CoreFunc_MSPLIM_NS (void);
  48. #endif
  49. extern void TC_CoreFunc_PRIMASK (void);
  50. #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
  51. (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  52. (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  53. extern void TC_CoreFunc_FAULTMASK (void);
  54. extern void TC_CoreFunc_BASEPRI (void);
  55. #endif
  56. #if ((defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
  57. (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
  58. extern void TC_CoreFunc_FPSCR (void);
  59. #endif
  60. #elif defined(__CORTEX_A)
  61. extern void TC_CoreAFunc_IRQ (void);
  62. extern void TC_CoreAFunc_FPSCR (void);
  63. extern void TC_CoreAFunc_CPSR (void);
  64. extern void TC_CoreAFunc_Mode (void);
  65. extern void TC_CoreAFunc_SP (void);
  66. extern void TC_CoreAFunc_SP_usr (void);
  67. extern void TC_CoreAFunc_FPEXC (void);
  68. extern void TC_CoreAFunc_ACTLR (void);
  69. extern void TC_CoreAFunc_CPACR (void);
  70. extern void TC_CoreAFunc_DFSR (void);
  71. extern void TC_CoreAFunc_IFSR (void);
  72. extern void TC_CoreAFunc_ISR (void);
  73. extern void TC_CoreAFunc_CBAR (void);
  74. extern void TC_CoreAFunc_TTBR0 (void);
  75. extern void TC_CoreAFunc_DACR (void);
  76. extern void TC_CoreAFunc_SCTLR (void);
  77. extern void TC_CoreAFunc_ACTRL (void);
  78. extern void TC_CoreAFunc_MPIDR (void);
  79. extern void TC_CoreAFunc_VBAR (void);
  80. extern void TC_CoreAFunc_MVBAR (void);
  81. #endif
  82. #endif
  83. #ifdef RTE_CV_MPUFUNC
  84. #if defined(__MPU_PRESENT) && __MPU_PRESENT
  85. extern void TC_MPU_SetClear (void);
  86. extern void TC_MPU_Load (void);
  87. #endif
  88. #endif
  89. #ifdef RTE_CV_GENTIMER
  90. extern void TC_GenTimer_CNTFRQ (void);
  91. extern void TC_GenTimer_CNTP_TVAL (void);
  92. extern void TC_GenTimer_CNTP_CTL (void);
  93. extern void TC_GenTimer_CNTPCT(void);
  94. extern void TC_GenTimer_CNTP_CVAL(void);
  95. #endif
  96. #ifdef RTE_CV_L1CACHE
  97. extern void TC_L1Cache_EnDisable(void);
  98. extern void TC_L1Cache_EnDisableBTAC(void);
  99. extern void TC_L1Cache_log2_up(void);
  100. extern void TC_L1Cache_InvalidateDCacheAll(void);
  101. extern void TC_L1Cache_CleanDCacheAll(void);
  102. extern void TC_L1Cache_CleanInvalidateDCacheAll(void);
  103. #endif
  104. #endif /* __CMSIS_CV_H */