mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-09 11:30:43 +02:00
wip
This commit is contained in:
parent
a02e8099da
commit
3465f01e3d
@ -10,6 +10,8 @@
|
|||||||
#define MTDSIZE 10
|
#define MTDSIZE 10
|
||||||
#define MAX_TIME_FPGA_TOUCH_FLASH_US (10 * 1000 * 1000) // 10s
|
#define MAX_TIME_FPGA_TOUCH_FLASH_US (10 * 1000 * 1000) // 10s
|
||||||
|
|
||||||
|
#define TEMP_PROG_FILE_NAME "/var/tmp/tmp.pof"
|
||||||
|
|
||||||
int gpioDefined = 0;
|
int gpioDefined = 0;
|
||||||
char mtdvalue[MTDSIZE] = {0};
|
char mtdvalue[MTDSIZE] = {0};
|
||||||
|
|
||||||
|
@ -3714,56 +3714,61 @@ int program_fpga(int file_des) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#else // jungfrau, ctb, moench
|
#else // jungfrau, ctb, moench
|
||||||
uint64_t filesize = 0;
|
|
||||||
char *fpgasrc = NULL;
|
|
||||||
FILE *fp = NULL;
|
|
||||||
uint64_t offset = 0;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// filesize
|
// filesize
|
||||||
|
uint64_t filesize = 0;
|
||||||
if (receiveData(file_des, &filesize, sizeof(filesize), INT64) < 0)
|
if (receiveData(file_des, &filesize, sizeof(filesize), INT64) < 0)
|
||||||
return printSocketReadError();
|
return printSocketReadError();
|
||||||
LOG(logINFOBLUE, ("Program size is: %lld\n",
|
LOG(logINFOBLUE, ("Program size is: %lld\n",
|
||||||
(long long unsigned int)filesize));
|
(long long unsigned int)filesize));
|
||||||
|
|
||||||
struct sysinfo info;
|
// delete old /var/tmp/file
|
||||||
sysinfo(&info);
|
{
|
||||||
printf("freeram %ld\n", info.freeram);
|
char cmd[MAX_STR_LENGTH] = {0};
|
||||||
/*
|
memset(cmd, 0, MAX_STR_LENGTH);
|
||||||
// delete old /var/tmp/file
|
sprintf(cmd, "rm -fr %s", TEMP_PROG_FILE_NAME);
|
||||||
char cmd[MAX_STR_LENGTH] = {0};
|
char retvals[MAX_STR_LENGTH] = {0};
|
||||||
memset(cmd, 0, MAX_STR_LENGTH);
|
memset(retvals, 0, MAX_STR_LENGTH);
|
||||||
sprintf(cmd, "rm -fr /var/tmp/tmp.pof");
|
ret = executeCommand(cmd, retvals, logDEBUG1);
|
||||||
char retvals[MAX_STR_LENGTH] = {0};
|
if (ret == FAIL) {
|
||||||
memset(retvals, 0, MAX_STR_LENGTH);
|
strcpy(mess, retvals);
|
||||||
int success = executeCommand(cmd, retvals, logDEBUG1);
|
// LOG(logERROR, (mess)); already printed in executecommand
|
||||||
if (success == FAIL) {
|
}
|
||||||
ret = FAIL;
|
|
||||||
strcpy(mess, retvals);
|
|
||||||
// LOG(logERROR, (mess)); already printed in executecommand
|
|
||||||
} else {
|
|
||||||
memset(cmd, 0, MAX_STR_LENGTH);
|
|
||||||
sprintf(cmd, "free | grep Mem | cut -f 2");.// fix this
|
|
||||||
memset(retvals, 0, MAX_STR_LENGTH);
|
|
||||||
int success = executeCommand(cmd, retvals, logDEBUG1);
|
|
||||||
if (success == FAIL) {
|
|
||||||
ret = FAIL;
|
|
||||||
strcpy(mess, retvals);
|
|
||||||
// LOG(logERROR, (mess)); already printed in
|
|
||||||
executecommand
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Server_SendResult(file_des, INT32, NULL, 0);
|
|
||||||
*/
|
|
||||||
|
|
||||||
size_t fsize = filesize;
|
|
||||||
fpgasrc = malloc(fsize);
|
|
||||||
if (fpgasrc == NULL) {
|
|
||||||
LOG(logERROR, ("Could not malloc\n"));
|
|
||||||
ret = FAIL;
|
|
||||||
}
|
}
|
||||||
//fpgasrc = malloc(filesize + 1);
|
|
||||||
|
// check available memory to copy program
|
||||||
|
if (ret == OK) {
|
||||||
|
struct sysinfo info;
|
||||||
|
sysinfo(&info);
|
||||||
|
if (filesize >= info.freeram) {
|
||||||
|
ret = FAIL;
|
||||||
|
sprintf(mess,
|
||||||
|
"Could not program fpga. Not enough memory to copy "
|
||||||
|
"program. [File size:%dMb, free RAM: %dMb]\n",
|
||||||
|
(filesize / (1024 * 1024), (info.freeram / (1024 * 1024))));
|
||||||
|
LOG(logERROR, (mess));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// open file to copy
|
||||||
|
|
||||||
|
Server_SendResult(file_des, INT32, NULL, 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
size_t fsize = filesize;
|
||||||
|
fpgasrc = malloc(fsize);
|
||||||
|
if (fpgasrc == NULL) {
|
||||||
|
LOG(logERROR, ("Could not malloc\n"));
|
||||||
|
ret = FAIL;
|
||||||
|
}*/
|
||||||
|
// fpgasrc = malloc(filesize + 1);
|
||||||
|
char *fpgasrc = NULL;
|
||||||
|
FILE *fp = NULL;
|
||||||
|
uint64_t offset = 0;
|
||||||
uint64_t totalsize = filesize;
|
uint64_t totalsize = filesize;
|
||||||
|
|
||||||
// writing to flash part by part
|
// writing to flash part by part
|
||||||
|
Loading…
x
Reference in New Issue
Block a user