/* * Module_Upgrade.h * * Created on: 2019-12-24 * Author: Jerry Wang * Version: D0.01 */ #ifndef MODULE_UPGRADE_H_ #define MODULE_UPGRADE_H_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include enum Image_Type { CSU_BOOTLOADER = 0x10000001, CSU_KERNEL_CONFIGURATION = 0x10000002, CSU_KERNEL_IMAGE = 0x10000003, CSU_ROOT_FILE_SYSTEM = 0x10000004, CSU_USER_CONFIGURATION = 0x10000005, CSU_PRIMARY_CONTROLLER = 0x10000006, CCS_BOARD_BOOTLOADER = 0x10000007, CCS_BOARD_KERNEL_CONFIGURATION = 0x10000008, CCS_BOARD_KERNEL_IMAGE = 0x10000009, CCS_BOARD_FILE_SYSTEM = 0x1000000A, CHAdeMO_BOARD = 0x1000000B, GB_BOARD = 0x1000000C, RELAY_CONTROL_BOARD = 0x1000000D, FAN_CONTROL_BOARD = 0x1000000E, LCM = 0x1000000F, F750_PSU_PRIMARY_CONTROLLER = 0x10000010, F750_PSU_SECONDARY_CONTROLLER = 0x10000011, F950_PSU_PRIMARY_CONTROLLER = 0x10000012, F950_PSU_SECONDARY_CONTROLLER = 0x10000013, LED_BOARD = 0x10000014, CSU_MLO = 0x10000015, CCS_BOARD_MLO = 0x10000016, AC_CORDSET_CONTROLLER = 0x20000001, AC_WALLMOUNT_CONTROLLER = 0x20000002, CMU_IN_BMS = 0x30000001, BMU_IN_BMS = 0x30000002, }; enum Canbus_ImageType { CANBUS_IMAGE_TYPE_SPL = 0x01, CANBUS_IMAGE_TYPE_UBOOT = 0x02, CANBUS_IMAGE_TYPE_DTB = 0x03, CANBUS_IMAGE_TYPE_KERNEL = 0x04, CANBUS_IMAGE_TYPE_ROOTFS = 0x05, CANBUS_IMAGE_TYPE_CONFIG = 0x06, CANBUS_IMAGE_TYPE_MCU = 0x07, }; enum Canbus_MessageId { CANBUS_MESSAGE_ID_UPGRADE_REQUEST = 0x00000e00, CANBUS_MESSAGE_ID_UPGRADE_TRANS_BLOCK = 0x00000f00, CANBUS_MESSAGE_ID_UPGRADE_TRANS_DATA = 0x00001000, CANBUS_MESSAGE_ID_UPGRADE_FINISH = 0x00001100, }; enum Uart_Command { UART_CMD_UPDATE_START = 0xe0, UART_CMD_UPDATE_ABORD = 0xe1, UART_CMD_UPDATE_TRANSFER = 0xe2, UART_CMD_UPDATE_FINISH = 0xe3, }; enum Upgrade_Flag { UPGRADE_FLAG_DTS = 0x7fffd, UPGRADE_FLAG_KERNEL = 0x7fffe, UPGRADE_FLAG_ROOTFS = 0x7ffff }; int Upgrade_Flash(unsigned int Type,char *SourcePath,char *ModelName); int Upgrade_UART(int uartfdOrd,unsigned int Type,unsigned char TargetAddr,char *SourcePath,char *ModelName); int Upgrade_CAN(int canfd,unsigned int Type,unsigned char TargetAddr,char *SourcePath,char *ModelName); int Upgrade_CCS(int canfd,unsigned int Type,unsigned char TargetAddr,char *SourcePath,char *ModelName); extern int runShellCmd(const char*cmd); #endif /* MODULE_UPGRADE_H_ */