Trident IoT Zigbee SDK
 
Loading...
Searching...
No Matches
tr_osif_ota.h
Go to the documentation of this file.
1
11#ifndef TR_OSIF_OTA_H
12#define TR_OSIF_OTA_H
13
14#define MULTIPLE_OF_32K(Add) ((((Add) & (0x8000 - 1)) == 0) ? 1 : 0)
15#define MULTIPLE_OF_64K(Add) ((((Add) & (0x10000 - 1)) == 0) ? 1 : 0)
16#define SIZE_OF_FLASH_SECTOR_ERASE 4096
17
18#define OTA_FLASH_WRITE_SIZE 2048 // write to flash when we have received this many bytes
19#define OTA_FLASH_WRITE_BUF_SIZE (2 * OTA_FLASH_WRITE_SIZE) // size must be power of 2
20
21zb_zcl_ota_upgrade_file_header_t *tr_ota_upgrade_client_get_ota_header(void);
22
23void tr_osif_ota_flash_set_write_addr(zb_uint32_t write_offset);
25zb_bool_t zb_osif_ota_fw_size_ok(zb_uint32_t image_size);
27void zb_osif_ota_erase_fw(void *dev,
28 zb_uint_t offset,
29 zb_uint32_t size);
30void zb_osif_ota_write(void *dev,
31 zb_uint8_t *data,
32 zb_uint_t off,
33 zb_uint_t size,
34 zb_uint32_t image_size);
36
37zb_bool_t tr_osif_ota_mark_fw_ready(void *dev,
38 zb_uint32_t size,
39 zb_uint32_t revision);
44zb_bool_t zb_osif_ota_verify_integrity(void *dev,
45 zb_uint32_t raw_len);
46
47/* WARNING: Works with absolute address! */
48void zb_osif_ota_read(void *dev,
49 zb_uint8_t *data,
50 zb_uint32_t addr,
51 zb_uint32_t size);
52
54 zb_uint32_t raw_len);
55zb_uint8_t zb_erase_fw(zb_uint32_t address,
56 zb_uint32_t pages_count);
57zb_uint8_t zb_write_fw(zb_uint32_t address,
58 zb_uint8_t *buf,
59 zb_uint16_t len);
60void Hash16_Calc(zb_uint32_t pBuffer,
61 zb_uint32_t BufferLength,
62 zb_uint8_t *hash16);
63
64#endif /* TR_OSIF_OTA_H */
zb_bool_t zb_osif_ota_verify_integrity_async(void *dev, zb_uint32_t raw_len)
void tr_osif_ota_flash_set_write_addr(zb_uint32_t write_offset)
void zb_osif_ota_close_storage(void *dev)
void zb_osif_ota_mark_fw_updated(void)
void * zb_osif_ota_open_storage(void)
zb_uint8_t zb_write_fw(zb_uint32_t address, zb_uint8_t *buf, zb_uint16_t len)
zb_bool_t zb_osif_ota_fw_size_ok(zb_uint32_t image_size)
void zb_osif_upgrade_now()
void zb_osif_ota_erase_fw(void *dev, zb_uint_t offset, zb_uint32_t size)
void zb_osif_ota_read(void *dev, zb_uint8_t *data, zb_uint32_t addr, zb_uint32_t size)
zb_zcl_ota_upgrade_file_header_t * tr_ota_upgrade_client_get_ota_header(void)
void zb_osif_ota_write(void *dev, zb_uint8_t *data, zb_uint_t off, zb_uint_t size, zb_uint32_t image_size)
void zb_osif_ota_write_last_data(void)
zb_bool_t zb_osif_ota_verify_integrity(void *dev, zb_uint32_t raw_len)
zb_bool_t tr_osif_ota_mark_fw_ready(void *dev, zb_uint32_t size, zb_uint32_t revision)
void Hash16_Calc(zb_uint32_t pBuffer, zb_uint32_t BufferLength, zb_uint8_t *hash16)
zb_uint8_t zb_erase_fw(zb_uint32_t address, zb_uint32_t pages_count)
void zb_osif_ota_mark_fw_absent(void)
zb_uint32_t zb_osif_ota_get_erase_portion(void)