31 #ifndef __executable_image_H__ 32 #define __executable_image_H__ 40 #define IMAGE_BUFFER_SIZE 1024 * 16 41 #define IMAGE_START_ADDRESS 0x00010000 47 kImageType_Srecord = 1,
48 kImageType_Intelhex = 2,
49 kImageType_Binary = 3,
50 kImageType_Invalid = 4
72 SRECORD_SIGN_OFFSET = 0
80 INTELHEX_SIGN_OFFSET = 0
85 kRecordStatus_Success = 0,
86 kRecordStatus_Fail = 1,
87 kRecordStatus_InvalidLength = 2,
88 kRecordStatus_InvalidStart = 3,
89 kRecordStatus_InvalidType = 4,
90 kRecordStatus_InvalidChecksum = 5,
91 kRecordStatus_FlashOver = 6,
92 kRecordStatus_FlashPartly = 7,
93 kRecordStatus_EraseOver = 8,
94 kRecordStatus_ErasePartly = 9
96 typedef uint8_t recordStatus_t;
99 typedef void (*flash_image_status_t)(recordStatus_t status);
101 extern uint8_t s_image_buffer[IMAGE_BUFFER_SIZE];
102 extern uint32_t s_image_buffer_index;
103 extern uint32_t s_image_start_address;
104 extern uint32_t s_image_next_address;
105 extern uint32_t s_image_base_address;
110 #if defined(__cplusplus) 115 uint8_t read_flash_char(uint32_t address, uint32_t index);
118 uint8_t get_image_type();
121 recordStatus_t flash_image(flash_image_status_t
function);
123 #if defined(__cplusplus)