CI13LC SDK API手册  2.1.1
本手册用于描述CI13LC SDK各个组件和驱动API
ci_flash_data_info.h
浏览该文件的文档.
1 
11 #ifndef _CI_FALSH_DATA_INFO_H_
12 #define _CI_FALSH_DATA_INFO_H_
13 
14 #include <stdbool.h>
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 
21 #define FILECONFIG_SPIFLASH_START_ADDR (0x2000)
22 
23 #define COMMAND_INFO_FILE_ID 60000
24 #define VOICE_PRINT_DNN_ID 60001
25 
26 
27 
28 #pragma pack(1)
29 typedef struct
30 {
31  uint32_t manu_facturer_id; //32Bit
32  uint32_t product_id[2]; //64Bit (MAC Address)
33 //
34  uint32_t hard_ware_name[16]; //String
35  uint32_t hard_ware_version; //Vm.n.x.y
36  uint32_t soft_ware_name[16]; //String,Exporting to Packet file name
37  uint32_t soft_ware_version; //Vm.n.x.y
38 //
39  uint32_t bootloader_version; //Vm.n.x.y
40  char ChipName[9];
42  uint8_t reserve[4];
43 //
46  uint32_t user_code1_size;
47  uint32_t user_code1_crc;
49 //
52  uint32_t user_code2_size;
53  uint32_t user_code2_crc;
55 //
61 //
63  uint32_t dnn_model_offset;
64  uint32_t dnn_model_size;
65  uint32_t dnn_model_crc;
67 //
68  uint32_t voice_version;
69  uint32_t voice_offset;
70  uint32_t voice_size;
71  uint32_t voice_crc;
72  uint8_t voice_status;
73 //
75  uint32_t user_file_offset;
76  uint32_t user_file_size;
77  uint32_t user_file_crc;
79 //
80  uint32_t nv_data_offset;
81  uint32_t nv_data_size;
82 
84  //uint32_t partition_table_crc32;
86 #pragma pack()
87 
88 
89 #pragma pack(1)
90 typedef struct
91 {
92  uint16_t file_id;
93  uint32_t file_addr;
94  uint32_t file_size;
96 
97 typedef struct
98 {
99  uint16_t file_number;
100  file_header_t file_header[1];
101 }file_table_t; //此结构当作变长数组用
102 
103 typedef struct
104 {
105  uint16_t group_id;
106  uint32_t group_addr;
108 
109 typedef struct
110 {
111  uint16_t group_number;
112  group_header_t group_header[1];
113 }group_table_t; //此结构当作变长数组用
114 
115 typedef struct
116 {
120 
121 #pragma pack()
122 
123 extern uint32_t ci_flash_data_info_init(uint8_t default_model_group_id);
124 
125 extern uint32_t get_current_model_addr(uint32_t *p_dnn_addr, uint32_t *p_dnn_size, uint32_t *p_asr_addr, uint32_t *p_addr_size);
126 
127 extern uint32_t get_group_addr(uint32_t partition_addr, uint16_t group_id);
128 
129 extern uint32_t get_file_addr(uint32_t group_addr, uint16_t file_id, uint32_t *p_file_addr, uint32_t *p_file_size);
130 
131 extern uint32_t get_dnn_addr_by_id(uint16_t dnn_file_id, uint32_t *p_dnn_addr, uint32_t *p_dnn_size);
132 
133 extern file_table_t * get_file_table(uint32_t group_addr);
134 
135 extern void release_file_table(file_table_t * p_file_table);
136 
137 extern int32_t get_fw_version(product_version_t *product_version);
138 
139 extern uint32_t get_userfile_addr(uint16_t file_id, uint32_t *p_file_addr, uint32_t *p_file_size);
140 
142 
143 extern uint32_t cached_flash_reader_init(uint32_t start_addr_in_flash);
144 
145 extern uint32_t cached_flash_reader_read(int32_t read_offset, uint8_t *read_buffer, uint32_t read_length);
146 
147 extern uint32_t cached_flash_reader_destroy();
148 
149 
150 
151 extern uint32_t cached_flash_reader_init(uint32_t start_addr_in_flash);
152 
153 extern uint32_t cached_flash_reader_read(int32_t read_offset, uint8_t *read_buffer, uint32_t read_length);
154 
155 extern uint32_t cached_flash_reader_destroy();
156 
157 extern uint32_t get_asr_addr_by_id(int asr_id, uint32_t *p_asr_addr, uint32_t *p_asr_size);
158 
159 extern uint32_t get_voice_addr_by_id(uint16_t * voice_id_buffer, uint32_t * voice_addr_buffer, uint32_t voice_num);
160 
161 void is_ci_flash_data_info_inited(bool* state);
163 
164 #ifdef __cplusplus
165 }
166 #endif
167 
168 #endif
169 
uint8_t user_code1_status
Definition: ci_flash_data_info.h:48
uint16_t file_id
Definition: ci_flash_data_info.h:92
Definition: ci_flash_data_info.h:97
uint32_t user_file_offset
Definition: ci_flash_data_info.h:75
uint8_t dnn_model_status
Definition: ci_flash_data_info.h:66
uint32_t voice_crc
Definition: ci_flash_data_info.h:71
uint32_t voice_version
Definition: ci_flash_data_info.h:68
uint32_t get_asr_addr_by_id(int asr_id, uint32_t *p_asr_addr, uint32_t *p_asr_size)
Definition: ci_flash_data_info.c:316
uint32_t user_code1_crc
Definition: ci_flash_data_info.h:47
uint32_t manu_facturer_id
Definition: ci_flash_data_info.h:31
uint8_t asr_cmd_model_status
Definition: ci_flash_data_info.h:60
file_table_t * get_file_table(uint32_t group_addr)
Definition: ci_flash_data_info.c:91
partition_table_t * get_partition_table(void)
Definition: ci_flash_data_info.c:436
int32_t get_fw_version(product_version_t *product_version)
Get the fw version object
Definition: ci_flash_data_info.c:44
uint8_t user_code2_status
Definition: ci_flash_data_info.h:54
uint32_t nv_data_size
Definition: ci_flash_data_info.h:81
uint32_t voice_size
Definition: ci_flash_data_info.h:70
uint32_t dnn_model_version
Definition: ci_flash_data_info.h:62
uint32_t group_addr
Definition: ci_flash_data_info.h:106
Definition: ci_flash_data_info.h:90
uint32_t dnn_model_offset
Definition: ci_flash_data_info.h:63
uint16_t file_number
Definition: ci_flash_data_info.h:99
Definition: ci_flash_data_info.h:109
uint32_t asr_cmd_model_version
Definition: ci_flash_data_info.h:56
uint32_t user_file_size
Definition: ci_flash_data_info.h:76
uint32_t asr_cmd_model_offset
Definition: ci_flash_data_info.h:57
uint32_t get_file_addr(uint32_t group_addr, uint16_t file_id, uint32_t *p_file_addr, uint32_t *p_file_size)
Definition: ci_flash_data_info.c:119
uint16_t group_number
Definition: ci_flash_data_info.h:111
uint32_t user_code2_crc
Definition: ci_flash_data_info.h:53
uint32_t soft_ware_version
Definition: ci_flash_data_info.h:37
uint8_t voice_status
Definition: ci_flash_data_info.h:72
uint32_t get_current_model_addr(uint32_t *p_dnn_addr, uint32_t *p_dnn_size, uint32_t *p_asr_addr, uint32_t *p_addr_size)
Definition: ci_flash_data_info.c:381
uint32_t dnn_model_size
Definition: ci_flash_data_info.h:64
uint32_t user_file_version
Definition: ci_flash_data_info.h:74
uint32_t file_addr
Definition: ci_flash_data_info.h:93
uint8_t FirmwareFormatVer
Definition: ci_flash_data_info.h:41
uint32_t get_group_addr(uint32_t partition_addr, uint16_t group_id)
Definition: ci_flash_data_info.c:55
uint32_t user_code2_size
Definition: ci_flash_data_info.h:52
uint32_t get_dnn_addr_by_id(uint16_t dnn_file_id, uint32_t *p_dnn_addr, uint32_t *p_dnn_size)
Definition: ci_flash_data_info.c:306
uint32_t user_code1_version
Definition: ci_flash_data_info.h:44
uint32_t user_code2_version
Definition: ci_flash_data_info.h:50
uint32_t get_voice_addr_by_id(uint16_t *voice_id_buffer, uint32_t *voice_addr_buffer, uint32_t voice_num)
Definition: ci_flash_data_info.c:353
uint32_t ci_flash_data_info_init(uint8_t default_model_group_id)
Definition: ci_flash_data_info.c:227
void is_ci_flash_data_info_inited(bool *state)
uint32_t cached_flash_reader_read(int32_t read_offset, uint8_t *read_buffer, uint32_t read_length)
Definition: ci_flash_data_info.c:470
uint32_t user_code2_offset
Definition: ci_flash_data_info.h:51
uint32_t user_file_crc
Definition: ci_flash_data_info.h:77
uint32_t nv_data_offset
Definition: ci_flash_data_info.h:80
Definition: ci_flash_data_info.h:29
uint32_t hard_ware_version
Definition: ci_flash_data_info.h:35
uint32_t user_code1_size
Definition: ci_flash_data_info.h:46
uint16_t patitiontablechecksum
Definition: ci_flash_data_info.h:83
Definition: ci_flash_data_info.h:115
void release_file_table(file_table_t *p_file_table)
Definition: ci_flash_data_info.c:114
uint32_t cached_flash_reader_init(uint32_t start_addr_in_flash)
Definition: ci_flash_data_info.c:454
uint32_t get_userfile_addr(uint16_t file_id, uint32_t *p_file_addr, uint32_t *p_file_size)
Definition: ci_flash_data_info.c:420
uint32_t user_code1_offset
Definition: ci_flash_data_info.h:45
uint32_t dnn_model_crc
Definition: ci_flash_data_info.h:65
Definition: ci_flash_data_info.h:103
uint32_t bootloader_version
Definition: ci_flash_data_info.h:39
void set_ci_flash_data_info_init_flag(void)
uint32_t file_size
Definition: ci_flash_data_info.h:94
uint32_t voice_offset
Definition: ci_flash_data_info.h:69
uint32_t asr_cmd_model_crc
Definition: ci_flash_data_info.h:59
uint32_t asr_cmd_model_size
Definition: ci_flash_data_info.h:58
uint8_t user_file_status
Definition: ci_flash_data_info.h:78
uint16_t group_id
Definition: ci_flash_data_info.h:105
uint32_t cached_flash_reader_destroy()
Definition: ci_flash_data_info.c:526