nmsis_core.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*
  2. * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
  3. * -- Adaptable modifications made for Nuclei Processors. --
  4. * Copyright (c) 2019 Nuclei Limited. All rights reserved.
  5. *
  6. * SPDX-License-Identifier: Apache-2.0
  7. *
  8. * Licensed under the Apache License, Version 2.0 (the License); you may
  9. * not use this file except in compliance with the License.
  10. * You may obtain a copy of the License at
  11. *
  12. * www.apache.org/licenses/LICENSE-2.0
  13. *
  14. * Unless required by applicable law or agreed to in writing, software
  15. * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  16. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  17. * See the License for the specific language governing permissions and
  18. * limitations under the License.
  19. */
  20. #include <stdint.h>
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. // NOTE: Modified for N100
  25. #include "nmsis_version.h"
  26. /**
  27. * \ingroup NMSIS_Core_VersionControl
  28. * @{
  29. */
  30. /* The following macro __NUCLEI_N_REV/__NUCLEI_NX_REV/
  31. * __NUCLEI_CPU_REV/__NUCLEI_CPU_SERIES definition in this file
  32. * is only used for doxygen documentation generation,
  33. * The <Device>.h is the real file to define it by vendor
  34. */
  35. #if defined(__ONLY_FOR_DOXYGEN_DOCUMENT_GENERATION__)
  36. /**
  37. * \brief Nuclei N class core revision number
  38. * \details
  39. * Reversion number format: [15:8] revision number, [7:0] patch number
  40. * \attention
  41. * Deprecated, this define is exclusive with \ref __NUCLEI_NX_REV
  42. */
  43. #define __NUCLEI_N_REV (0x0309)
  44. /**
  45. * \brief Nuclei NX class core revision number
  46. * \details
  47. * Reversion number format: [15:8] revision number, [7:0] patch number
  48. * \attention
  49. * Deprecated, this define is exclusive with \ref __NUCLEI_N_REV
  50. */
  51. #define __NUCLEI_NX_REV (0x0207)
  52. /**
  53. * \brief Nuclei CPU core revision number
  54. * \details
  55. * Nuclei RISC-V CPU Revision Number vX.Y.Z, eg. v3.10.1
  56. * \attention
  57. * This define is exclusive with \ref __NUCLEI_CPU_SERIES
  58. */
  59. #define __NUCLEI_CPU_REV (0x010201)
  60. /**
  61. * \brief Nuclei CPU core series
  62. * \details
  63. * Nuclei RISC-V CPU Series Number, eg, 0x200, 0x300, 0x600, 0x900
  64. * for 200, 300, 600, 900 series.
  65. * \attention
  66. * This define is used together with \ref __NUCLEI_CPU_REV
  67. */
  68. #define __NUCLEI_CPU_SERIES (0x0100)
  69. #endif /* __ONLY_FOR_DOXYGEN_DOCUMENT_GENERATION__ */
  70. /** @} */ /* End of Group NMSIS_Core_VersionControl */
  71. #include "nmsis_compiler.h" /* NMSIS compiler specific defines */
  72. /* === Include Nuclei Core Related Headers === */
  73. /* Include core base feature header file */
  74. #include "core_feature_base.h"
  75. /* Include compatiable functions header file */
  76. #include "core_compatiable.h"
  77. #ifndef __NMSIS_GENERIC
  78. /* Include core irqc feature header file */
  79. #include "core_feature_irqc.h"
  80. /* Include core systimer feature header file */
  81. #include "core_feature_timer.h"
  82. #endif
  83. #ifdef __cplusplus
  84. }
  85. #endif