The Fourth version

This commit is contained in:
Qiea
2024-11-01 22:41:26 +08:00
parent d07267405e
commit eb98aab21e
83 changed files with 20772 additions and 20539 deletions

View File

@@ -1,4 +1,5 @@
#include "malloc.h" #include "malloc.h"
#include "debug.h"
////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
//ALIENTEK STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //ALIENTEK STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -73,8 +74,8 @@ u16 my_mem_perused(u8 memx)
{ {
if(mallco_dev.memmap[memx][i])used++; if(mallco_dev.memmap[memx][i])used++;
} }
printf("\r\nmy_mem_perused used:%d",used); //DEBUG_PRINTF("\r\nmy_mem_perused used:%d",used);
printf("\r\nmy_mem_perused memtblsize[%d]:%d",memx,memtblsize[memx]); //DEBUG_PRINTF("\r\nmy_mem_perused memtblsize[%d]:%d",memx,memtblsize[memx]);
return (used*1000)/(memtblsize[memx]); return (used*1000)/(memtblsize[memx]);
} }
//<2F>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>(<28>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>) //<2F>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>(<28>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>)

View File

@@ -1,6 +1,6 @@
#include "cnn.h" #include "cnn.h"
u8 isrun;
/*<2A><><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>*/ /*<2A><><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>*/
void PrintfArray(float *array, int array_num, int elements_per_line) void PrintfArray(float *array, int array_num, int elements_per_line)
@@ -266,12 +266,20 @@ int calculate_probabilities(float *input_array, float *output_array, int input_n
} }
void _cnn_run(){
isrun = 1;
}
void cnn_run(){ void cnn_run(){
printf("CNNģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n"); printf("CNNģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\nData<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD>Ϊ<EFBFBD><EFBFBD>%s\r\n",data.dname);
DEBUG_PRINTF("data[%d]: %f\r\n",0,data.array[0]);
for(int i=0;i<10;i++)printf("data[%d]: %f\r\n",i,data.array[i]); DEBUG_PRINTF("data[%d]: %f\r\n",1,data.array[1]);
printf("<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>һ<EFBFBD>\r\n"); DEBUG_PRINTF("data[%d]: %f\r\n",2,data.array[2]);
DEBUG_PRINTF("data[%d]: %f\r\n",299,data.array[299]);
DEBUG_PRINTF("data[%d]: %f\r\n",300,data.array[300]);
DEBUG_PRINTF("data[%d]: %f\r\n",301,data.array[301]);
DEBUG_PRINTF("<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>һ<EFBFBD>\r\n");
//1 //1
float* Full_output1 = (float*)mymalloc(SRAMEX, sizeof(float) * 102 * 102); float* Full_output1 = (float*)mymalloc(SRAMEX, sizeof(float) * 102 * 102);
Full(data.array, 100, Full_output1); Full(data.array, 100, Full_output1);
@@ -297,7 +305,7 @@ void cnn_run(){
for (int i = 0; i < 32; i++) { for (int i = 0; i < 32; i++) {
Pooling(Convolution_result1[i], 100, 2, 2, Pooling_result1[i]); Pooling(Convolution_result1[i], 100, 2, 2, Pooling_result1[i]);
} }
printf("<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>\r\n"); DEBUG_PRINTF("<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>\r\n");
//2 //2
myfree(SRAMEX, Full_output1); myfree(SRAMEX, Full_output1);
free2DArray(Convolution_result1_relu,32); free2DArray(Convolution_result1_relu,32);
@@ -334,7 +342,7 @@ void cnn_run(){
for (int i = 0; i < 64; i++) { for (int i = 0; i < 64; i++) {
Pooling(Convolution_result2[i], 50, 2, 2, Pooling_result2[i]); Pooling(Convolution_result2[i], 50, 2, 2, Pooling_result2[i]);
} }
printf("<EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>\r\n"); DEBUG_PRINTF("<EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>\r\n");
//3 //3
myfree(SRAMEX, Full_output2); myfree(SRAMEX, Full_output2);
free2DArray(Pooling_result1,32); free2DArray(Pooling_result1,32);
@@ -375,7 +383,7 @@ void cnn_run(){
} }
float* xi = (float*)mymalloc(SRAMEX, sizeof(float) * 128 * 12 * 12); float* xi = (float*)mymalloc(SRAMEX, sizeof(float) * 128 * 12 * 12);
Flatten2D(Pooling_result3, 128, 12, xi); Flatten2D(Pooling_result3, 128, 12, xi);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>\r\n"); DEBUG_PRINTF("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>\r\n");
//4 //4
myfree(SRAMEX, Full_output3); myfree(SRAMEX, Full_output3);
free2DArray(Pooling_result2,64); free2DArray(Pooling_result2,64);
@@ -383,30 +391,44 @@ void cnn_run(){
free2DArray(Convolution_result3_relu,128); free2DArray(Convolution_result3_relu,128);
free2DArray(Convolution_result3_before,128); free2DArray(Convolution_result3_before,128);
free2DArray(Convolution_result3,128); free2DArray(Convolution_result3,128);
float yi[128] = {0};
//float yi[128] = {0};
float *yi = (float *)mymalloc(SRAMEX, 128 * sizeof(float));
memset(yi, 0, 128 * sizeof(float));
for (int i = 0; i < 128; i++) { for (int i = 0; i < 128; i++) {
float sum = 0; float sum = 0;
float* fc1_weight_new = (float*)mymalloc(SRAMEX, sizeof(float) * 128 * 12 * 12); float* fc1_weight_new = (float*)mymalloc(SRAMEX, sizeof(float) * 128 * 12 * 12);
memcpy(fc1_weight_new,&fc1_weight.array[i*128*12*12],128*12*12 * sizeof(float)); memcpy(fc1_weight_new,&fc1_weight.array[i*128*12*12],128*12*12 * sizeof(float));
sum = ConnectedLayer(xi, 128 * 12 * 12, fc1_weight_new, fc1_bias.array[i]); sum = ConnectedLayer(xi, 128 * 12 * 12, fc1_weight_new, fc1_bias.array[i]);
yi[i] = ReLU2(sum); yi[i] = ReLU2(sum);
myfree(SRAMEX, fc1_weight_new);
} }
PrintfArray(yi,128,128);
//printf("\n"); //printf("\n");
printf("<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>\r\n"); DEBUG_PRINTF("<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>\r\n");
//PrintfArray(yi,128,128);
//5 //5
free2DArray(Pooling_result3,128); free2DArray(Pooling_result3,128);
float zi[7] = { 0 };
//float zi[7] = { 0 };
float *zi = (float *)mymalloc(SRAMEX, 7 * sizeof(float));
memset(yi, 0, 7 * sizeof(float));
for (int i = 0; i < 7; i++) { for (int i = 0; i < 7; i++) {
float fc2_weight_new[128]; float fc2_weight_new[128];
memcpy(fc2_weight_new,&fc2_weight.array[i*128],128 * sizeof(float)); memcpy(fc2_weight_new,&fc2_weight.array[i*128],128 * sizeof(float));
zi[i] = ConnectedLayer(yi, 128, fc2_weight_new, fc2_bias.array[i]); zi[i] = ConnectedLayer(yi, 128, fc2_weight_new, fc2_bias.array[i]);
} }
DEBUG_PRINTF("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>\r\n");
PrintfArray(zi,7,7); PrintfArray(zi,7,7);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>\r\n");
//end //end
float result[7]; float *result = (float *)mymalloc(SRAMEX, 7 * sizeof(float));
int max_probability_idx = calculate_probabilities(zi,result,7); int max_probability_idx = calculate_probabilities(zi,result,7);
PrintfArray(result,7,7); PrintfArray(result,7,7);
printf("%f, Label %d", result[max_probability_idx - 1] * 100, max_probability_idx); printf("%f, Label %d\r\n", result[max_probability_idx - 1] * 100, max_probability_idx);
myfree(SRAMEX, xi);
myfree(SRAMEX, yi);
myfree(SRAMEX, zi);
myfree(SRAMEX, result);
isrun = 0;
} }

View File

@@ -4,6 +4,8 @@
#include <math.h> #include <math.h>
#include "my.h" #include "my.h"
extern u8 isrun;
void PrintfArray(float *array, int array_num, int elements_per_line); void PrintfArray(float *array, int array_num, int elements_per_line);
void **allocate2DArray(int depth, int num, size_t elementSize); void **allocate2DArray(int depth, int num, size_t elementSize);
void free2DArray(float **array, int depth); void free2DArray(float **array, int depth);
@@ -20,6 +22,7 @@ void AddBias(float *inputArray, int input_num, float bias, float *outputArray);
int calculate_probabilities(float *input_array, float *output_array, int input_num); int calculate_probabilities(float *input_array, float *output_array, int input_num);
void generateMatrix(float *get_data, float Max_value, int totalPoints, float CNN_data[100][100]); void generateMatrix(float *get_data, float Max_value, int totalPoints, float CNN_data[100][100]);
void _cnn_run(void);
void cnn_run(void); void cnn_run(void);
#endif #endif

View File

@@ -15,7 +15,7 @@ void DEBUG(){
void DEBUG_PRINT(const char *fmt, ...) { void DEBUG_PRINTF(const char *fmt, ...) {
if(_DEBUG){ if(_DEBUG){
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
@@ -30,15 +30,15 @@ void SDRAM_USED(){
u8 RAM_ID = 0; u8 RAM_ID = 0;
u16 memused = 0; u16 memused = 0;
u8 paddr[20]; u8 paddr[20];
memused=my_mem_perused(RAM_ID++);
sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
printf("\r\nSRAMʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%s\r\n",paddr);
memused=my_mem_perused(RAM_ID++);
sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
printf("SDRAMʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%s\r\n",paddr);
memused=my_mem_perused(RAM_ID); memused=my_mem_perused(RAM_ID);
sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10); sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
printf("[%d] %dʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%s\r\n",memused,RAM_ID++,paddr); printf("CCMʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%s\r\n",paddr);
memused=my_mem_perused(RAM_ID);
sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
printf("[%d] %dʹ<64><CAB9><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%s\r\n",memused,RAM_ID++,paddr);
memused=my_mem_perused(RAM_ID);
sprintf((char*)paddr,"%d.%01d%%",memused/10,memused%10);
printf("[%d] %dʹ<64><CAB9><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>%s\r\n",memused,RAM_ID++,paddr);
} }

View File

@@ -6,6 +6,6 @@
#include "malloc.h" #include "malloc.h"
void DEBUG(void); void DEBUG(void);
void DEBUG_PRINT(const char *fmt, ...); void DEBUG_PRINTF(const char *fmt, ...);
void SDRAM_USED(void); void SDRAM_USED(void);
void TIM3_Init(u16 arr,u16 psc); void TIM3_Init(u16 arr,u16 psc);

308
MY/my.c
View File

@@ -15,6 +15,7 @@ Model fc2_weight;
Model data; Model data;
float* modelmym_init(char* model_name){ float* modelmym_init(char* model_name){
if(conv1_bias.array == NULL && strcmp(model_name, "conv1_bias") == 0) if(conv1_bias.array == NULL && strcmp(model_name, "conv1_bias") == 0)
return conv1_bias.array = (float*)mymalloc(SRAMEX, CONV1_BIAS_ARRSIZE * sizeof(float)); return conv1_bias.array = (float*)mymalloc(SRAMEX, CONV1_BIAS_ARRSIZE * sizeof(float));
@@ -117,7 +118,7 @@ u8 modelmym_free(char* model_name){
fc2_weight.realength = NULL; fc2_weight.realength = NULL;
return 1; return 1;
} }
else if(data.array != NULL && strcmp(model_name, "fc2_weight") == 0){ else if(data.array != NULL && strcmp(model_name, "data") == 0){
myfree(SRAMEX,data.array); myfree(SRAMEX,data.array);
data.array = NULL; data.array = NULL;
data.realength = NULL; data.realength = NULL;
@@ -159,165 +160,165 @@ u8 model_write(char* model_name)
model_info("all"); model_info("all");
SDRAM_USED(); SDRAM_USED();
}else { }else{
u8 res=0; u8 res=0;
u8 _times=0;
u32 _larr = 0; u32 _larr = 0;
char _tmp[11] = ""; u8 _len = strlen(model_name);
char _path[20] = {0}; char _path[_len+1+7+30];
char buffer[2] = {0}; char _fstr[READLENGTH+1] = {0};
char _sstr[2];
int progress; int progress;
Model *_model = model(model_name);
Model *_model = NULL; printf("\r\n");
if(_model == NULL || strcmp(model_name, "data") == 0){
if(model(model_name)){ sprintf(_path, "0:/%s.txt", model_name);
_model = model(model_name); if(f_open(file, (const TCHAR *)_path, 1)){
sprintf(_path, "0:/%s.txt",_model -> name); DEBUG_PRINTF("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>ģ<EFBFBD>ͻ<EFBFBD>Data<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n");
if(f_open(file,(const TCHAR*)_path,1)){ return 199;
DEBUG_PRINT("\r\n<EFBFBD>ļ<EFBFBD>[%s]<5D><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>\r\n",_path); }else{
return 200;
}
}
else{
sprintf(_path, "0:/%s.txt",model_name);
if(f_open(file,(const TCHAR*)_path,1)){
DEBUG_PRINT("\r\n<EFBFBD>ļ<EFBFBD>[%s]<5D><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>\r\n",_path);
return 200;
}
_model = model("data"); _model = model("data");
_model -> dname = model_name; _model -> dname = model_name;
*_tmp = NULL;
} }
DEBUG_PRINT("\r\n<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%s\r\n",_path);
if(_model -> array == NULL)modelmym_init(_model -> name);
if(_model -> array == NULL){
DEBUG_PRINT("\r\n<EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD>ȡģ<EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>[%s]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",_model -> name);
return 201;
} }
if(_model -> dname) DEBUG_PRINT("ʹ<EFBFBD>õ<EFBFBD>data<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD>Ϊ<EFBFBD><EFBFBD>%s\r\n",_model -> dname);
else DEBUG_PRINT("ģ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%s\r\n",_model -> name); if(_model -> dname == NULL){
printf("\r\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>%s<><73><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD>......\r\n",_model -> name); sprintf(_path, "0:/%s.txt", _model -> name);
while(_larr < _model -> maxlength){ if(f_open(file, (TCHAR *)_path, 1)){
res=f_read(file,fatbuf,11*1,&br); DEBUG_PRINTF("Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>ͣ<EFBFBD>[%s]\r\n", _path);
return 4;
}
}
if(_model -> array == NULL && modelmym_init(_model -> name) == NULL){
DEBUG_PRINTF("<EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>[%s]<5D><><EFBFBD><EFBFBD><EFBFBD>鵽SDRAM<41><4D>\r\n", _model -> name);
return 200;
}
DEBUG_PRINTF("д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD>%s\r\n", _model -> name);
if(_model -> dname)DEBUG_PRINTF("д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Data<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD>ǣ<EFBFBD>%s\r\n", _model -> dname);
DEBUG_PRINTF("д<EFBFBD><EFBFBD>ģ<EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD>Ϊ<EFBFBD><EFBFBD>%d\r\n", _model -> maxlength);
DEBUG_PRINTF("Ŀǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%d\r\n", _model -> realength);
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ģ<EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>'%s'<27><><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD>......\r\n",_model -> dname ? _model -> dname : _model -> name);
while(1){
res = f_read(file, fatbuf, READLENGTH ,&br);
if(res){ if(res){
DEBUG_PRINT("<EFBFBD><EFBFBD>ȡ[%s]<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>:%d\r\n",_path,res); DEBUG_PRINTF("<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%d\r\n",res);
return 202; return res;
}
else{
for(u32 i=0;i<br;i++){
if(fatbuf[i]==0x0d){
float value = atof(_tmp);
*_tmp = NULL;
_model -> array[_larr++] = value;
//DEBUG_PRINT("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[string]: %s\r\n",i,_readtmp);
//DEBUG_PRINT("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[float]: %f\r\n",i+1,value);
}else{ }else{
sprintf(buffer, "%c", fatbuf[i]); for(int i=0; i < br; i++){
strcat(_tmp, buffer); if(fatbuf[i] == 0x0d){
//DEBUG_PRINT("[%d]: %c\r\n",i,fatbuf[i]); float _fvalue = atof(_fstr);
_model -> array[_larr++] = _fvalue;
//DEBUG_PRINTF("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[string]: %s\r\n<>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[float]: %f\r\n",i,_fstr,_fvalue);
i++;
*_fstr = NULL;
_model -> realength = _larr; //_larr<72><72><EFBFBD><EFBFBD>ֵΪģ<CEAA><C4A3><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD>
if(_larr >= _model -> maxlength)break;
}else{
sprintf(_sstr, "%c", fatbuf[i]);
strcat(_fstr, _sstr);
//DEBUG_PRINTF("[%d]_fstr is[%s], _sstr is[%s], fatbuf is [%c]\r\n",i,_fstr,_sstr,fatbuf[i]);
} }
} }
if(_model -> maxlength >= 73728 && (_larr % (_model -> maxlength/10) == 0 || _larr >= _model -> maxlength || _larr == 1)) { if(_model -> maxlength >= 73728 && (_larr >= (_model -> maxlength/10)*_times)){
progress = _larr >= _model -> maxlength ? 100 : _larr == 1 ? 0 : progress + 10; progress = _larr >= _model -> maxlength ? 100 : _times++ == 0 ? 0 : progress + 10;
DEBUG_PRINT("\r\n["); printf("\r\n[");
for(u16 j=0; j<50;j++){ for(u16 j=0; j<50;j++){
if(j < progress/2) printf("="); if(j < progress/2) printf("=");
else DEBUG_PRINT(" "); else printf(" ");
} }
printf("] %d%%", progress); printf("] %d%%", progress);
} }
if(_larr >= _model -> maxlength)break;
} }
} }
_model -> realength = _larr; //_larr<72><72><EFBFBD><EFBFBD>ֵΪģ<CEAA><C4A3><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD> DEBUG_PRINTF("\r\nģ<EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>[%s]<5D><>д<EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>! ģ<>ͳ<EFBFBD><CDB3><EFBFBD>Ϊ %d\r\n",_model -> dname ? _model -> dname : _model -> name,_model -> realength);
DEBUG_PRINT("\r\n[%s]<5D><>ģ<EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>! ģ<>ͳ<EFBFBD><CDB3><EFBFBD>Ϊ %d\r\n",_model -> name,_model -> realength); return 1;
return res;
} }
return NULL; return NULL;
} }
void model_read(char* model_name, u32 gap){ u8 model_read(char* model_name, u32 start, u32 end, u32 gap){
if(strcmp(model_name, "all") == 0){ if(strcmp(model_name, "all") == 0){
model_read("conv1_bias", gap); model_read("conv1_bias", start, end, gap);
model_read("conv1_weight", gap); model_read("conv1_weight", start, end, gap);
model_read("conv2_bias", gap); model_read("conv2_bias", start, end, gap);
model_read("conv2_weight", gap); model_read("conv2_weight", start, end, gap);
model_read("conv3_bias", gap); model_read("conv3_bias", start, end, gap);
model_read("conv3_weight", gap); model_read("conv3_weight", start, end, gap);
model_read("fc1_bias", gap); model_read("fc1_bias", start, end, gap);
model_read("fc1_weight", gap); model_read("fc1_weight", start, end, gap);
model_read("fc2_bias", gap); model_read("fc2_bias", start, end, gap);
model_read("fc2_weight", gap); model_read("fc2_weight", start, end, gap);
model_read("data", gap); model_read("data", start, end, gap);
}else { }else{
Model *_model = model(model_name); Model *_model = model(model_name);
for (int i=0;i<((_model -> realength/gap)+(_model -> realength%gap ? 2 : 1));i++) if(_model == NULL || end == 0 || start > _model -> realength || end > _model -> realength)return NULL;
printf("\r\n%s_floatArray[%d]: %f",_model -> name,i*gap<_model -> realength ? i*gap : _model -> realength-1,i*gap<_model -> realength ? _model -> array[i*gap] : _model -> array[_model -> realength-1]); if(_model -> realength){
for (u32 i=0;i<((end > (_model -> realength) ? _model -> realength : (end-start))+(end > (_model -> realength) ? _model -> realength : (end-start)%gap ? 2 : 1));i+=gap)
printf("\r\n%s_floatArray[%d]: %f",_model->name,(i+start)<_model->realength ? i+start : _model->realength-1,(i+start)<_model->realength ? _model->array[i+start] : _model->array[_model -> realength-1]);
printf("\r\n"); printf("\r\n");
return 1;
} }
}
return NULL;
} }
u8 switch_data(char* data_name){ u8 model_switchdata(char* data_name){
char _path[20] = {0}; u8 _len = strlen(data_name);
char _path[_len+1+7];
if(data.array != NULL)modelmym_free("data");
sprintf(_path, "0:/%s.txt",data_name); sprintf(_path, "0:/%s.txt",data_name);
if(f_open(file,(const TCHAR*)_path,1)){ if(f_open(file,(const TCHAR*)_path,1)){
DEBUG_PRINT("\r\n<EFBFBD>ļ<EFBFBD>[%s]<5D><><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>\r\n",_path); DEBUG_PRINTF("\r\nData<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD>[%s]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n",data_name);
return 200; return NULL;
}else{
u8 _res = model_write(data_name);
if (_res == NULL) {
DEBUG_PRINTF("Data<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD>[%s]<5D>л<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>\r\n",data_name);
return NULL;
} }
else printf("Data<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD>[%s]<5D>л<EFBFBD><D0BB>ɹ<EFBFBD><C9B9><EFBFBD>\r\n",data_name);
DEBUG_PRINT("\r\n<EFBFBD>µ<EFBFBD>data<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%s",_path); DEBUG_PRINTF("data_name<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%d\r\n_path<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%d\r\n_pathΪ<EFBFBD><EFBFBD>%s\r\n",_len,sizeof(_path),_path);
model_write(data_name);
printf("<EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD> %s.txt\r\n",data_name);
return 1; return 1;
}
} }
void model_dataset(){
printf("\r\ndataset is: %s\r\n",data.dname);
}
u8 model_info(char* model_name){
u8 sd_read(u32 length, char* model_name, u32 gap) if(strcmp(model_name, "all") == 0){
{ model_info("conv1_bias");
u8 res=0; model_info("conv1_weight");
u32 _larr = 0; model_info("conv2_bias");
char _tmp[11] = ""; model_info("conv2_weight");
char _path[20] = {0}; model_info("conv3_bias");
model_info("conv3_weight");
float* floatArray = NULL; model_info("fc1_bias");
model_info("fc1_weight");
model_info("fc2_bias");
model_info("fc2_weight");
model_info("data");
return 1;
}else if(model(model_name)){
Model *_model = model(model_name); Model *_model = model(model_name);
printf("\r\nmodel.name is: %s\r\n",_model -> name);
if(length >= _model -> maxlength)length = _model -> maxlength -1; printf("model.array.address is: 0X%X\r\n",_model -> array);
floatArray = modelmym_init(model_name); printf("model.maxlength is: %d\r\n",_model -> maxlength);
if(floatArray == NULL){ printf("model.realength is: %d\r\n",_model -> realength);
DEBUG_PRINT("<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); //if(strcmp(_model -> name, "data") == 0)printf("dataset is: %s\r\n",_model -> dname); <20><EFBFBD><E2BAAF><EFBFBD><EFBFBD>BUG<55><47><EFBFBD><EFBFBD>model_dataset<65><74><EFBFBD><EFBFBD>
return 7; return 1;
} }
sprintf(_path, "0:/%s.txt",model_name); return NULL;
f_open(file,(const TCHAR*)_path,1);//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
while(_larr <= length){
res=f_read(file,fatbuf,11,&br);
if(res)DEBUG_PRINT("\r\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%d\r\n",res);
else{
for(u32 i=0;i<br;i++){
if(fatbuf[i]==0x0d){
float value = atof(_tmp);
memset(_tmp, 0, sizeof(_tmp));
floatArray[_larr++] = value;
DEBUG_PRINT("<EFBFBD>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[string]: %s\r\n",i,_tmp);
DEBUG_PRINT("<EFBFBD>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[float]: %f\r\n",i+1,value);
}else{
char buffer[2];
sprintf(buffer, "%c", fatbuf[i]);
strcat(_tmp, buffer);
DEBUG_PRINT("[%d]: %c\r\n",i,fatbuf[i]);
}
}
}
}
for (int i=0;i<((length/gap)+(length%gap ? 2 : 1));i++)
printf("\r\nfloatArray[%d]: %f",i*gap<=length ? i*gap : length,i*gap<=length ? floatArray[i*gap] : floatArray[length]);
printf("\r\n");
return res;
} }
@@ -339,30 +340,6 @@ void* model(char* model_name){
void model_info(char* model_name){
if(strcmp(model_name, "all") == 0){
model_info("conv1_bias");
model_info("conv1_weight");
model_info("conv2_bias");
model_info("conv2_weight");
model_info("conv3_bias");
model_info("conv3_weight");
model_info("fc1_bias");
model_info("fc1_weight");
model_info("fc2_bias");
model_info("fc2_weight");
model_info("data");
}else {
Model *_model = model(model_name);
printf("\r\nmodel.name is: %s\r\n",_model -> name);
printf("model.array.address is: 0X%X\r\n",_model -> array);
printf("model.maxlength is: %d\r\n",_model -> maxlength);
printf("model.realength is: %d\r\n",_model -> realength);
}
}
void model_init(){ void model_init(){
conv1_bias.name = "conv1_bias"; conv1_bias.name = "conv1_bias";
@@ -408,4 +385,51 @@ void model_init(){
data.name = "data"; data.name = "data";
data.array = modelmym_init(data.name); data.array = modelmym_init(data.name);
data.maxlength = DATA_ARRSIZE; data.maxlength = DATA_ARRSIZE;
data.dname = "data";
}
u8 sd_read(u32 length, char* model_name, u32 gap)
{
u8 res=0;
u32 _larr = 0;
char _tmp[11] = "";
char _path[20] = {0};
float* floatArray = NULL;
Model *_model = model(model_name);
if(length >= _model -> maxlength)length = _model -> maxlength -1;
floatArray = modelmym_init(model_name);
if(floatArray == NULL){
DEBUG_PRINTF("<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
return 7;
}
sprintf(_path, "0:/%s.txt",model_name);
f_open(file,(const TCHAR*)_path,1);//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
while(_larr <= length){
res=f_read(file,fatbuf,11,&br);
if(res)DEBUG_PRINTF("\r\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%d\r\n",res);
else{
for(u32 i=0;i<br;i++){
if(fatbuf[i]==0x0d){
float value = atof(_tmp);
memset(_tmp, 0, sizeof(_tmp));
floatArray[_larr++] = value;
DEBUG_PRINTF("<EFBFBD>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[string]: %s\r\n",i,_tmp);
DEBUG_PRINTF("<EFBFBD>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[float]: %f\r\n",i+1,value);
}else{
char buffer[2];
sprintf(buffer, "%c", fatbuf[i]);
strcat(_tmp, buffer);
DEBUG_PRINTF("[%d]: %c\r\n",i,fatbuf[i]);
}
}
}
}
for (int i=0;i<((length/gap)+(length%gap ? 2 : 1));i++)
printf("\r\nfloatArray[%d]: %f",i<=length ? i : length,i<=length ? floatArray[i] : floatArray[length]);
printf("\r\n");
return res;
} }

30
MY/my.h
View File

@@ -25,6 +25,7 @@ typedef struct {
#define READLENGTH 11*10
#define CONV1_BIAS_ARRSIZE 32 #define CONV1_BIAS_ARRSIZE 32
#define CONV1_WEIGHT_ARRSIZE 32*1*3*3 //288 #define CONV1_WEIGHT_ARRSIZE 32*1*3*3 //288
#define CONV2_BIAS_ARRSIZE 64 #define CONV2_BIAS_ARRSIZE 64
@@ -56,12 +57,13 @@ extern Model data;
float* modelmym_init(char* model_name); float* modelmym_init(char* model_name);
u8 modelmym_free(char* model_name); u8 modelmym_free(char* model_name);
u8 model_write(char* model_name); u8 model_write(char* model_name);
void model_read(char* model_name, u32 gap); u8 model_read(char* model_name, u32 start, u32 end, u32 gap);
u8 switch_data(char* data_name); u8 model_switchdata(char* model_name);
u8 sd_read(u32 length, char* model_name,u32 gap); void model_dataset(void);
u8 model_info(char* model_name);
void* model(char* model_name); void* model(char* model_name);
void model_info(char* model_name);
void model_init(void); void model_init(void);
u8 sd_read(u32 length, char* model_name,u32 gap);
@@ -104,23 +106,23 @@ for(u8 a; a<?; a++)
// { // {
// for(int i=0;i<length;i++){ // for(int i=0;i<length;i++){
// if(fatbuf[i]==0x0d){ // if(fatbuf[i]==0x0d){
// DEBUG_PRINT("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[string]: %s\r\n",i,_tmp); // DEBUG_PRINTF("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[string]: %s\r\n",i,_tmp);
// i++; // i++;
// float value = atof(_tmp); // float value = atof(_tmp);
// memset(_tmp, 0, sizeof(_tmp)); // memset(_tmp, 0, sizeof(_tmp));
// floatArray[_larr++] = value; // floatArray[_larr++] = value;
// DEBUG_PRINT("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[float]: %f\r\n",i,value); // DEBUG_PRINTF("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[float]: %f\r\n",i,value);
// }else{ // }else{
// char buffer[2]; // char buffer[2];
// sprintf(buffer, "%c", fatbuf[i]); // sprintf(buffer, "%c", fatbuf[i]);
// strcat(_tmp, buffer); // strcat(_tmp, buffer);
// DEBUG_PRINT("[%d]: %c\r\n",i,fatbuf[i]); // DEBUG_PRINTF("[%d]: %c\r\n",i,fatbuf[i]);
// } // }
// } // }
// } // }
// for (int i=0;i<_larr;i++){ // for (int i=0;i<_larr;i++){
// DEBUG_PRINT("floatArray[%d]: %f\r\n",i,floatArray[i]); // DEBUG_PRINTF("floatArray[%d]: %f\r\n",i,floatArray[i]);
// } // }
// return res; // return res;
//} //}
@@ -143,17 +145,17 @@ for(u8 a; a<?; a++)
// else{ // else{
// for(int i=0;i<br;i++){ // for(int i=0;i<br;i++){
// if(fatbuf[i]==0x0d){ // if(fatbuf[i]==0x0d){
// DEBUG_PRINT("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[string]: %s\r\n",i,_tmp); // DEBUG_PRINTF("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[string]: %s\r\n",i,_tmp);
// i++; // i++;
// float value = atof(_tmp); // float value = atof(_tmp);
// memset(_tmp, 0, sizeof(_tmp)); // memset(_tmp, 0, sizeof(_tmp));
// floatArray[_larr++] = value; // floatArray[_larr++] = value;
// DEBUG_PRINT("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[float]: %f\r\n",i,value); // DEBUG_PRINTF("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[float]: %f\r\n",i,value);
// }else{ // }else{
// char buffer[2]; // char buffer[2];
// sprintf(buffer, "%c", fatbuf[i]); // sprintf(buffer, "%c", fatbuf[i]);
// strcat(_tmp, buffer); // strcat(_tmp, buffer);
// DEBUG_PRINT("[%d]: %c\r\n",i,fatbuf[i]); // DEBUG_PRINTF("[%d]: %c\r\n",i,fatbuf[i]);
// } // }
// } // }
// } // }
@@ -165,17 +167,17 @@ for(u8 a; a<?; a++)
// else{ // else{
// for(int i=0;i<br;i++){ // for(int i=0;i<br;i++){
// if(fatbuf[i]==0x0d){ // if(fatbuf[i]==0x0d){
// DEBUG_PRINT("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[string]: %s\r\n",i,_tmp); // DEBUG_PRINTF("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[string]: %s\r\n",i,_tmp);
// i++; // i++;
// float value = atof(_tmp); // float value = atof(_tmp);
// memset(_tmp, 0, sizeof(_tmp)); // memset(_tmp, 0, sizeof(_tmp));
// floatArray[_larr++] = value; // floatArray[_larr++] = value;
// DEBUG_PRINT("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[float]: %f\r\n",i,value); // DEBUG_PRINTF("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[float]: %f\r\n",i,value);
// }else{ // }else{
// char buffer[2]; // char buffer[2];
// sprintf(buffer, "%c", fatbuf[i]); // sprintf(buffer, "%c", fatbuf[i]);
// strcat(_tmp, buffer); // strcat(_tmp, buffer);
// DEBUG_PRINT("[%d]: %c\r\n",i,fatbuf[i]); // DEBUG_PRINTF("[%d]: %c\r\n",i,fatbuf[i]);
// } // }
// } // }
// } // }

Binary file not shown.

View File

@@ -21,15 +21,15 @@ Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V2.0.18.0
Dialog DLL: TCM.DLL V1.14.14.0 Dialog DLL: TCM.DLL V1.14.14.0
<h2>Project:</h2> <h2>Project:</h2>
D:\Desktop\ʵ<><CAB5>41 FATFSʵ<53><CAB5> - <20><><EFBFBD><EFBFBD>\USER\FATFS.uvprojx D:\Desktop\ʵ<><CAB5>41 FATFSʵ<53><CAB5>\USER\FATFS.uvprojx
Project File Date: 10/23/2024 Project File Date: 10/27/2024
<h2>Output:</h2> <h2>Output:</h2>
*** Using Compiler 'V5.06 update 3 (build 300)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' *** Using Compiler 'V5.06 update 3 (build 300)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'FATFS' Build target 'FATFS'
compiling my.c... compiling cnn.c...
linking... linking...
Program Size: Code=68250 RO-data=195578 RW-data=808 ZI-data=33751536 Program Size: Code=69272 RO-data=195672 RW-data=796 ZI-data=33751548
FromELF: creating hex file... FromELF: creating hex file...
"..\OBJ\FATFS.axf" - 0 Error(s), 0 Warning(s). "..\OBJ\FATFS.axf" - 0 Error(s), 0 Warning(s).

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
Dependencies for Project 'FATFS', Target 'FATFS': (DO NOT MODIFY !) Dependencies for Project 'FATFS', Target 'FATFS': (DO NOT MODIFY !)
CompilerVersion: 5060300::V5.06 update 3 (build 300)::ARMCC CompilerVersion: 5060300::V5.06 update 3 (build 300)::ARMCC
F (.\main.c)(0x671923AE)(-c --cpu Cortex-M4.fp.sp -D__MICROLIB -g -O2 --apcs=interwork --split_sections -I ..\CORE -I ..\OBJ -I ..\USER -I ..\HALLIB\STM32F4xx_HAL_Driver\Inc -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\HARDWARE\LED -I ..\HARDWARE\KEY -I ..\HARDWARE\LCD -I ..\HARDWARE\SDRAM -I ..\HARDWARE\KEY -I ..\HARDWARE\SDIO -I ..\HARDWARE\SPI -I ..\HARDWARE\W25QXX -I ..\HARDWARE\NAND -I ..\MALLOC -I ..\USMART -I ..\FATFS\exfuns -I ..\FATFS\src -I ..\MY F (.\main.c)(0x671F364E)(-c --cpu Cortex-M4.fp.sp -D__MICROLIB -g -O2 --apcs=interwork --split_sections -I ..\CORE -I ..\OBJ -I ..\USER -I ..\HALLIB\STM32F4xx_HAL_Driver\Inc -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\HARDWARE\LED -I ..\HARDWARE\KEY -I ..\HARDWARE\LCD -I ..\HARDWARE\SDRAM -I ..\HARDWARE\KEY -I ..\HARDWARE\SDIO -I ..\HARDWARE\SPI -I ..\HARDWARE\W25QXX -I ..\HARDWARE\NAND -I ..\MALLOC -I ..\USMART -I ..\FATFS\exfuns -I ..\FATFS\src -I ..\MY
-I.\RTE\_FATFS -I.\RTE\_FATFS
@@ -80,7 +80,7 @@ I (..\HARDWARE\LCD\lcd.h)(0x61C3F55C)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_wwdg.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_wwdg.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_hcd.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_hcd.h)(0x57764068)
I (..\SYSTEM\delay\delay.h)(0x57764068) I (..\SYSTEM\delay\delay.h)(0x57764068)
I (..\SYSTEM\usart\usart.h)(0x577640E8) I (..\SYSTEM\usart\usart.h)(0x577640E8)
@@ -90,11 +90,11 @@ I (..\USMART\usmart.h)(0x57764068)
I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x574E3E26) I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x574E3E26)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26) I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
I (..\HARDWARE\SDRAM\sdram.h)(0x577640E8) I (..\HARDWARE\SDRAM\sdram.h)(0x577640E8)
I (..\MALLOC\malloc.h)(0x67179DA1) I (..\MALLOC\malloc.h)(0x671E40F9)
I (..\HARDWARE\W25QXX\w25qxx.h)(0x57764068) I (..\HARDWARE\W25QXX\w25qxx.h)(0x57764068)
I (..\FATFS\src\ff.h)(0x577640E7) I (..\FATFS\src\ff.h)(0x577640E7)
I (..\FATFS\src\integer.h)(0x577640E7) I (..\FATFS\src\integer.h)(0x577640E7)
I (..\FATFS\src\ffconf.h)(0x577640E7) I (..\FATFS\src\ffconf.h)(0x577640E7)
I (..\FATFS\exfuns\exfuns.h)(0x577640E7) I (..\FATFS\exfuns\exfuns.h)(0x577640E7)
I (..\USMART\usmart.h)(0x57764068) I (..\USMART\usmart.h)(0x57764068)
I (..\USMART\usmart_str.h)(0x57764068) I (..\USMART\usmart_str.h)(0x57764068)
@@ -246,7 +246,7 @@ F (..\CORE\cmsis_armcc.h)(0x57764068)()
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2s.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2s.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2s_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2s_ex.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_iwdg.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_iwdg.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_ltdc.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_ltdc.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_ltdc_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_ltdc_ex.h)(0x57764068)
@@ -2770,7 +2770,7 @@ I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc_ex.h)(0x57764068)
@@ -2847,7 +2847,7 @@ I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h)(0x57764068)
I (..\USER\system_stm32f4xx.h)(0x57764069) I (..\USER\system_stm32f4xx.h)(0x57764069)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x57764068)
I (..\USER\stm32f4xx_hal_conf.h)(0x57764069) I (..\USER\stm32f4xx_hal_conf.h)(0x57764069)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h)(0x57764068)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x574E3E26) I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x574E3E26)
@@ -2925,9 +2925,9 @@ I (..\HARDWARE\NAND\nand.h)(0x5B0F9EBE)
I (..\CORE\core_cm4.h)(0x57764068) I (..\CORE\core_cm4.h)(0x57764068)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x66E967A3) I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x66E967A3)
I (..\CORE\core_cmInstr.h)(0x57764068) I (..\CORE\core_cmInstr.h)(0x57764068)
I (..\CORE\cmsis_armcc.h)(0x57764068) I (..\CORE\cmsis_armcc.h)(0x57764068)
I (..\CORE\core_cmFunc.h)(0x57764068) I (..\CORE\core_cmFunc.h)(0x57764068)
I (..\CORE\core_cmSimd.h)(0x57764068) I (..\CORE\core_cmSimd.h)(0x57764068)
I (..\USER\system_stm32f4xx.h)(0x57764069) I (..\USER\system_stm32f4xx.h)(0x57764069)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x57764068)
I (..\USER\stm32f4xx_hal_conf.h)(0x57764069) I (..\USER\stm32f4xx_hal_conf.h)(0x57764069)
@@ -2999,6 +2999,10 @@ I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h)(0x57764068)
-IC:\Keil_v5\ARM\CMSIS\Include -IC:\Keil_v5\ARM\CMSIS\Include
-D__UVISION_VERSION="529" -DSTM32F429xx -DUSE_HAL_DRIVER -DSTM32F429xx --C99 -D__UVISION_VERSION="529" -DSTM32F429xx -DUSE_HAL_DRIVER -DSTM32F429xx --C99
-o ..\obj\w25qxx.o --omf_browse ..\obj\w25qxx.crf --depend ..\obj\w25qxx.d)
I (..\HARDWARE\W25QXX\w25qxx.h)(0x57764068)
I (..\SYSTEM\sys\sys.h)(0x577640E8)
I (..\USER\stm32f4xx.h)(0x57764069) I (..\USER\stm32f4xx.h)(0x57764069)
I (..\USER\stm32f429xx.h)(0x57764069) I (..\USER\stm32f429xx.h)(0x57764069)
I (..\CORE\core_cm4.h)(0x57764068) I (..\CORE\core_cm4.h)(0x57764068)
@@ -3074,7 +3078,7 @@ I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h)(0x57764068)
I (..\SYSTEM\usart\usart.h)(0x577640E8) I (..\SYSTEM\usart\usart.h)(0x577640E8)
F (..\HARDWARE\NAND\ftl.c)(0x577640E7)(-c --cpu Cortex-M4.fp.sp -D__MICROLIB -g -O2 --apcs=interwork --split_sections -I ..\CORE -I ..\OBJ -I ..\USER -I ..\HALLIB\STM32F4xx_HAL_Driver\Inc -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\HARDWARE\LED -I ..\HARDWARE\KEY -I ..\HARDWARE\LCD -I ..\HARDWARE\SDRAM -I ..\HARDWARE\KEY -I ..\HARDWARE\SDIO -I ..\HARDWARE\SPI -I ..\HARDWARE\W25QXX -I ..\HARDWARE\NAND -I ..\MALLOC -I ..\USMART -I ..\FATFS\exfuns -I ..\FATFS\src -I ..\MY F (..\HARDWARE\NAND\ftl.c)(0x577640E7)(-c --cpu Cortex-M4.fp.sp -D__MICROLIB -g -O2 --apcs=interwork --split_sections -I ..\CORE -I ..\OBJ -I ..\USER -I ..\HALLIB\STM32F4xx_HAL_Driver\Inc -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\HARDWARE\LED -I ..\HARDWARE\KEY -I ..\HARDWARE\LCD -I ..\HARDWARE\SDRAM -I ..\HARDWARE\KEY -I ..\HARDWARE\SDIO -I ..\HARDWARE\SPI -I ..\HARDWARE\W25QXX -I ..\HARDWARE\NAND -I ..\MALLOC -I ..\USMART -I ..\FATFS\exfuns -I ..\FATFS\src -I ..\MY
I (..\SYSTEM\delay\delay.h)(0x57764068) -I.\RTE\_FATFS
-IC:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.9.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.9.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include
@@ -3157,16 +3161,16 @@ I (..\FATFS\src\ffconf.h)(0x577640E7)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_hcd.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_hcd.h)(0x57764068)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26) I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
I (..\MALLOC\malloc.h)(0x671E40F9) I (..\MALLOC\malloc.h)(0x671E40F9)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h)(0x57764068) I (..\HARDWARE\NAND\nand.h)(0x5B0F9EBE)
I (..\SYSTEM\usart\usart.h)(0x577640E8) I (..\SYSTEM\usart\usart.h)(0x577640E8)
F (..\HARDWARE\NAND\nand.c)(0x5B0F9F61)(-c --cpu Cortex-M4.fp.sp -D__MICROLIB -g -O2 --apcs=interwork --split_sections -I ..\CORE -I ..\OBJ -I ..\USER -I ..\HALLIB\STM32F4xx_HAL_Driver\Inc -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\HARDWARE\LED -I ..\HARDWARE\KEY -I ..\HARDWARE\LCD -I ..\HARDWARE\SDRAM -I ..\HARDWARE\KEY -I ..\HARDWARE\SDIO -I ..\HARDWARE\SPI -I ..\HARDWARE\W25QXX -I ..\HARDWARE\NAND -I ..\MALLOC -I ..\USMART -I ..\FATFS\exfuns -I ..\FATFS\src -I ..\MY F (..\HARDWARE\NAND\nand.c)(0x5B0F9F61)(-c --cpu Cortex-M4.fp.sp -D__MICROLIB -g -O2 --apcs=interwork --split_sections -I ..\CORE -I ..\OBJ -I ..\USER -I ..\HALLIB\STM32F4xx_HAL_Driver\Inc -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\HARDWARE\LED -I ..\HARDWARE\KEY -I ..\HARDWARE\LCD -I ..\HARDWARE\SDRAM -I ..\HARDWARE\KEY -I ..\HARDWARE\SDIO -I ..\HARDWARE\SPI -I ..\HARDWARE\W25QXX -I ..\HARDWARE\NAND -I ..\MALLOC -I ..\USMART -I ..\FATFS\exfuns -I ..\FATFS\src -I ..\MY
I (..\HARDWARE\NAND\nand.h)(0x5B0F9EBE) -I.\RTE\_FATFS
I (..\SYSTEM\usart\usart.h)(0x577640E8)
-IC:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.9.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.9.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include
-IC:\Keil_v5\ARM\CMSIS\Include -IC:\Keil_v5\ARM\CMSIS\Include
-D__UVISION_VERSION="529" -DSTM32F429xx -DUSE_HAL_DRIVER -DSTM32F429xx --C99 -D__UVISION_VERSION="529" -DSTM32F429xx -DUSE_HAL_DRIVER -DSTM32F429xx --C99
-o ..\obj\nand.o --omf_browse ..\obj\nand.crf --depend ..\obj\nand.d) -o ..\obj\nand.o --omf_browse ..\obj\nand.crf --depend ..\obj\nand.d)
@@ -3328,10 +3332,10 @@ I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_hcd.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_hcd.h)(0x57764068)
I (..\HARDWARE\NAND\nand.h)(0x5B0F9EBE) I (..\HARDWARE\NAND\nand.h)(0x5B0F9EBE)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h)(0x57764068) I (..\HARDWARE\NAND\ftl.h)(0x577640E7)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26) I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
I (..\SYSTEM\usart\usart.h)(0x577640E8) I (..\SYSTEM\usart\usart.h)(0x577640E8)
I (..\HARDWARE\NAND\nand.h)(0x5B0F9EBE) I (..\MALLOC\malloc.h)(0x671E40F9)
F (..\MALLOC\malloc.c)(0x671D04DE)(-c --cpu Cortex-M4.fp.sp -D__MICROLIB -g -O2 --apcs=interwork --split_sections -I ..\CORE -I ..\OBJ -I ..\USER -I ..\HALLIB\STM32F4xx_HAL_Driver\Inc -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\HARDWARE\LED -I ..\HARDWARE\KEY -I ..\HARDWARE\LCD -I ..\HARDWARE\SDRAM -I ..\HARDWARE\KEY -I ..\HARDWARE\SDIO -I ..\HARDWARE\SPI -I ..\HARDWARE\W25QXX -I ..\HARDWARE\NAND -I ..\MALLOC -I ..\USMART -I ..\FATFS\exfuns -I ..\FATFS\src -I ..\MY F (..\MALLOC\malloc.c)(0x671D04DE)(-c --cpu Cortex-M4.fp.sp -D__MICROLIB -g -O2 --apcs=interwork --split_sections -I ..\CORE -I ..\OBJ -I ..\USER -I ..\HALLIB\STM32F4xx_HAL_Driver\Inc -I ..\SYSTEM\delay -I ..\SYSTEM\sys -I ..\SYSTEM\usart -I ..\HARDWARE\LED -I ..\HARDWARE\KEY -I ..\HARDWARE\LCD -I ..\HARDWARE\SDRAM -I ..\HARDWARE\KEY -I ..\HARDWARE\SDIO -I ..\HARDWARE\SPI -I ..\HARDWARE\W25QXX -I ..\HARDWARE\NAND -I ..\MALLOC -I ..\USMART -I ..\FATFS\exfuns -I ..\FATFS\src -I ..\MY
-I.\RTE\_FATFS -I.\RTE\_FATFS
@@ -3409,7 +3413,7 @@ I (..\FATFS\src\ff.h)(0x577640E7)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_usart.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_usart.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_irda.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_irda.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_smartcard.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_wwdg.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_wwdg.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h)(0x57764068)
@@ -3492,11 +3496,11 @@ I (..\USMART\usmart.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_sd.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_sd.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_sdmmc.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_sdmmc.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_usart.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_usart.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_irda.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_irda.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_smartcard.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_smartcard.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_wwdg.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_wwdg.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h)(0x57764068)
@@ -3577,13 +3581,13 @@ I (..\USMART\usmart.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_sd.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_sd.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_sdmmc.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_sdmmc.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_usart.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_usart.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_irda.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_irda.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_smartcard.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_smartcard.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_wwdg.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_wwdg.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h)(0x57764068)
@@ -3658,12 +3662,12 @@ I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_hcd.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_sram.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_sram.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_fmc.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_fmc.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_nor.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_nor.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_nand.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_nand.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pccard.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pccard.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_sdram.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_sdram.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_hash.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_hash.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2s.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2s.h)(0x57764068)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2s_ex.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2s_ex.h)(0x57764068)
@@ -3744,8 +3748,8 @@ I (..\USMART\usmart.h)(0x57764068)
I (..\CORE\core_cmInstr.h)(0x57764068) I (..\CORE\core_cmInstr.h)(0x57764068)
I (..\CORE\cmsis_armcc.h)(0x57764068) I (..\CORE\cmsis_armcc.h)(0x57764068)
I (..\CORE\core_cmFunc.h)(0x57764068) I (..\CORE\core_cmFunc.h)(0x57764068)
I (..\CORE\core_cmSimd.h)(0x57764068) I (..\CORE\core_cmSimd.h)(0x57764068)
I (..\USER\system_stm32f4xx.h)(0x57764069) I (..\USER\system_stm32f4xx.h)(0x57764069)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x57764068)
I (..\USER\stm32f4xx_hal_conf.h)(0x57764069) I (..\USER\stm32f4xx_hal_conf.h)(0x57764069)
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h)(0x57764068) I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h)(0x57764068)

