cfg.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. #ifndef _CFG_H_
  2. #define _CFG_H_
  3. #include "stdint.h"
  4. #define TRIPHASIC 0
  5. #define SINGLE 0
  6. #define MD_BASE_Addr (1500)
  7. #define MD_STATUS_Addr 1
  8. #define MD_WRITE_Addr 50
  9. #define MD_READ_STATUS (MD_BASE_Addr + MD_STATUS_Addr)
  10. #define MD_WRIE_DATA (MD_BASE_Addr+MD_WRITE_Addr)
  11. #define BOOT_LOADER ((uint32_t)(0x08000000)) //boot loadr addr
  12. #define BOOT_LOADER_SIZE (20*1024) //boot loade size
  13. #define META_DATA ((uint32_t)(0x08005000)) //meta data addr
  14. #define META_DATA_SIZE (1*1024) //meta data size
  15. #define PROGRAME_APP1 ((uint32_t)(0x08005400)) //App1 Rom Start addr
  16. #define PROGRAME_APP1_SIZE (20*1024) //App1 programe Max size
  17. #define PROGRAME_APP2 ((uint32_t)(0x0800A400)) //App2 Rom Start addr
  18. #define PROGRAME_APP2_SIZE (20*1024) //App2 programe Max size
  19. #define PARTITION 1
  20. #define VERSION "V1.0.0.0"
  21. #define MODBUS_HEAD "GOWONE_UPGRADE"
  22. #define MB_Boot_Loader_Version_Addr 1
  23. #define MB_Boot_APP1_Version 2
  24. #define MB_Boot_APP2_Version 3
  25. #define MB_default_Start_Area 4 //defalut start and defalut app1
  26. #define MB_Last_Running_Area 5
  27. #define MB_Last_Running_Error 6 //running error number
  28. #define MB_Upload_Status 7
  29. #define MB_APP1_CRC 8
  30. #define MB_APP2_CRC 9
  31. #define MB_Upload_Area 30
  32. #define MB_META_DATA_Addr 31
  33. #define MB_META_DATA_Addr_BytN 20
  34. #define MB_Recive_Data 32
  35. #define MB_Recive_Over 33
  36. #define MB_Start_Area 34
  37. #define BOOT_Version (MD_BASE_Addr + MB_Boot_Loader_Version_Addr)
  38. #define BOOT_APP1_Version (MD_BASE_Addr + MB_Boot_APP1_Version)
  39. #define BOOT_APP2_Version (MD_BASE_Addr + MB_Boot_APP2_Version)
  40. #define BOOT_Last_Running_Area (MD_BASE_Addr + MB_Last_Running_Area)
  41. #define BOOT_Last_Running_Error (MD_BASE_Addr + MB_Last_Running_Error)
  42. #define BOOT_Upload_Status (MD_BASE_Addr + MB_Upload_Status)
  43. #define BOOT_APP1_CRC (MD_BASE_Addr + MB_APP1_CRC)
  44. #define BOOT_APP2_CRC (MD_BASE_Addr + MB_APP2_CRC)
  45. #define BOOT_Upload_Area (MD_BASE_Addr + MB_Upload_Area)
  46. #define BOOT_META_DATA (MD_BASE_Addr + MB_META_DATA_Addr)
  47. #define BOOT_Recive_Data (MD_BASE_Addr + MB_Recive_Data)
  48. #define BOOT_Recive_Over (MD_BASE_Addr + MB_Recive_Over)
  49. #define BOOT_Start_Area (MD_BASE_Addr + MB_Start_Area)
  50. #define MAX_LENTH (128)
  51. #define Mb_Wcmd_Width 16
  52. #define NOERROR 0
  53. #define MAX_ERROR_COUNT 2
  54. #define ERROR_VERSION 0xFFFFFFFF
  55. typedef struct {
  56. int index;
  57. uint16_t lenth;
  58. uint8_t recive[MAX_LENTH];
  59. }Flash_Data;
  60. typedef struct
  61. {
  62. uint8_t flag;
  63. uint16_t base_addr;
  64. Flash_Data flash_Data;
  65. }MD_DATA;
  66. typedef struct {
  67. uint32_t operation_flag; // 0
  68. uint32_t partition; // 1
  69. uint32_t errno; // 0
  70. uint32_t error_count; // 0
  71. uint32_t rom_addr; // PROGRAME_APP1 0x08005400
  72. uint32_t recent_running_time; // 0
  73. uint32_t running_app_version; // V1.0.0.0 (1<<24 | 0 << 16 | 0 << 8 | 0)
  74. uint32_t app1_version; // V1.0.0.0 (1<<24 | 0 << 16 | 0 << 8 | 0)
  75. uint32_t app1_rom_addr; // PROGRAME_APP1 0x08005400
  76. uint32_t app1_partition; // 1
  77. uint32_t app2_version; // V1.0.0.0 (1<<24 | 0 << 16 | 0 << 8 | 0)
  78. uint32_t app2_rom_addr; // PROGRAME_APP2 0x0800A400
  79. uint32_t app2_partition; // 2
  80. }META_DATA_S;
  81. typedef struct g_MD_Data{
  82. uint8_t count;
  83. MD_DATA data[Mb_Wcmd_Width];
  84. }g_MD_Data;
  85. g_MD_Data* get_md_data();
  86. #endif