Module_Upgrade.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /*
  2. * Module_Upgrade.h
  3. *
  4. * Created on: 2019-12-24
  5. * Author: Jerry Wang
  6. * Version: D0.01
  7. */
  8. #ifndef MODULE_UPGRADE_H_
  9. #define MODULE_UPGRADE_H_
  10. #include <sys/time.h>
  11. #include <sys/timeb.h>
  12. #include <sys/types.h>
  13. #include <sys/stat.h>
  14. #include <sys/types.h>
  15. #include <sys/ioctl.h>
  16. #include <sys/socket.h>
  17. #include <sys/ipc.h>
  18. #include <sys/shm.h>
  19. #include <sys/shm.h>
  20. #include <sys/mman.h>
  21. #include <linux/wireless.h>
  22. #include <linux/can.h>
  23. #include <linux/can/raw.h>
  24. #include <arpa/inet.h>
  25. #include <netinet/in.h>
  26. #include <unistd.h>
  27. #include <stdarg.h>
  28. #include <stdio.h>
  29. #include <stdlib.h>
  30. #include <unistd.h>
  31. #include <fcntl.h>
  32. #include <termios.h>
  33. #include <errno.h>
  34. #include <errno.h>
  35. #include <string.h>
  36. #include <time.h>
  37. #include <ctype.h>
  38. #include <ifaddrs.h>
  39. enum Image_Type
  40. {
  41. CSU_BOOTLOADER = 0x10000001,
  42. CSU_KERNEL_CONFIGURATION = 0x10000002,
  43. CSU_KERNEL_IMAGE = 0x10000003,
  44. CSU_ROOT_FILE_SYSTEM = 0x10000004,
  45. CSU_USER_CONFIGURATION = 0x10000005,
  46. CSU_PRIMARY_CONTROLLER = 0x10000006,
  47. CCS_BOARD_BOOTLOADER = 0x10000007,
  48. CCS_BOARD_KERNEL_CONFIGURATION = 0x10000008,
  49. CCS_BOARD_KERNEL_IMAGE = 0x10000009,
  50. CCS_BOARD_FILE_SYSTEM = 0x1000000A,
  51. CHAdeMO_BOARD = 0x1000000B,
  52. GB_BOARD = 0x1000000C,
  53. RELAY_CONTROL_BOARD = 0x1000000D,
  54. FAN_CONTROL_BOARD = 0x1000000E,
  55. LCM = 0x1000000F,
  56. F750_PSU_PRIMARY_CONTROLLER = 0x10000010,
  57. F750_PSU_SECONDARY_CONTROLLER = 0x10000011,
  58. F950_PSU_PRIMARY_CONTROLLER = 0x10000012,
  59. F950_PSU_SECONDARY_CONTROLLER = 0x10000013,
  60. LED_BOARD = 0x10000014,
  61. CSU_MLO = 0x10000015,
  62. CCS_BOARD_MLO = 0x10000016,
  63. AC_CORDSET_CONTROLLER = 0x20000001,
  64. AC_WALLMOUNT_CONTROLLER = 0x20000002,
  65. CMU_IN_BMS = 0x30000001,
  66. BMU_IN_BMS = 0x30000002,
  67. };
  68. enum Canbus_ImageType
  69. {
  70. CANBUS_IMAGE_TYPE_SPL = 0x01,
  71. CANBUS_IMAGE_TYPE_UBOOT = 0x02,
  72. CANBUS_IMAGE_TYPE_DTB = 0x03,
  73. CANBUS_IMAGE_TYPE_KERNEL = 0x04,
  74. CANBUS_IMAGE_TYPE_ROOTFS = 0x05,
  75. CANBUS_IMAGE_TYPE_CONFIG = 0x06,
  76. CANBUS_IMAGE_TYPE_MCU = 0x07,
  77. };
  78. enum Canbus_MessageId
  79. {
  80. CANBUS_MESSAGE_ID_UPGRADE_REQUEST = 0x00000e00,
  81. CANBUS_MESSAGE_ID_UPGRADE_TRANS_BLOCK = 0x00000f00,
  82. CANBUS_MESSAGE_ID_UPGRADE_TRANS_DATA = 0x00001000,
  83. CANBUS_MESSAGE_ID_UPGRADE_FINISH = 0x00001100,
  84. };
  85. enum Uart_Command
  86. {
  87. UART_CMD_UPDATE_START = 0xe0,
  88. UART_CMD_UPDATE_ABORD = 0xe1,
  89. UART_CMD_UPDATE_TRANSFER = 0xe2,
  90. UART_CMD_UPDATE_FINISH = 0xe3,
  91. };
  92. enum Upgrade_Flag
  93. {
  94. UPGRADE_FLAG_DTS = 0x7fffd,
  95. UPGRADE_FLAG_KERNEL = 0x7fffe,
  96. UPGRADE_FLAG_ROOTFS = 0x7ffff
  97. };
  98. int Upgrade_Flash(unsigned int Type,char *SourcePath,char *ModelName);
  99. int Upgrade_UART(int uartfdOrd,unsigned int Type,unsigned char TargetAddr,char *SourcePath,char *ModelName);
  100. int Upgrade_CAN(int canfd,unsigned int Type,unsigned char TargetAddr,char *SourcePath,char *ModelName);
  101. int Upgrade_CCS(int canfd,unsigned int Type,unsigned char TargetAddr,char *SourcePath,char *ModelName);
  102. extern int runShellCmd(const char*cmd);
  103. #endif /* MODULE_UPGRADE_H_ */