The Fourth version
This commit is contained in:
@@ -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>;
|
||||
//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++;
|
||||
}
|
||||
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 used:%d",used);
|
||||
//DEBUG_PRINTF("\r\nmy_mem_perused memtblsize[%d]:%d",memx,memtblsize[memx]);
|
||||
return (used*1000)/(memtblsize[memx]);
|
||||
}
|
||||
//<2F>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>(<28>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>)
|
||||
|
||||
52
MY/cnn.c
52
MY/cnn.c
@@ -1,6 +1,6 @@
|
||||
#include "cnn.h"
|
||||
|
||||
|
||||
u8 isrun;
|
||||
|
||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>*/
|
||||
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(){
|
||||
printf("CNNģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n");
|
||||
|
||||
for(int i=0;i<10;i++)printf("data[%d]: %f\r\n",i,data.array[i]);
|
||||
printf("<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]);
|
||||
DEBUG_PRINTF("data[%d]: %f\r\n",1,data.array[1]);
|
||||
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
|
||||
float* Full_output1 = (float*)mymalloc(SRAMEX, sizeof(float) * 102 * 102);
|
||||
Full(data.array, 100, Full_output1);
|
||||
@@ -297,7 +305,7 @@ void cnn_run(){
|
||||
for (int i = 0; i < 32; 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
|
||||
myfree(SRAMEX, Full_output1);
|
||||
free2DArray(Convolution_result1_relu,32);
|
||||
@@ -334,7 +342,7 @@ void cnn_run(){
|
||||
for (int i = 0; i < 64; 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
|
||||
myfree(SRAMEX, Full_output2);
|
||||
free2DArray(Pooling_result1,32);
|
||||
@@ -375,7 +383,7 @@ void cnn_run(){
|
||||
}
|
||||
float* xi = (float*)mymalloc(SRAMEX, sizeof(float) * 128 * 12 * 12);
|
||||
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
|
||||
myfree(SRAMEX, Full_output3);
|
||||
free2DArray(Pooling_result2,64);
|
||||
@@ -383,30 +391,44 @@ void cnn_run(){
|
||||
free2DArray(Convolution_result3_relu,128);
|
||||
free2DArray(Convolution_result3_before,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++) {
|
||||
float sum = 0;
|
||||
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));
|
||||
sum = ConnectedLayer(xi, 128 * 12 * 12, fc1_weight_new, fc1_bias.array[i]);
|
||||
yi[i] = ReLU2(sum);
|
||||
myfree(SRAMEX, fc1_weight_new);
|
||||
}
|
||||
PrintfArray(yi,128,128);
|
||||
//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
|
||||
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++) {
|
||||
float fc2_weight_new[128];
|
||||
memcpy(fc2_weight_new,&fc2_weight.array[i*128],128 * sizeof(float));
|
||||
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);
|
||||
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>\r\n");
|
||||
//end
|
||||
float result[7];
|
||||
float *result = (float *)mymalloc(SRAMEX, 7 * sizeof(float));
|
||||
int max_probability_idx = calculate_probabilities(zi,result,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;
|
||||
}
|
||||
|
||||
3
MY/cnn.h
3
MY/cnn.h
@@ -4,6 +4,8 @@
|
||||
#include <math.h>
|
||||
#include "my.h"
|
||||
|
||||
extern u8 isrun;
|
||||
|
||||
void PrintfArray(float *array, int array_num, int elements_per_line);
|
||||
void **allocate2DArray(int depth, int num, size_t elementSize);
|
||||
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);
|
||||
void generateMatrix(float *get_data, float Max_value, int totalPoints, float CNN_data[100][100]);
|
||||
|
||||
void _cnn_run(void);
|
||||
void cnn_run(void);
|
||||
|
||||
#endif
|
||||
|
||||
16
MY/debug.c
16
MY/debug.c
@@ -15,7 +15,7 @@ void DEBUG(){
|
||||
|
||||
|
||||
|
||||
void DEBUG_PRINT(const char *fmt, ...) {
|
||||
void DEBUG_PRINTF(const char *fmt, ...) {
|
||||
if(_DEBUG){
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
@@ -30,15 +30,15 @@ void SDRAM_USED(){
|
||||
u8 RAM_ID = 0;
|
||||
u16 memused = 0;
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
printf("CCMʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>%s\r\n",paddr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -6,6 +6,6 @@
|
||||
#include "malloc.h"
|
||||
|
||||
void DEBUG(void);
|
||||
void DEBUG_PRINT(const char *fmt, ...);
|
||||
void DEBUG_PRINTF(const char *fmt, ...);
|
||||
void SDRAM_USED(void);
|
||||
void TIM3_Init(u16 arr,u16 psc);
|
||||
|
||||
340
MY/my.c
340
MY/my.c
@@ -15,6 +15,7 @@ Model fc2_weight;
|
||||
Model data;
|
||||
|
||||
|
||||
|
||||
float* modelmym_init(char* model_name){
|
||||
if(conv1_bias.array == NULL && strcmp(model_name, "conv1_bias") == 0)
|
||||
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;
|
||||
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);
|
||||
data.array = NULL;
|
||||
data.realength = NULL;
|
||||
@@ -159,165 +160,165 @@ u8 model_write(char* model_name)
|
||||
|
||||
model_info("all");
|
||||
SDRAM_USED();
|
||||
}else {
|
||||
}else{
|
||||
u8 res=0;
|
||||
u8 _times=0;
|
||||
u32 _larr = 0;
|
||||
char _tmp[11] = "";
|
||||
char _path[20] = {0};
|
||||
char buffer[2] = {0};
|
||||
u8 _len = strlen(model_name);
|
||||
char _path[_len+1+7+30];
|
||||
char _fstr[READLENGTH+1] = {0};
|
||||
char _sstr[2];
|
||||
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)){
|
||||
_model = model(model_name);
|
||||
sprintf(_path, "0:/%s.txt",_model -> name);
|
||||
if(f_open(file,(const TCHAR*)_path,1)){
|
||||
DEBUG_PRINT("\r\n<EFBFBD>ļ<EFBFBD>[%s]<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>\r\n",_path);
|
||||
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 -> 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);
|
||||
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'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD>......\r\n",_model -> dname ? _model -> dname : _model -> name);
|
||||
|
||||
while(1){
|
||||
res = f_read(file, fatbuf, READLENGTH ,&br);
|
||||
if(res){
|
||||
DEBUG_PRINT("<EFBFBD><EFBFBD>ȡ[%s]<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>:%d\r\n",_path,res);
|
||||
return 202;
|
||||
}
|
||||
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] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[float]: %f\r\n",i+1,value);
|
||||
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 res;
|
||||
}else{
|
||||
for(int i=0; i < br; i++){
|
||||
if(fatbuf[i] == 0x0d){
|
||||
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<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(_larr >= _model -> maxlength)break;
|
||||
}else{
|
||||
sprintf(buffer, "%c", fatbuf[i]);
|
||||
strcat(_tmp, buffer);
|
||||
//DEBUG_PRINT("[%d]: %c\r\n",i,fatbuf[i]);
|
||||
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)) {
|
||||
progress = _larr >= _model -> maxlength ? 100 : _larr == 1 ? 0 : progress + 10;
|
||||
DEBUG_PRINT("\r\n[");
|
||||
if(_model -> maxlength >= 73728 && (_larr >= (_model -> maxlength/10)*_times)){
|
||||
progress = _larr >= _model -> maxlength ? 100 : _times++ == 0 ? 0 : progress + 10;
|
||||
printf("\r\n[");
|
||||
for(u16 j=0; j<50;j++){
|
||||
if(j < progress/2) printf("=");
|
||||
else DEBUG_PRINT(" ");
|
||||
else printf(" ");
|
||||
}
|
||||
printf("] %d%%", progress);
|
||||
}
|
||||
if(_larr >= _model -> maxlength)break;
|
||||
}
|
||||
}
|
||||
_model -> realength = _larr; //_larr<72><72><EFBFBD><EFBFBD>ֵΪģ<CEAA><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
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 res;
|
||||
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);
|
||||
return 1;
|
||||
}
|
||||
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){
|
||||
model_read("conv1_bias", gap);
|
||||
model_read("conv1_weight", gap);
|
||||
model_read("conv2_bias", gap);
|
||||
model_read("conv2_weight", gap);
|
||||
model_read("conv3_bias", gap);
|
||||
model_read("conv3_weight", gap);
|
||||
model_read("fc1_bias", gap);
|
||||
model_read("fc1_weight", gap);
|
||||
model_read("fc2_bias", gap);
|
||||
model_read("fc2_weight", gap);
|
||||
model_read("data", gap);
|
||||
}else {
|
||||
model_read("conv1_bias", start, end, gap);
|
||||
model_read("conv1_weight", start, end, gap);
|
||||
model_read("conv2_bias", start, end, gap);
|
||||
model_read("conv2_weight", start, end, gap);
|
||||
model_read("conv3_bias", start, end, gap);
|
||||
model_read("conv3_weight", start, end, gap);
|
||||
model_read("fc1_bias", start, end, gap);
|
||||
model_read("fc1_weight", start, end, gap);
|
||||
model_read("fc2_bias", start, end, gap);
|
||||
model_read("fc2_weight", start, end, gap);
|
||||
model_read("data", start, end, gap);
|
||||
}else{
|
||||
Model *_model = model(model_name);
|
||||
for (int i=0;i<((_model -> realength/gap)+(_model -> realength%gap ? 2 : 1));i++)
|
||||
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]);
|
||||
printf("\r\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
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]);
|
||||
}
|
||||
}
|
||||
if(_model == NULL || end == 0 || start > _model -> realength || end > _model -> realength)return NULL;
|
||||
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");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
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;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
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(){
|
||||
|
||||
conv1_bias.name = "conv1_bias";
|
||||
@@ -408,4 +385,51 @@ void model_init(){
|
||||
data.name = "data";
|
||||
data.array = modelmym_init(data.name);
|
||||
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
32
MY/my.h
@@ -25,6 +25,7 @@ typedef struct {
|
||||
|
||||
|
||||
|
||||
#define READLENGTH 11*10
|
||||
#define CONV1_BIAS_ARRSIZE 32
|
||||
#define CONV1_WEIGHT_ARRSIZE 32*1*3*3 //288
|
||||
#define CONV2_BIAS_ARRSIZE 64
|
||||
@@ -35,7 +36,7 @@ typedef struct {
|
||||
#define FC1_WEIGHT_ARRSIZE 128*18432 //2359296
|
||||
#define FC2_BIAS_ARRSIZE 7
|
||||
#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);
|
||||
u8 modelmym_free(char* model_name);
|
||||
u8 model_write(char* model_name);
|
||||
void model_read(char* model_name, u32 gap);
|
||||
u8 switch_data(char* data_name);
|
||||
u8 sd_read(u32 length, char* model_name,u32 gap);
|
||||
u8 model_read(char* model_name, u32 start, u32 end, u32 gap);
|
||||
u8 model_switchdata(char* model_name);
|
||||
void model_dataset(void);
|
||||
u8 model_info(char* model_name);
|
||||
void* model(char* model_name);
|
||||
void model_info(char* model_name);
|
||||
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++){
|
||||
// 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++;
|
||||
// float value = atof(_tmp);
|
||||
// memset(_tmp, 0, sizeof(_tmp));
|
||||
// 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{
|
||||
// char buffer[2];
|
||||
// sprintf(buffer, "%c", fatbuf[i]);
|
||||
// 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++){
|
||||
// DEBUG_PRINT("floatArray[%d]: %f\r\n",i,floatArray[i]);
|
||||
// DEBUG_PRINTF("floatArray[%d]: %f\r\n",i,floatArray[i]);
|
||||
// }
|
||||
// return res;
|
||||
//}
|
||||
@@ -143,17 +145,17 @@ for(u8 a; a<?; a++)
|
||||
// else{
|
||||
// for(int i=0;i<br;i++){
|
||||
// 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++;
|
||||
// float value = atof(_tmp);
|
||||
// memset(_tmp, 0, sizeof(_tmp));
|
||||
// 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{
|
||||
// char buffer[2];
|
||||
// sprintf(buffer, "%c", fatbuf[i]);
|
||||
// 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{
|
||||
// for(int i=0;i<br;i++){
|
||||
// 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++;
|
||||
// float value = atof(_tmp);
|
||||
// memset(_tmp, 0, sizeof(_tmp));
|
||||
// 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{
|
||||
// char buffer[2];
|
||||
// sprintf(buffer, "%c", fatbuf[i]);
|
||||
// strcat(_tmp, buffer);
|
||||
// DEBUG_PRINT("[%d]: %c\r\n",i,fatbuf[i]);
|
||||
// DEBUG_PRINTF("[%d]: %c\r\n",i,fatbuf[i]);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
BIN
OBJ/FATFS.axf
BIN
OBJ/FATFS.axf
Binary file not shown.
@@ -21,15 +21,15 @@ Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V2.0.18.0
|
||||
Dialog DLL: TCM.DLL V1.14.14.0
|
||||
|
||||
<h2>Project:</h2>
|
||||
D:\Desktop\ʵ<><CAB5>41 FATFSʵ<53><CAB5> - <20><><EFBFBD><EFBFBD>\USER\FATFS.uvprojx
|
||||
Project File Date: 10/23/2024
|
||||
D:\Desktop\ʵ<><CAB5>41 FATFSʵ<53><CAB5>\USER\FATFS.uvprojx
|
||||
Project File Date: 10/27/2024
|
||||
|
||||
<h2>Output:</h2>
|
||||
*** Using Compiler 'V5.06 update 3 (build 300)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
|
||||
Build target 'FATFS'
|
||||
compiling my.c...
|
||||
compiling cnn.c...
|
||||
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...
|
||||
"..\OBJ\FATFS.axf" - 0 Error(s), 0 Warning(s).
|
||||
|
||||
|
||||
32479
OBJ/FATFS.hex
32479
OBJ/FATFS.hex
File diff suppressed because it is too large
Load Diff
4656
OBJ/FATFS.htm
4656
OBJ/FATFS.htm
File diff suppressed because it is too large
Load Diff
3109
OBJ/FATFS.map
3109
OBJ/FATFS.map
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
Dependencies for Project 'FATFS', Target 'FATFS': (DO NOT MODIFY !)
|
||||
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
|
||||
|
||||
@@ -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_pcd.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 (..\SYSTEM\delay\delay.h)(0x57764068)
|
||||
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\string.h)(0x574E3E26)
|
||||
I (..\HARDWARE\SDRAM\sdram.h)(0x577640E8)
|
||||
I (..\MALLOC\malloc.h)(0x67179DA1)
|
||||
I (..\MALLOC\malloc.h)(0x671E40F9)
|
||||
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\ffconf.h)(0x577640E7)
|
||||
I (..\FATFS\src\ffconf.h)(0x577640E7)
|
||||
I (..\FATFS\exfuns\exfuns.h)(0x577640E7)
|
||||
I (..\USMART\usmart.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_ex.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_ltdc.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_ex.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_adc.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 (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x57764068)
|
||||
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\Legacy/stm32_hal_legacy.h)(0x57764068)
|
||||
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 (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x66E967A3)
|
||||
I (..\CORE\core_cmInstr.h)(0x57764068)
|
||||
I (..\CORE\cmsis_armcc.h)(0x57764068)
|
||||
I (..\CORE\core_cmFunc.h)(0x57764068)
|
||||
I (..\CORE\core_cmSimd.h)(0x57764068)
|
||||
I (..\CORE\cmsis_armcc.h)(0x57764068)
|
||||
I (..\CORE\core_cmFunc.h)(0x57764068)
|
||||
I (..\CORE\core_cmSimd.h)(0x57764068)
|
||||
I (..\USER\system_stm32f4xx.h)(0x57764069)
|
||||
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x57764068)
|
||||
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
|
||||
|
||||
-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\stm32f429xx.h)(0x57764069)
|
||||
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)
|
||||
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
|
||||
|
||||
@@ -3157,16 +3161,16 @@ I (..\FATFS\src\ffconf.h)(0x577640E7)
|
||||
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_hcd.h)(0x57764068)
|
||||
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
|
||||
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)
|
||||
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 (..\SYSTEM\usart\usart.h)(0x577640E8)
|
||||
-I.\RTE\_FATFS
|
||||
|
||||
-IC:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.9.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include
|
||||
|
||||
-IC:\Keil_v5\ARM\CMSIS\Include
|
||||
|
||||
|
||||
-D__UVISION_VERSION="529" -DSTM32F429xx -DUSE_HAL_DRIVER -DSTM32F429xx --C99
|
||||
|
||||
-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_hcd.h)(0x57764068)
|
||||
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 (..\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
|
||||
|
||||
-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_usart.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_pcd.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_ll_sdmmc.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_uart.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_usart.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_wwdg.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_ll_sdmmc.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_ex.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_uart.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_smartcard.h)(0x57764068)
|
||||
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_wwdg.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_pcd.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)
|
||||
@@ -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_sram.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_pccard.h)(0x57764068)
|
||||
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_sdram.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_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_i2s.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\cmsis_armcc.h)(0x57764068)
|
||||
I (..\CORE\core_cmFunc.h)(0x57764068)
|
||||
I (..\CORE\core_cmSimd.h)(0x57764068)
|
||||
I (..\USER\system_stm32f4xx.h)(0x57764069)
|
||||
I (..\CORE\core_cmSimd.h)(0x57764068)
|
||||
I (..\USER\system_stm32f4xx.h)(0x57764069)
|
||||
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x57764068)
|
||||
I (..\USER\stm32f4xx_hal_conf.h)(0x57764069)
|
||||
I (..\HALLIB\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h)(0x57764068)
|
||||
|
||||
@@ -9,7 +9,7 @@ LR_IROM1 0x08000000 0x00100000 { ; load region size_region
|
||||
.ANY (+RO)
|
||||
.ANY (+XO)
|
||||
}
|
||||
RW_IRAM1 0x20000000 0x00040000 { ; RW data
|
||||
RW_IRAM1 0x20000000 0x0003A000 { ; RW data
|
||||
.ANY (+RW +ZI)
|
||||
}
|
||||
}
|
||||
|
||||
BIN
OBJ/cc936.o
BIN
OBJ/cc936.o
Binary file not shown.
BIN
OBJ/cnn.crf
BIN
OBJ/cnn.crf
Binary file not shown.
BIN
OBJ/debug.crf
BIN
OBJ/debug.crf
Binary file not shown.
BIN
OBJ/debug.o
BIN
OBJ/debug.o
Binary file not shown.
BIN
OBJ/delay.o
BIN
OBJ/delay.o
Binary file not shown.
BIN
OBJ/diskio.crf
BIN
OBJ/diskio.crf
Binary file not shown.
BIN
OBJ/diskio.o
BIN
OBJ/diskio.o
Binary file not shown.
BIN
OBJ/exfuns.crf
BIN
OBJ/exfuns.crf
Binary file not shown.
BIN
OBJ/exfuns.o
BIN
OBJ/exfuns.o
Binary file not shown.
Binary file not shown.
BIN
OBJ/fattester.o
BIN
OBJ/fattester.o
Binary file not shown.
BIN
OBJ/ftl.crf
BIN
OBJ/ftl.crf
Binary file not shown.
BIN
OBJ/ltdc.o
BIN
OBJ/ltdc.o
Binary file not shown.
BIN
OBJ/main.crf
BIN
OBJ/main.crf
Binary file not shown.
BIN
OBJ/main.o
BIN
OBJ/main.o
Binary file not shown.
BIN
OBJ/malloc.crf
BIN
OBJ/malloc.crf
Binary file not shown.
@@ -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_hal_pcd_ex.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
|
||||
|
||||
BIN
OBJ/malloc.o
BIN
OBJ/malloc.o
Binary file not shown.
BIN
OBJ/my.crf
BIN
OBJ/my.crf
Binary file not shown.
BIN
OBJ/nand.crf
BIN
OBJ/nand.crf
Binary file not shown.
BIN
OBJ/nand.o
BIN
OBJ/nand.o
Binary file not shown.
Binary file not shown.
BIN
OBJ/nandtester.o
BIN
OBJ/nandtester.o
Binary file not shown.
Binary file not shown.
BIN
OBJ/sdram.o
BIN
OBJ/sdram.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.
Binary file not shown.
BIN
OBJ/usart.o
BIN
OBJ/usart.o
Binary file not shown.
BIN
OBJ/usmart.o
BIN
OBJ/usmart.o
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
OBJ/usmart_str.o
BIN
OBJ/usmart_str.o
Binary file not shown.
BIN
OBJ/w25qxx.o
BIN
OBJ/w25qxx.o
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -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>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<WatchWindow1>
|
||||
<Breakpoint>
|
||||
<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>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>buffer</ItemText>
|
||||
<WinNumber>2</WinNumber>
|
||||
<ItemText>data</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
</WatchWindow2>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>fatbuf[i]</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>2</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>i</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>3</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>_readtmp</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>0x2002C818</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<MemoryWindow4>
|
||||
<Mm>
|
||||
<WinNumber>4</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>0x2002C818</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow4>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
@@ -194,7 +260,7 @@
|
||||
<aLa>0</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
<aSer4>1</aSer4>
|
||||
<StkLoc>0</StkLoc>
|
||||
<TrcWin>0</TrcWin>
|
||||
<newCpu>0</newCpu>
|
||||
|
||||
50
USER/main.c
50
USER/main.c
@@ -32,6 +32,7 @@
|
||||
int main(void)
|
||||
{
|
||||
u32 total,free;
|
||||
u8 key;
|
||||
|
||||
HAL_Init(); //<2F><>ʼ<EFBFBD><CABC>HAL<41><4C>
|
||||
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,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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -59,20 +59,18 @@ struct _m_usmart_nametab usmart_nametab[]=
|
||||
|
||||
(void*)DEBUG,"void DEBUG(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_free,"u8 modelmym_free(char* model_name)",
|
||||
(void*)model_write,"u8 model_write(char* model_name)",
|
||||
(void*)model_read,"void model_read(char* model_name, u32 gap)",
|
||||
(void*)switch_data,"u8 switch_data(char* data_name)",
|
||||
(void*)sd_read,"u8 sd_read(u32 length, char* model_name,u32 gap)",
|
||||
(void*)model_info,"void model_info(char* model_name)",
|
||||
(void*)model_read,"u8 model_read(char* model_name, u32 start, u32 end, u32 gap)",
|
||||
(void*)model_switchdata,"u8 model_switchdata(char* model_name)",
|
||||
(void*)model_info,"u8 model_info(char* model_name)",
|
||||
(void*)model_dataset,"void model_dataset(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///////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user