WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
upg.h 文件参考
#include <stdint.h>
#include <stdbool.h>
#include "errcode.h"
#include "upg_definitions_porting.h"
upg.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  upg_key_area_data
 升级key区域数据类型。 更多...
 
struct  upg_fota_info_data
 升级fota信息数据类型。 更多...
 
struct  upg_image_hash_node
 升级镜像哈希节点类型。 更多...
 
struct  upg_package_header
 升级包头类型 更多...
 
struct  upg_image_header
 升级包镜像头类型 更多...
 
struct  upg_func
 可选函数结构。 更多...
 
struct  upg_prepare_info
 升级准备信息结构。 更多...
 

宏定义

#define SHA_256_LENGTH   32
 哈希长度。
 
#define DIE_ID_LEN   16
 芯片ID长度。
 
#define PROTECT_KEY_LEN   16
 加密秘钥长度。
 
#define IV_LEN   16
 IV 长度。
 

类型定义

typedef enum upg_result upg_result_t
 分区枚举类型。
 
typedef enum upg_status upg_status_t
 升级状态枚举类型。
 
typedef struct upg_key_area_data upg_key_area_data_t
 升级key区域数据类型。
 
typedef struct upg_fota_info_data upg_fota_info_data_t
 升级fota信息数据类型。
 
typedef struct upg_image_hash_node upg_image_hash_node_t
 升级镜像哈希节点类型。
 
typedef struct upg_package_header upg_package_header_t
 升级包头类型
 
typedef struct upg_image_header upg_image_header_t
 升级包镜像头类型
 
typedef void(* uapi_upg_write_done_cb) (errcode_t result)
 写类型后的回调函数。
 
typedef void(* uapi_upg_progress_cb) (uint32_t percent)
 进度通知回调函数类型。
 
typedef errcode_t(* uapi_upg_user_defined_check) (uint8_t *user_info, uint32_t info_len, uintptr_t param)
 自定义字段类型校验函数。
 
typedef void *(* upg_func_malloc) (const uint32_t size)
 升级使用内存分配函数。
 
typedef void(* upg_func_free) (void *ptr)
 升级释放内存函数。
 
typedef void(* upg_func_serial_putc) (const char c)
 upg串口输出函数。
 
typedef struct upg_func upg_func_t
 可选函数结构。
 
typedef struct upg_prepare_info upg_prepare_info_t
 升级准备信息结构。
 

枚举

enum  upg_result {
  UPG_RESULT_UPDATE_SUCCESS , UPG_RESULT_VERIFY_HEAD_FAILED , UPG_RESULT_VERIFY_HASH_TABLE_FAILED , UPG_RESULT_VERIFY_IMAGE_FAILED ,
  UPG_RESULT_VERIFY_OLD_IMAGE_FAILED , UPG_RESULT_DECOMPRESS_IMAGE_FAILED , UPG_RESULT_DECRYPT_IMAGE_FAILED , UPG_RESULT_RECRYPT_IMAGE_FAILED ,
  UPG_RESULT_DIFF_IMAGE_FAILED , UPG_RESULT_UPDATE_IMAGE_FAILED , UPG_RESULT_PROCESS_NV_FAILED , UPG_RESULT_VERIFY_VERSION_FAILED ,
  UPG_RESULT_IMAGE_ID_FAILED , UPG_RESULT_RETRY_ALL_FAILED , UPG_RESULT_MAX
}
 分区枚举类型。 更多...
 
enum  upg_status { UPG_STATUS_SUCC , UPG_STATUS_FAIL , UPG_STATUS_UPDATING , UPG_STATUS_NONE }
 升级状态枚举类型。 更多...
 

函数

errcode_t uapi_upg_init (const upg_func_t *func_list)
 初始化升级模块。
 
errcode_t uapi_upg_start (void)
 开始本地升级。
 
errcode_t uapi_upg_register_progress_callback (uapi_upg_progress_cb func)
 注册升级进度通知回调函数。
 
errcode_t uapi_upg_get_result (upg_result_t *result, uint32_t *last_image_index)
 获取升级结果。
 
upg_status_t uapi_upg_get_status (void)
 获取升级状态。
 
errcode_t uapi_upg_prepare (upg_prepare_info_t *prepare_info)
 用来保存升级包的本地存储器的准备工作。
 
errcode_t uapi_upg_reset_upgrade_flag (void)
 重置升级标记
 
errcode_t uapi_upg_write_package_async (uint32_t offset, const uint8_t *buff, uint16_t len, uapi_upg_write_done_cb callback)
 将升级包数据写入本地存储器。
 
errcode_t uapi_upg_write_package_sync (uint32_t offset, const uint8_t *buff, uint16_t len)
 将升级包数据写入本地存储器。
 
errcode_t uapi_upg_read_package (uint32_t offset, uint8_t *buff, uint32_t len)
 从本地存储器读取升级包数据。
 
uint32_t uapi_upg_get_storage_size (void)
 获取可存放升级包的空间大小。
 
errcode_t uapi_upg_request_upgrade (bool reset)
 申请开始进行本地升级。
 
errcode_t uapi_upg_verify_file_head (const upg_package_header_t *pkg_header)
 校验升级包头结构。
 
errcode_t uapi_upg_verify_file_image (const upg_image_header_t *img_header, const uint8_t *hash, uint32_t hash_len, bool verify_old)
 校验升级包中的升级镜像。
 
errcode_t uapi_upg_verify_file (const upg_package_header_t *pkg_header)
 校验整个升级包。
 
void uapi_upg_register_user_defined_verify_func (uapi_upg_user_defined_check func, uintptr_t param)
 注册用户自定义字段的校验函数。