软件开发MF500全套设计开发资料芯片解密
- 芯片解密软件开发#include "hal_adc.h"
- 芯片解密软件开发#include "hal_flash.h"
- 芯片解密软件开发#include "hal_types.h"
- 芯片解密软件开发#include "ZComdef.h"
- 芯片解密软件开发#include "OSAL_Nv.h"
- /*********************************************************************
- * CONSTANTS
- */
- #define OSAL_NV_PAGE_SIZE HAL_FLASH_PAGE_SIZE
- #define OSAL_NV_PAGES_USED HAL_NV_PAGE_CNT
- #define OSAL_NV_PAGE_BEG HAL_NV_PAGE_BEG
- #define OSAL_NV_PAGE_END (OSAL_NV_PAGE_BEG + OSAL_NV_PAGES_USED - 1)
- #define OSAL_NV_ACTIVE 0x00
- #define OSAL_NV_ERASED 0xFF
- #define OSAL_NV_ERASED_ID 0xFFFF
- #define OSAL_NV_ZEROED_ID 0x0000
- // Reserve MSB of Id to signal a search for the "old" source copy (new write interrupted/failed.)
- #define OSAL_NV_SOURCE_ID 0x8000
- #define OSAL_NV_PAGE_FREE HAL_FLASH_PAGE_SIZE
- // In case pages 0-1 are ever used, define a null page value.
- #define OSAL_NV_PAGE_NULL 0
- // In case item Id 0 is ever used, define a null item value.
- #define OSAL_NV_ITEM_NULL 0
- #define OSAL_NV_WORD_SIZE HAL_FLASH_WORD_SIZE
- #define OSAL_NV_PAGE_HDR_OFFSET 0
- /*********************************************************************
- * MACROS
- */
- #define OSAL_NV_CHECK_BUS_VOLTAGE (HalAdcCheckVdd( HAL_ADC_VDD_LIMIT_4 ))
- #define OSAL_NV_DATA_SIZE( LEN ) \
- ((((LEN) + OSAL_NV_WORD_SIZE - 1) / OSAL_NV_WORD_SIZE) * OSAL_NV_WORD_SIZE)
- #define OSAL_NV_ITEM_SIZE( LEN ) \
- (((((LEN) + OSAL_NV_WORD_SIZE - 1) / OSAL_NV_WORD_SIZE) * OSAL_NV_WORD_SIZE) + OSAL_NV_HDR_SIZE)
- /*********************************************************************
- * TYPEDEFS
- */
- typedef struct
- {
- uint16 id;
- uint16 len; // Enforce Flash-WORD size on len.
- uint16 chk; // Byte-wise checksum of the 'len' data bytes of the item.
- uint16 stat; // Item status.
- } osalNvHdr_t;
- // Struct member offsets.
- #define OSAL_NV_HDR_ID 0
- #define OSAL_NV_HDR_LEN 2
- #define OSAL_NV_HDR_CHK 4
- #define OSAL_NV_HDR_STAT 6
- #define OSAL_NV_HDR_ITEM 2 // Length of any item of a header struct.
- #define OSAL_NV_HDR_SIZE 8
- #define OSAL_NV_HDR_HALF (OSAL_NV_HDR_SIZE / 2)
- typedef struct
- {
- uint16 active;
- uint16 inUse;
- uint16 xfer;
- uint16 spare;
- } osalNvPgHdr_t;

芯片解密