Index: firmware/App/Common.h =================================================================== diff -u -rdeef095c63fe86de42a7e052e1b9985b0118b02e -r9af6fc3e5afc442a877bd5e23ecfa6872a3ad5a4 --- firmware/App/Common.h (.../Common.h) (revision deef095c63fe86de42a7e052e1b9985b0118b02e) +++ firmware/App/Common.h (.../Common.h) (revision 9af6fc3e5afc442a877bd5e23ecfa6872a3ad5a4) @@ -8,7 +8,8 @@ #ifndef __COMMON_H__ #define __COMMON_H__ -#define SW_UPDATE_FLASH_BUFFER_SIZE 128 +#define FIRMWARE_START_ADDRESS 0x00010000 +#define SW_UPDATE_FLASH_BUFFER_SIZE 128 // **** Types **** @@ -23,28 +24,35 @@ typedef unsigned int BOOL; ///< 32-bit boolean type typedef unsigned char BYTE; ///< 8-bit byte type -typedef enum SW_Mode_POST_States +typedef enum BL_Op_Modes { - MODE_POST_CHECK_FOR_UPDATE = 0, - MODE_POST_VERIFY_IMAGE, - NUM_OF_MODE_POST_STATES -} MODE_POST_STATE_T; + MODE_STAND = 0, + MODE_UPDATE, + NUM_OF_MODES +} BL_OP_MODE_T; +typedef enum SW_Mode_Standby_States +{ + STANDBY_CHECK_FOR_UPDATE_STATE = 0, + STANDBY_CHECK_FW_AND_FPGA_IMAGES_STATE, + STANDBY_IDLE_STATE, + NUM_OF_MODE_STANDBY_STATES +} MODE_STANDBY_STATE_T; + typedef enum SW_Mode_Update_States { - MODE_SW_UPDATE_START = 0, - MODE_SW_UPDATE_UPDATE, - MODE_SW_UPDATE_RESYNC, - MODE_SW_UPDATE_VERIFY, + SW_UPDATE_UPDATE_STATE = 0, + SW_UPDATE_VERIFY_STATE, + SW_UPDATE_ABORT_STATE, NUM_OF_MODE_SW_UPDATE_STATES } MODE_SW_UPDATE_STATE_T; typedef enum SW_Update_Destinations { UPDATE_FIRMWARE = 0, UPDATE_FPGA, - NUM_OF_UPDAT_DESTS -} SW_UPDATE_DESINTATIONS_T; + NUM_OF_UPDATE_DESTS +} SW_UPDATE_DESINTATION_T; typedef enum SW_Update_CAN_Mail_Boxes { @@ -56,9 +64,8 @@ PLACE_HOLDER_TO_REMOVE_CAN, SW_UPDATE_RESP, NUM_OF_SW_UPDATE_MBOXES, -} SW_UPDATE_CAN_MAIL_BOXES_T; +} SW_UPDATE_CAN_MAIL_BOX_T; - /*! Normal Protocol: UI->FW: SwUpdateCommand[cmd=start] @@ -92,8 +99,9 @@ UPDATE_CMD_VERSION, // TODO is this needed? UPDATE_CMD_VERIFIED, UPDATE_CMD_RESYNC, + UPDATE_CMD_IDLE, NUM_OF_UPDATE_CMDS -} SW_UPDATE_CMDS_T; +} SW_UPDATE_CMD_T; typedef enum Ack_Nack { @@ -106,8 +114,15 @@ typedef struct { BOOL isSWUpdateBufferReady; - SW_UPDATE_DESINTATIONS_T dest; + SW_UPDATE_DESINTATION_T dest; } SW_UPDATE_BUFFER_STATUS_T; +typedef struct +{ + U08 msgID; + U08 updateCmd; + U16 cyberRandom; + U32 msgCRC; +} SW_UPDATE_CMD_STATUS_T; #endif