View File

@@ -9,7 +9,7 @@ LR_IROM1 0x08000000 0x00100000 { ; load region size_region
.ANY (+RO) .ANY (+RO)
.ANY (+XO) .ANY (+XO)
} }
RW_IRAM1 0x20000000 0x00040000 { ; RW data RW_IRAM1 0x20000000 0x0003A000 { ; RW data
.ANY (+RW +ZI) .ANY (+RW +ZI)
} }
} }

Binary file not shown.

Binary file not shown.

BIN
OBJ/cnn.o

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
OBJ/ff.o

Binary file not shown.

Binary file not shown.

BIN
OBJ/ftl.o

Binary file not shown.

BIN
OBJ/key.o

Binary file not shown.

BIN
OBJ/lcd.o

Binary file not shown.

BIN
OBJ/led.o

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -72,3 +72,7 @@
..\obj\malloc.o: ..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h ..\obj\malloc.o: ..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h
..\obj\malloc.o: ..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h ..\obj\malloc.o: ..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h
..\obj\malloc.o: ..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_hcd.h ..\obj\malloc.o: ..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_hcd.h
..\obj\malloc.o: ..\MY\debug.h
..\obj\malloc.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdarg.h
..\obj\malloc.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdlib.h
..\obj\malloc.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h

Binary file not shown.

