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);

340
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);
printf("\r\n");
if(_model == NULL || strcmp(model_name, "data") == 0){
sprintf(_path, "0:/%s.txt", model_name);
if(f_open(file, (const TCHAR *)_path, 1)){
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");
return 199;
}else{
_model = model("data");
_model -> dname = model_name;
}
}
Model *_model = NULL; if(_model -> dname == NULL){
sprintf(_path, "0:/%s.txt", _model -> name);
if(f_open(file, (TCHAR *)_path, 1)){
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;
}
if(model(model_name)){ DEBUG_PRINTF("д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD>%s\r\n", _model -> name);
_model = model(model_name); if(_model -> dname)DEBUG_PRINTF("д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Data<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD>ǣ<EFBFBD>%s\r\n", _model -> dname);
sprintf(_path, "0:/%s.txt",_model -> name); 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);
if(f_open(file,(const TCHAR*)_path,1)){ 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);
DEBUG_PRINT("\r\n<EFBFBD>ļ<EFBFBD>[%s]<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>\r\n",_path); printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ģ<EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>'%s'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD>......\r\n",_model -> dname ? _model -> dname : _model -> name);
return 200;
} while(1){
} res = f_read(file, fatbuf, READLENGTH ,&br);
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 -> 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);
printf("\r\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>%s<><73><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD>......\r\n",_model -> name);
while(_larr < _model -> maxlength){
res=f_read(file,fatbuf,11*1,&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{
else{ for(int i=0; i < br; i++){
for(u32 i=0;i<br;i++){ if(fatbuf[i] == 0x0d){
if(fatbuf[i]==0x0d){ float _fvalue = atof(_fstr);
float value = atof(_tmp); _model -> array[_larr++] = _fvalue;
*_tmp = NULL; //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);
_model -> array[_larr++] = value; i++;
//DEBUG_PRINT("<22>س<EFBFBD>[%d] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[string]: %s\r\n",i,_readtmp); *_fstr = NULL;
//DEBUG_PRINT("<22>س<EFBFBD>[%d] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[float]: %f\r\n",i+1,value); _model -> realength = _larr; //_larr<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD>
if(_larr >= _model -> maxlength)break;
}else{ }else{
sprintf(buffer, "%c", fatbuf[i]); sprintf(_sstr, "%c", fatbuf[i]);
strcat(_tmp, buffer); strcat(_fstr, _sstr);
//DEBUG_PRINT("[%d]: %c\r\n",i,fatbuf[i]); //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){
printf("\r\n"); 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");
return 1;
u8 switch_data(char* data_name){
char _path[20] = {0};
sprintf(_path, "0:/%s.txt",data_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;
}
DEBUG_PRINT("\r\n<EFBFBD>µ<EFBFBD>data<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%s",_path);
model_write(data_name);
printf("<EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD> %s.txt\r\n",data_name);
return 1;
}
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_PRINT("<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_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++) return NULL;
printf("\r\nfloatArray[%d]: %f",i*gap<=length ? i*gap : length,i*gap<=length ? floatArray[i*gap] : floatArray[length]); }
printf("\r\n");
return res;
u8 model_switchdata(char* data_name){
u8 _len = strlen(data_name);
char _path[_len+1+7];
if(data.array != NULL)modelmym_free("data");
sprintf(_path, "0:/%s.txt",data_name);
if(f_open(file,(const TCHAR*)_path,1)){
DEBUG_PRINTF("\r\nData<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD>[%s]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n",data_name);
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_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);
return 1;
}
}
void model_dataset(){
printf("\r\ndataset is: %s\r\n",data.dname);
}
u8 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");
return 1;
}else if(model(model_name)){
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);
//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 1;
}
return NULL;
} }
@@ -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;
} }

32
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
@@ -35,7 +36,7 @@ typedef struct {
#define FC1_WEIGHT_ARRSIZE 128*18432 //2359296 #define FC1_WEIGHT_ARRSIZE 128*18432 //2359296
#define FC2_BIAS_ARRSIZE 7 #define FC2_BIAS_ARRSIZE 7
#define FC2_WEIGHT_ARRSIZE 7*128 //896 #define FC2_WEIGHT_ARRSIZE 7*128 //896
#define DATA_ARRSIZE 100*100 //10000 #define DATA_ARRSIZE 100*100 //10000
@@ -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///////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////