MemIf_Types.h 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. /**
  2. * @file MemIf_Types.h
  3. * @version 1.0.0
  4. *
  5. * @brief AUTOSAR MemIf - module interface.
  6. * @details Stub for MemIf module - contains some typedefs needed by other components.
  7. * This file contains sample code only. It is not part of the production code deliverables.
  8. *
  9. * @addtogroup MEMIF_TYPES
  10. * @{
  11. */
  12. /*==================================================================================================
  13. * Project : RTD AUTOSAR 4.4
  14. * Platform : CORTEXM
  15. * Peripheral : S32K14X
  16. * Dependencies : none
  17. *
  18. * Autosar Version : 4.4.0
  19. * Autosar Revision : ASR_REL_4_4_REV_0000
  20. * Autosar Conf.Variant :
  21. * SW Version : 1.0.0
  22. * Build Version : S32K1_RTD_1_0_0_HF01_D2109_ASR_REL_4_4_REV_0000_20210907
  23. *
  24. * (c) Copyright 2020-2021 NXP Semiconductors
  25. * All Rights Reserved.
  26. *
  27. * NXP Confidential. This software is owned or controlled by NXP and may only be
  28. * used strictly in accordance with the applicable license terms. By expressly
  29. * accepting such terms or by downloading, installing, activating and/or otherwise
  30. * using the software, you are agreeing that you have read, and that you agree to
  31. * comply with and are bound by, such license terms. If you do not agree to be
  32. * bound by the applicable license terms, then you may not retain, install,
  33. * activate or otherwise use the software.
  34. ==================================================================================================*/
  35. /*==================================================================================================
  36. ==================================================================================================*/
  37. #ifndef MEMIF_TYPES_H
  38. #define MEMIF_TYPES_H
  39. #ifdef __cplusplus
  40. extern "C"{
  41. #endif
  42. /*==================================================================================================
  43. INCLUDE FILES
  44. 1) system and project includes
  45. 2) needed interfaces from external units
  46. 3) internal and external interfaces from this unit
  47. ==================================================================================================*/
  48. /*==================================================================================================
  49. * SOURCE FILE VERSION INFORMATION
  50. ==================================================================================================*/
  51. /**
  52. * @file MemIf_Types.h
  53. * @requirements BSW00374, BSW00379, BSW00318
  54. * @implements DESIGN001, DESIGN002
  55. */
  56. #define MEMIF_VENDOR_ID 43
  57. #define MEMIF_MODULE_ID 22
  58. #define MEMIF_AR_RELEASE_MAJOR_VERSION 4
  59. #define MEMIF_AR_RELEASE_MINOR_VERSION 4
  60. #define MEMIF_AR_RELEASE_REVISION_VERSION 0
  61. #define MEMIF_SW_MAJOR_VERSION 1
  62. #define MEMIF_SW_MINOR_VERSION 0
  63. #define MEMIF_SW_PATCH_VERSION 0
  64. /*==================================================================================================
  65. FILE VERSION CHECKS
  66. ==================================================================================================*/
  67. /*==================================================================================================
  68. CONSTANTS
  69. ==================================================================================================*/
  70. /*==================================================================================================
  71. DEFINES AND MACROS
  72. ==================================================================================================*/
  73. /*==================================================================================================
  74. ENUMS
  75. ==================================================================================================*/
  76. /**
  77. * @brief This type denotes the current status of the underlying abstraction module and device driver.
  78. * @details It shall be used as the return value of the corresponding driver's "GetStatus" function.
  79. *
  80. * @pre
  81. * @post
  82. *
  83. * @requirements MemIf015
  84. * @implements
  85. * @note
  86. *
  87. * @violates
  88. */
  89. typedef enum
  90. {
  91. MEMIF_UNINIT = 0, /**< @brief The underlying abstraction module or device driver has not been initialized (yet)*/
  92. MEMIF_IDLE, /**< @brief The underlying abstraction module or device driver is currently idle */
  93. MEMIF_BUSY, /**< @brief The underlying abstraction module or device driver is currently busy */
  94. MEMIF_BUSY_INTERNAL /**< @brief The underlying abstraction module is busy with internal management operations.
  95. The underlying device driver can be busy or idle */
  96. }MemIf_StatusType;
  97. /**
  98. * @brief This type denotes the result of the last job.
  99. * @details It shall be used as the return value of the job.
  100. *
  101. * @pre
  102. * @post
  103. *
  104. * @requirements MemIf016
  105. * @implements
  106. * @note
  107. *
  108. * @violates
  109. */
  110. typedef enum
  111. {
  112. MEMIF_JOB_OK = 0, /**< @brief The job has been finished succesfully */
  113. MEMIF_JOB_FAILED, /**< @brief The job has not been finished succesfully */
  114. MEMIF_JOB_PENDING, /**< @brief The job has not yet been finished */
  115. MEMIF_JOB_CANCELED, /**< @brief The job has been canceled */
  116. MEMIF_BLOCK_INCONSISTENT, /**< @brief The requested block is inconsistent, it may contain corrupted data */
  117. MEMIF_BLOCK_INVALID /**< @brief The requested block has been marked as invalid, the requested operation can not be performed */
  118. }MemIf_JobResultType;
  119. /**
  120. * @brief This type denotes the operation mode.
  121. * @details This type denotes the operation mode of the underlying abstraction modules and device drivers.
  122. *
  123. * @pre
  124. * @post
  125. *
  126. * @requirements MemIf021
  127. * @implements
  128. * @note
  129. *
  130. * @violates
  131. */
  132. typedef enum
  133. {
  134. MEMIF_MODE_SLOW = 0, /**< @brief The underlying memory abstraction modules and drivers are working in slow mode */
  135. MEMIF_MODE_FAST /**< @brief The underlying memory abstraction modules and drivers are working in fast mode */
  136. }MemIf_ModeType;
  137. /*==================================================================================================
  138. STRUCTURES AND OTHER TYPEDEFS
  139. ==================================================================================================*/
  140. /*==================================================================================================
  141. GLOBAL VARIABLE DECLARATIONS
  142. ==================================================================================================*/
  143. /*==================================================================================================
  144. FUNCTION PROTOTYPES
  145. ==================================================================================================*/
  146. #ifdef __cplusplus
  147. }
  148. #endif
  149. #endif /* MEMIF_TYPES_H */
  150. /** @} */