Binary file not shown.

BIN
OBJ/my.o

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
OBJ/spi.o

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
OBJ/sys.o

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -148,29 +148,95 @@
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F429IGTx$CMSIS\Flash\STM32F4xx_1024.FLM))</Name> <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F429IGTx$CMSIS\Flash\STM32F4xx_1024.FLM))</Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint/> <Breakpoint>
<WatchWindow1> <Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>280</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134278690</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>D:\Desktop\瀹為獙41 FATFS瀹為獙\MY\my.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\FATFS\../MY/my.c\280</Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>206</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134279282</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>D:\Desktop\瀹為獙41 FATFS瀹為獙\MY\my.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\FATFS\../MY/my.c\206</Expression>
</Bp>
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>207</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>..\MY\my.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>3</Number>
<Type>0</Type>
<LineNumber>283</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>..\MY\my.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
</Breakpoint>
<WatchWindow2>
<Ww> <Ww>
<count>0</count> <count>0</count>
<WinNumber>1</WinNumber> <WinNumber>2</WinNumber>
<ItemText>buffer</ItemText> <ItemText>data</ItemText>
</Ww> </Ww>
<Ww> </WatchWindow2>
<count>1</count> <MemoryWindow1>
<Mm>
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<ItemText>fatbuf[i]</ItemText> <SubType>0</SubType>
</Ww> <ItemText>0x2002C818</ItemText>
<Ww> <AccSizeX>0</AccSizeX>
<count>2</count> </Mm>
<WinNumber>1</WinNumber> </MemoryWindow1>
<ItemText>i</ItemText> <MemoryWindow4>
</Ww> <Mm>
<Ww> <WinNumber>4</WinNumber>
<count>3</count> <SubType>0</SubType>
<WinNumber>1</WinNumber> <ItemText>0x2002C818</ItemText>
<ItemText>_readtmp</ItemText> <AccSizeX>0</AccSizeX>
</Ww> </Mm>
</WatchWindow1> </MemoryWindow4>
<Tracepoint> <Tracepoint>
<THDelay>0</THDelay> <THDelay>0</THDelay>
</Tracepoint> </Tracepoint>
@@ -194,7 +260,7 @@
<aLa>0</aLa> <aLa>0</aLa>
<aPa1>0</aPa1> <aPa1>0</aPa1>
<AscS4>0</AscS4> <AscS4>0</AscS4>
<aSer4>0</aSer4> <aSer4>1</aSer4>
<StkLoc>0</StkLoc> <StkLoc>0</StkLoc>
<TrcWin>0</TrcWin> <TrcWin>0</TrcWin>
<newCpu>0</newCpu> <newCpu>0</newCpu>

