access_module.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #ifndef _ACCESS_MODULE_H_
  2. #define _ACCESS_MODULE_H_
  3. #define MCU_ACCESS_MODULE_ID (0)
  4. #define CPU_ACCESS_MODULE_ID (1)
  5. #define MCU_ACCESS_MODULE_SUPPORT
  6. #define CPU_ACCESS_MODULE_SUPPORT
  7. #ifdef MCU_ACCESS_MODULE_SUPPORT
  8. #define ACCESS_FLASH_SUPPORT
  9. #define ACCESS_CRC_SUPPORT
  10. #endif
  11. #ifdef CPU_ACCESS_MODULE_SUPPORT
  12. #define ACCESS_RTC_SUPPORT
  13. #endif
  14. #ifdef ACCESS_FLASH_SUPPORT
  15. typedef enum {
  16. AFT_READ,
  17. AFT_WRITE,
  18. AFT_ERASE,
  19. } AccessFlashType;
  20. typedef struct {
  21. u32 mem_addr;
  22. u32 mem_size;
  23. u32 flash_addr;
  24. u32 access_type;
  25. } AccessFlashMsg;
  26. #endif
  27. #ifdef ACCESS_CRC_SUPPORT
  28. typedef struct {
  29. u32 mem_addr;
  30. u32 mem_size;
  31. u32 init;
  32. u32 widthopt;
  33. } AccessCrcMsg;
  34. #endif
  35. #ifdef ACCESS_RTC_SUPPORT
  36. typedef enum {
  37. ART_SET_TIME,
  38. ART_GET_TIME,
  39. } AccessRtcType;
  40. typedef struct {
  41. u32 rtc_cnt_h;
  42. u32 reserved;
  43. u32 access_type;
  44. } AccessRtcMsg;
  45. #endif
  46. typedef enum {
  47. AMT_STATUS,
  48. AMT_FLASH,
  49. AMT_CRC,
  50. AMT_RTC = 16,
  51. } AccessModuleType;
  52. typedef enum {
  53. AMRMS_NO_ERROR,
  54. AMRMS_LEN_ERROR, // header msg length error
  55. AMRMS_TYPE_ERROR, // header msg module type error
  56. AMRMS_PARA_ERROR, // function msg parameter error
  57. } AccessModuleRespondMsgStatus;
  58. typedef struct {
  59. u8 dest_core_id;
  60. u8 type;
  61. u8 len;
  62. u8 msg_status;
  63. u32 result;
  64. } AccessModuleHeader;
  65. #ifdef MCU_ACCESS_MODULE_SUPPORT
  66. void McuAccessModule(void);
  67. #endif
  68. #ifdef ACCESS_RTC_SUPPORT
  69. int AccessRTC(AccessRtcType type, uint32_t *time);
  70. #endif
  71. #endif