WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
upg_common.c 文件参考
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#include "common_def.h"
#include "upg_config.h"
#include "fcntl.h"
#include "unistd.h"
#include "sys/stat.h"
#include "sys/vfs.h"
#include "dfx_file_operation.h"
#include "upg_common_porting.h"
#include "errcode.h"
#include "securec.h"
#include "partition.h"
#include "upg_alloc.h"
#include "upg_otp_reg.h"
#include "upg.h"
#include "upg_porting.h"
#include "upg_debug.h"
#include "upg_common.h"
upg_common.c 的引用(Include)关系图:

宏定义

#define NOT_START_FLAG   0xFF
 
#define STARTED_FLAG   0x0F
 
#define FINISHED_FLAG   0x00
 
#define UPG_FINISH_HALF_FLAG   0xFFFF
 
#define UPG_FINISH_ALL_FLAG   0
 
#define UPG_ABNORMAL_FLAG   0x5a5a5a5a
 
#define PER_FILE_STORAGE_MAX_SIZE   4294967295
 

函数

upg_storage_ctx_tupg_get_ctx (void)
 
errcode_t upg_alloc_and_get_upgrade_flag (fota_upgrade_flag_area_t **upg_flag)
 
errcode_t upg_get_partition_info (uint32_t image_id, uint32_t *start_address, uint32_t *size)
 
STATIC errcode_t upg_img_id_convert_to_partition_id (uint32_t image_id, partition_ids_t *item_id)
 
errcode_t upg_get_image_info (uint32_t image_id, partition_information_t *image_info)
 
errcode_t upg_read_fota_pkg_data (uint32_t read_offset, uint8_t *buffer, uint32_t *read_len)
 
STATIC errcode_t upg_package_get_storage_max_size (uint32_t *size)
 
uint32_t uapi_upg_get_storage_size (void)
 获取可存放升级包的空间大小。
 
errcode_t upg_get_package_header (upg_package_header_t **pkg_header)
 
errcode_t upg_get_pkg_image_hash_table (const upg_package_header_t *pkg_header, upg_image_hash_node_t **img_hash_table)
 
errcode_t upg_get_pkg_image_header (const upg_image_hash_node_t *img_hash_table, upg_image_header_t **img_header)
 
errcode_t upg_get_pkg_image_data (const upg_image_header_t *img_header, uint32_t data_offset, uint32_t *data_len, uint8_t **img_data)
 
errcode_t upg_copy_pkg_image_data (const upg_image_header_t *img_header, uint32_t data_offset, uint32_t *data_len, uint8_t *img_data)
 
STATIC errcode_t upg_read_old_image_data_from_fs (const char *file_path, uint32_t read_offset, uint8_t *buffer, uint32_t *read_len)
 
errcode_t upg_read_old_image_data (uint32_t read_offset, uint8_t *buffer, uint32_t *read_len, uint32_t image_id)
 
STATIC errcode_t upg_get_firmware_flag_address (uint32_t firmware_index, uint32_t current_loop, uint32_t *flag_addr)
 
errcode_t upg_set_firmware_update_status (fota_upgrade_flag_area_t *upg_flag, uint32_t firmware_index, upg_image_status_switch_t switch_status)
 
upg_image_status_t upg_get_image_update_status (fota_upgrade_flag_area_t *upg_flag, uint32_t firmware_index, uint32_t image_id)
 
errcode_t upg_flash_erase_metadata_pages (void)
 
void upg_set_temporary_result (upg_result_t result)
 
upg_result_t upg_get_temporary_result (void)
 
void upg_set_update_result (upg_result_t result)
 
bool upg_check_image_update_complete (const fota_upgrade_flag_area_t *upg_flag, uint32_t image_num)
 
STATIC void upg_write_complete_flag (uint32_t fota_flag_addr, uint32_t complete_flag)
 
void upg_set_complete_flag (uint32_t image_num, errcode_t result, bool direct_finish)
 
errcode_t uapi_upg_get_result (upg_result_t *result, uint32_t *last_image_index)
 获取升级结果。
 
upg_func_tupg_get_func_list (void)
 
bool upg_is_inited (void)
 
STATIC upg_status_t upg_get_status (void)
 
errcode_t uapi_upg_init (const upg_func_t *func_list)
 初始化升级模块。
 
errcode_t upg_anti_rollback_version_verify (const upg_package_header_t *pkg_header, const upg_image_header_t *img_header)
 
errcode_t upg_anti_rollback_version_update (const upg_image_header_t *img_header)
 

变量

STATIC upg_storage_ctx_t g_upg_ctx = {0}
 

宏定义说明

◆ FINISHED_FLAG

#define FINISHED_FLAG   0x00

◆ NOT_START_FLAG

#define NOT_START_FLAG   0xFF

◆ PER_FILE_STORAGE_MAX_SIZE

#define PER_FILE_STORAGE_MAX_SIZE   4294967295

◆ STARTED_FLAG

#define STARTED_FLAG   0x0F

