55 lines
1007 B
C
55 lines
1007 B
C
|
|
#ifndef _DEV_BOOT_
|
||
|
|
#define _DEV_BOOT_
|
||
|
|
|
||
|
|
#include "hdl_flash.h"
|
||
|
|
|
||
|
|
#define APP_START_FLAG 0x55AA5A5A
|
||
|
|
#define APP_UPDATE_FLAG 0xA5A5AA55
|
||
|
|
|
||
|
|
#define BOOT_BASE (FLASH_BASE)
|
||
|
|
#define BOOT_SIZE (4*FLASH_SECTOR_SIZE)
|
||
|
|
|
||
|
|
#define APP_ADDRESS (BOOT_BASE + BOOT_SIZE)
|
||
|
|
#define APP_SIZE (58*FLASH_SECTOR_SIZE)
|
||
|
|
|
||
|
|
#define BOOT_PARA_ADDRESS (APP_ADDRESS + APP_SIZE)
|
||
|
|
#define BOOT_PARA_SIZE (FLASH_SECTOR_SIZE)
|
||
|
|
|
||
|
|
#define APP_START_FLAG 0x55AA5A5A
|
||
|
|
#define APP_UPDATE_FLAG 0xA5A5AA55
|
||
|
|
|
||
|
|
typedef struct {
|
||
|
|
uint32_t AppFlag;
|
||
|
|
uint32_t DevType;
|
||
|
|
uint32_t DevAddr;
|
||
|
|
uint32_t UpdateFlag;
|
||
|
|
uint32_t PackageNum;
|
||
|
|
uint32_t AppSize;
|
||
|
|
uint32_t Crc32Check;
|
||
|
|
}boot_para_t;
|
||
|
|
|
||
|
|
|
||
|
|
void dev_boot_read_param(boot_para_t *pParam);
|
||
|
|
|
||
|
|
int dev_boot_write_param(boot_para_t Param);
|
||
|
|
|
||
|
|
void dev_boot_erase_app(void);
|
||
|
|
|
||
|
|
void dev_boot_write_app(uint32_t AddrOffset, uint8_t* wData, int wLen);
|
||
|
|
|
||
|
|
uint8_t dev_boot_check_app(void);
|
||
|
|
|
||
|
|
uint32_t dev_boot_get_app_crc32(int dwLen);
|
||
|
|
|
||
|
|
void dev_boot_run_app(void);
|
||
|
|
|
||
|
|
#endif
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|