WXK
2025-02-05 961c1174bbf1aaae5fa2f672806ed4eaf2f917be
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
 * Copyright (c) 2020-2025 Shanghai Panchip Microelectronics Co.,Ltd.
 *
 * SPDX-License-Identifier: Apache-2.0
 */
#ifndef FLASH_MANAGER__H_
#define FLASH_MANAGER__H_
 
#include "PanSeries.h"
 
#if CONFIG_APP_USE_IMAGE_HEADER
#include "img_hdr.h"
typedef struct img_hdr image_header_t;
#define APP_IMG_HEADER_SIZE         sizeof(image_header_t)
#else
#define APP_IMG_HEADER_SIZE         0
#endif
 
#define FLASH_AREA_BACK_UP_START    CONFIG_FLASH_PARTITION_APP_BACKUP_ADDR
#define FLASH_AREA_IMAGE_START      CONFIG_FLASH_PARTITION_APP_ADDR
#define FLASH_IMAGE_MAX_SIZE        CONFIG_FLASH_PARTITION_APP_SIZE
 
void fm_status_refresh(void);
void fm_write_flash(unsigned int addr, unsigned char *buf, unsigned int len);
int fm_read_flash(unsigned int addr, unsigned char *buf, unsigned int len);
 
bool fm_image_completed_check(uint32_t im_addr);
int fm_image_make_invalid(uint32_t im_addr);
void fm_image_move(uint32_t src_addr, uint32_t dst_addr);
 
#endif // FLASH_MANAGER__H_