flashutils.h

来自「Zigbee2006入门(源代码+文档讲解+系统推荐)」· C头文件 代码 · 共 43 行

H
43
字号
#ifndef FLASHUTILS_H
#define FLASHUTILS_H

#define SIZEOF_IEEE_ADDRESS    8
#define SIZEOF_DLIMAGE_INFO    6


#define CRC32_POLYNOMIAL   ((uint32)0xEDB88320)  // reveresed version or 802.3 polynomial 0x04C11DB7
#define FCS_LENGTH         4

// structure to hold OAD persistent memory information. this format is visible only to boot code
// others must use access API defined in mbox.
typedef struct  {
    uint8    OADPM_ServerIEEEAddress[SIZEOF_IEEE_ADDRESS];  // valid only during download session
    uint16   OADPM_ServerNWKAddress;                        // valid only during download session
    uint8    OADPM_ServerEndpoint;                          // valid only during download session
    uint8    OADPM_DLImageInfo[SIZEOF_DLIMAGE_INFO];        // valid only during download session
    uint8    OADPM_DLImagePreambleOffset;                   // valid only if base address and 1st page offset valid
    uint32   OADPM_DLFirstPageOffset;                       // 0xFFFFFFFF if no image present
    uint32   OADPM_DLBaseAddress;                           // 0xFFFFFFFF if no image present
    uint16   OADPM_Status;                                  // bit map of status info
} oadpm_t;

#define OADPM_OS_IEEE_ADDR       (0)
#define OADPM_OS_NWK_ADDR        (OADPM_OS_IEEE_ADDR + SIZEOF_IEEE_ADDRESS)
#define OADPM_OS_ENDPT           (OADPM_OS_NWK_ADDR + sizeof(uint16))
#define OADPM_OS_DLIMG_INFO      (OADPM_OS_ENDPT + sizeof(uint8))
#define OADPM_OS_PREAMBLE_OFFSET (OADPM_OS_DLIMG_INFO + SIZEOF_DLIMAGE_INFO)
#define OADPM_OS_FIRSTPAGE_ADDR  (OADPM_OS_PREAMBLE_OFFSET + sizeof(uint8))
#define OADPM_OS_BADDR           (OADPM_OS_FIRSTPAGE_ADDR + sizeof(uint32))
#define OADPM_OS_STATUS          (OADPM_OS_BADDR + sizeof(uint32))

#define XMEM_WRITE     0
#define XMEM_READ      1

#define CHIP_PAGESIZE     (0x800)
#define CHIP_SHIFTCOUNT   (11)

void FlashInit(void);
void GetFlashRWFunc(int8 (**)(uint8, uint32, uint8 *, uint16));

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?