◆ UPG_ABNORMAL_FLAG

#define UPG_ABNORMAL_FLAG   0x5a5a5a5a

◆ UPG_FINISH_ALL_FLAG

#define UPG_FINISH_ALL_FLAG   0

◆ UPG_FINISH_HALF_FLAG

#define UPG_FINISH_HALF_FLAG   0xFFFF

函数说明

◆ upg_alloc_and_get_upgrade_flag()

errcode_t upg_alloc_and_get_upgrade_flag ( fota_upgrade_flag_area_t **  upg_flag)

◆ upg_anti_rollback_version_update()

errcode_t upg_anti_rollback_version_update ( const upg_image_header_t img_header)

◆ upg_anti_rollback_version_verify()

errcode_t upg_anti_rollback_version_verify ( const upg_package_header_t pkg_header,
const upg_image_header_t img_header 
)

◆ upg_check_image_update_complete()

bool upg_check_image_update_complete ( const fota_upgrade_flag_area_t upg_flag,
uint32_t  image_num 
)

◆ upg_copy_pkg_image_data()

errcode_t upg_copy_pkg_image_data ( const upg_image_header_t img_header,
uint32_t  data_offset,
uint32_t *  data_len,
uint8_t *  img_data 
)

◆ upg_flash_erase_metadata_pages()

errcode_t upg_flash_erase_metadata_pages ( void  )

◆ upg_get_ctx()

upg_storage_ctx_t * upg_get_ctx ( void  )

◆ upg_get_firmware_flag_address()

STATIC errcode_t upg_get_firmware_flag_address ( uint32_t  firmware_index,
uint32_t  current_loop,
uint32_t *  flag_addr 
)

◆ upg_get_func_list()

upg_func_t * upg_get_func_list ( void  )

◆ upg_get_image_info()

errcode_t upg_get_image_info ( uint32_t  image_id,
partition_information_t image_info 
)

◆ upg_get_image_update_status()

upg_image_status_t upg_get_image_update_status ( fota_upgrade_flag_area_t upg_flag,
uint32_t  firmware_index,
uint32_t  image_id 
)

◆ upg_get_package_header()

errcode_t upg_get_package_header ( upg_package_header_t **  pkg_header)

◆ upg_get_partition_info()

errcode_t upg_get_partition_info ( uint32_t  image_id,
uint32_t *  start_address,
uint32_t *  size 
)

◆ upg_get_pkg_image_data()

errcode_t upg_get_pkg_image_data ( const upg_image_header_t img_header,
uint32_t  data_offset,
uint32_t *  data_len,
uint8_t **  img_data 
)

◆ upg_get_pkg_image_hash_table()

errcode_t upg_get_pkg_image_hash_table ( const upg_package_header_t pkg_header,
upg_image_hash_node_t **  img_hash_table 
)

◆ upg_get_pkg_image_header()

errcode_t upg_get_pkg_image_header ( const upg_image_hash_node_t img_hash_table,
upg_image_header_t **  img_header 
)

◆ upg_get_status()

STATIC upg_status_t upg_get_status ( void  )

◆ upg_get_temporary_result()

upg_result_t upg_get_temporary_result ( void  )

◆ upg_img_id_convert_to_partition_id()

STATIC errcode_t upg_img_id_convert_to_partition_id ( uint32_t  image_id,
partition_ids_t item_id 
)

◆ upg_is_inited()

bool upg_is_inited ( void  )

◆ upg_package_get_storage_max_size()

STATIC errcode_t upg_package_get_storage_max_size ( uint32_t *  size)

◆ upg_read_fota_pkg_data()

errcode_t upg_read_fota_pkg_data ( uint32_t  read_offset,
uint8_t *  buffer,
uint32_t *  read_len 
)

◆ upg_read_old_image_data()

errcode_t upg_read_old_image_data ( uint32_t  read_offset,
uint8_t *  buffer,
uint32_t *  read_len,
uint32_t  image_id 
)

◆ upg_read_old_image_data_from_fs()

STATIC errcode_t upg_read_old_image_data_from_fs ( const char *  file_path,
uint32_t  read_offset,
uint8_t *  buffer,
uint32_t *  read_len 
)

◆ upg_set_complete_flag()

void upg_set_complete_flag ( uint32_t  image_num,
errcode_t  result,
bool  direct_finish 
)

◆ upg_set_firmware_update_status()

errcode_t upg_set_firmware_update_status ( fota_upgrade_flag_area_t upg_flag,
uint32_t  firmware_index,
upg_image_status_switch_t  switch_status 
)

◆ upg_set_temporary_result()

void upg_set_temporary_result ( upg_result_t  result)

◆ upg_set_update_result()

void upg_set_update_result ( upg_result_t  result)

◆ upg_write_complete_flag()

STATIC void upg_write_complete_flag ( uint32_t  fota_flag_addr,
uint32_t  complete_flag 
)

变量说明

◆ g_upg_ctx

STATIC upg_storage_ctx_t g_upg_ctx = {0}