View File

@@ -32,6 +32,7 @@
int main(void) int main(void)
{ {
u32 total,free; u32 total,free;
u8 key;
HAL_Init(); //<2F><>ʼ<EFBFBD><CABC>HAL<41><4C> HAL_Init(); //<2F><>ʼ<EFBFBD><CABC>HAL<41><4C>
Stm32_Clock_Init(360,25,2,8); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,180Mhz Stm32_Clock_Init(360,25,2,8); //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,180Mhz
@@ -79,10 +80,53 @@ int main(void)
LCD_ShowNum(30+8*14,170,total>>10,5,16); //<2F><>ʾSD<53><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MB LCD_ShowNum(30+8*14,170,total>>10,5,16); //<2F><>ʾSD<53><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MB
LCD_ShowNum(30+8*14,190,free>>10,5,16); //<2F><>ʾSD<53><44>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MB LCD_ShowNum(30+8*14,190,free>>10,5,16); //<2F><>ʾSD<53><44>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MB
//model_write("all"); model_write("all");
printf("<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>\r\n");
//cnn_run();
while(1){}
char* modelusearr[] = {
"filtered_C1autosave00108_right_new",
"filtered_C1autosave00004_right_new",
"filtered_C1autosave00039_right_new",
"filtered_C1autosave00062_right_new",
};
for(int a=0;a<(sizeof(modelusearr) / sizeof(modelusearr[0]));a++){
SDRAM_USED();
model_switchdata(modelusearr[a]);
cnn_run();
}
printf("\r\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n");
while(1){
if(isrun)cnn_run();
key=KEY_Scan(0);//<2F><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
switch(key){
case 0://û<>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
break;
case KEY0_PRES: //KEY0<59><30><EFBFBD><EFBFBD>
isrun = 1;
break;
case KEY1_PRES: //KEY1<59><31><EFBFBD><EFBFBD>
model_dataset();
break;
case KEY2_PRES: //KEY1<59><31><EFBFBD><EFBFBD>
model_switchdata("C1autosave00095_right_new_2");
break;
case WKUP_PRES: //KEY1<59><31><EFBFBD><EFBFBD>
model_switchdata("data");
break;
}
delay_ms(10);
}
} }

