
1. effective "Differential Upgrade" patch algorithm with high compression rate 2. effective recovery algorithm support recovery firmware in blocks which has low memory consumption and wear-leveling strategies, especially suitable for embeded devices with low RAM. 3. add sample ota bootloader project, see: board\TencentOS_tiny_EVB_MX_Plus\KEIL\ota\ota_bootloader_recovery 4. add sample application project for download firmware through http, see: board\TencentOS_tiny_EVB_MX_Plus\KEIL\ota\ota_application_download_through_http 5. add sample application project for download firmware through qcloud explorer console, see: board\TencentOS_tiny_EVB_MX_Plus\KEIL\ota\ota_application_download_through_qcloud_iot_explorer 6. an OTA markdown document is pending
52 lines
1.0 KiB
C
52 lines
1.0 KiB
C
/* Alloc.h -- Memory allocation functions
|
|
2018-02-19 : Igor Pavlov : Public domain */
|
|
|
|
#ifndef __COMMON_ALLOC_H
|
|
#define __COMMON_ALLOC_H
|
|
|
|
#include "7zTypes.h"
|
|
|
|
EXTERN_C_BEGIN
|
|
|
|
void *MyAlloc(size_t size);
|
|
void MyFree(void *address);
|
|
|
|
#ifdef _WIN32
|
|
|
|
void SetLargePageSize();
|
|
|
|
void *MidAlloc(size_t size);
|
|
void MidFree(void *address);
|
|
void *BigAlloc(size_t size);
|
|
void BigFree(void *address);
|
|
|
|
#else
|
|
|
|
#define MidAlloc(size) MyAlloc(size)
|
|
#define MidFree(address) MyFree(address)
|
|
#define BigAlloc(size) MyAlloc(size)
|
|
#define BigFree(address) MyFree(address)
|
|
|
|
#endif
|
|
|
|
extern const ISzAlloc g_Alloc;
|
|
extern const ISzAlloc g_BigAlloc;
|
|
extern const ISzAlloc g_MidAlloc;
|
|
extern const ISzAlloc g_AlignedAlloc;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
ISzAlloc vt;
|
|
ISzAllocPtr baseAlloc;
|
|
unsigned numAlignBits; /* ((1 << numAlignBits) >= sizeof(void *)) */
|
|
size_t offset; /* (offset == (k * sizeof(void *)) && offset < (1 << numAlignBits) */
|
|
} CAlignOffsetAlloc;
|
|
|
|
void AlignOffsetAlloc_CreateVTable(CAlignOffsetAlloc *p);
|
|
|
|
|
|
EXTERN_C_END
|
|
|
|
#endif
|