access_module.h 1.5 KB

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