View File

@@ -59,20 +59,18 @@ struct _m_usmart_nametab usmart_nametab[]=
(void*)DEBUG,"void DEBUG(void)", (void*)DEBUG,"void DEBUG(void)",
(void*)SDRAM_USED,"void SDRAM_USED(void)", (void*)SDRAM_USED,"void SDRAM_USED(void)",
(void*)modelmym_free,"u8 modelmym_free(char* model)",
(void*)modelmym_init,"float* modelmym_init(char* model)",
(void*)sd_read,"u8 sd_read(u32 length, char* model,u32 gap)",
(void*)modelmym_init,"float* modelmym_init(char* model_name)", (void*)modelmym_init,"float* modelmym_init(char* model_name)",
(void*)modelmym_free,"u8 modelmym_free(char* model_name)", (void*)modelmym_free,"u8 modelmym_free(char* model_name)",
(void*)model_write,"u8 model_write(char* model_name)", (void*)model_write,"u8 model_write(char* model_name)",
(void*)model_read,"void model_read(char* model_name, u32 gap)", (void*)model_read,"u8 model_read(char* model_name, u32 start, u32 end, u32 gap)",
(void*)switch_data,"u8 switch_data(char* data_name)", (void*)model_switchdata,"u8 model_switchdata(char* model_name)",
(void*)sd_read,"u8 sd_read(u32 length, char* model_name,u32 gap)", (void*)model_info,"u8 model_info(char* model_name)",
(void*)model_info,"void model_info(char* model_name)", (void*)model_dataset,"void model_dataset(void)",
(void*)model_init,"void model_init(void)", (void*)model_init,"void model_init(void)",
(void*)sd_read,"u8 sd_read(u32 length, char* model_name,u32 gap)",
(void*)cnn_run,"void cnn_run(void)", (void*)_cnn_run,"void _cnn_run(void)",
}; };
///////////////////////////////////END/////////////////////////////////////////////// ///////////////////////////////////END///////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////