WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
nv_task_adapt.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2022. All rights reserved.
3 * Description: FLASH task shared definitions between the SCPU and A/PCPU.
4 */
5
6#ifndef FLASH_TASK_ETYPES_H
7#define FLASH_TASK_ETYPES_H
8
9#include "stdbool.h"
10#include "errcode.h"
11
12#ifdef __cplusplus
13#if __cplusplus
14extern "C" {
15#endif /* __cplusplus */
16#endif /* __cplusplus */
17
19#define FLASH_TASK_NODE_IDENTIFIER 0xd3a71f85
20
21/* Normal values of the flash_task_node.result field; anything else is an error being reported - must remain in sync
22 * with the SCPU soc_errno. The A/PCPU can use these defines in case they have a different set of error codes */
23#define FLASH_TASK_DISCARD 0x80002040
24#define FLASH_TASK_DISCARDED 0x80002041
25#define FLASH_TASK_READY 0x80002042
26#define FLASH_TASK_BEING_PROCESSED 0x80002043
27#define FLASH_TASK_COMPLETED 0x80003130
28
29#define FLASH_TASK_ERASE_ALL_MAGIC_VALUE_LEN 10
30
31typedef enum {
32 /* Create KV storage in flash memory */
34 /* A new or modification to an existing key-value */
36 /* Modify the attribute on an existing key-value */
38 /* Erase a key-value */
40 /* Write / overwrite some FOTA patch data in FLASH */
42 /* Erase some FOTA patch data in FLASH and re-write the FOTA header */
44 /* Write some data to ACPU storage in FLASH */
46 /* Erase some ACPU storage in FLASH */
48 /* Number of task types */
51
52
54typedef uint16_t kv_storage_key;
55
56typedef struct {
57 uint32_t kv_addr;
58 uint32_t kv_size;
60
61typedef struct {
62 const uint8_t *kvalue;
64 uint16_t kvalue_length;
65 uint8_t attribute;
68
73
77
81
82typedef struct {
83 /* Used to ensure erase all is not called by mistake. */
86
87typedef struct {
88 uint8_t *src; /* Mapped address in calling core memory map, can in RAM or FLASH. */
89 uint8_t *dst; /* Mapped address in calling core memory map FOTA FLASH region
90 * - must not include the FOTA header. */
91 uint16_t length;
93
94typedef struct {
95 uint32_t start_address; /* Core mapped address in FOTA FLASH region; must be at the start of a flash page. */
96 uint32_t length; /* Must be a multiple of the page size. */
98
107
109
118
122 /* Include any owner data to be available to the callback function upon execution. */
123};
124
165
166#ifdef __cplusplus
167#if __cplusplus
168}
169#endif /* __cplusplus */
170#endif /* __cplusplus */
171
172#endif /* _EXTERNAL_ETYPES_5GNBRBIV100_SHARED_FLASH_TASK_ETYPES_H */
173
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
#define FLASH_TASK_ERASE_ALL_MAGIC_VALUE_LEN
Definition nv_task_adapt.h:29
uint16_t kv_storage_key
Key type
Definition nv_task_adapt.h:54
flash_task_type_t
Definition nv_task_adapt.h:31
@ FLASH_TASK_FOTA_ERASE
Definition nv_task_adapt.h:43
@ FLASH_TASK_ACPU_DATA
Definition nv_task_adapt.h:45
@ FLASH_TASK_NUM_TYPES
Definition nv_task_adapt.h:49
@ FLASH_TASK_ACPU_ERASE
Definition nv_task_adapt.h:47
@ FLASH_TASK_KV_PAGE_INIT
Definition nv_task_adapt.h:33
@ FLASH_TASK_KV_ERASE
Definition nv_task_adapt.h:39
@ FLASH_TASK_FOTA_DATA
Definition nv_task_adapt.h:41
@ FLASH_TASK_KV_ATTRIBUTE
Definition nv_task_adapt.h:37
@ FLASH_TASK_KV_DATA
Definition nv_task_adapt.h:35
errcode_t(* flash_task_completed_callback)(errcode_t result, owner_callback *callback)
Flash task local callback from the flash_task_process_completed_task(...) function.
Definition nv_task_adapt.h:117
Definition nv_task_adapt.h:126
uint32_t checksum
Definition nv_task_adapt.h:163
volatile flash_task_node * next
Definition nv_task_adapt.h:130
flash_task_type_t task
Definition nv_task_adapt.h:159
owner_callback * owner_callback
Definition nv_task_adapt.h:138
volatile uint32_t state_code
Definition nv_task_adapt.h:157
task_node_data_t data
Definition nv_task_adapt.h:161
uint32_t identifier
Definition nv_task_adapt.h:128
Definition nv_task_adapt.h:87
uint8_t * dst
Definition nv_task_adapt.h:89
uint8_t * src
Definition nv_task_adapt.h:88
uint16_t length
Definition nv_task_adapt.h:91
Definition nv_task_adapt.h:94
uint32_t length
Definition nv_task_adapt.h:96
uint32_t start_address
Definition nv_task_adapt.h:95
Definition nv_task_adapt.h:69
uint8_t attribute
Definition nv_task_adapt.h:71
kv_storage_key key
Definition nv_task_adapt.h:70
Definition nv_task_adapt.h:78
kv_storage_key key
Definition nv_task_adapt.h:79
Definition nv_task_adapt.h:61
uint8_t attribute
Definition nv_task_adapt.h:65
kv_storage_key key
Definition nv_task_adapt.h:63
const uint8_t * kvalue
Definition nv_task_adapt.h:62
uint16_t kvalue_length
Definition nv_task_adapt.h:64
bool force_write
Definition nv_task_adapt.h:66
Definition nv_task_adapt.h:74
kv_storage_key key
Definition nv_task_adapt.h:75
Definition nv_task_adapt.h:56
uint32_t kv_size
Definition nv_task_adapt.h:58
uint32_t kv_addr
Definition nv_task_adapt.h:57
Definition nv_task_adapt.h:82
Definition nv_task_adapt.h:119
flash_task_completed_callback func
Definition nv_task_adapt.h:121
Definition nv_task_adapt.h:99
flash_task_kv_erase_t kv_erase
Definition nv_task_adapt.h:103
flash_task_flash_data_t flash
Definition nv_task_adapt.h:104
flash_task_kv_attribute_t kv_attribute
Definition nv_task_adapt.h:102
flash_task_flash_erase_t flash_erase
Definition nv_task_adapt.h:105
flash_task_kv_init_t kv_region
Definition nv_task_adapt.h:100
flash_task_kv_data_t kv
Definition nv_task_adapt.h:101