Temporary traces added for Kilrah and MAC debuggers ...
This commit is contained in:
@@ -101,7 +101,6 @@ void eeWriteBlockCmp(const void *i_pointer_ram, uint16_t i_pointer_eeprom, size_
|
||||
|
||||
#ifdef SIMU
|
||||
sem_post(eeprom_write_sem);
|
||||
printf("sem_post doit demarrer le thread EEPROM"); fflush(stdout);
|
||||
#elif defined (PCBARM)
|
||||
|
||||
#elif defined (PCBV4)
|
||||
|
||||
+7
-9
@@ -32,6 +32,7 @@
|
||||
*/
|
||||
|
||||
#include "open9x.h"
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
@@ -105,9 +106,7 @@ void setSwitch(int8_t swtch)
|
||||
bool eeprom_thread_running = true;
|
||||
void *eeprom_write_function(void *)
|
||||
{
|
||||
printf("on entre dans eeprom_write_function\n"); fflush(stdout);
|
||||
while (!sem_wait(eeprom_write_sem) || errno==EINTR) {
|
||||
printf("sortie sem_wait"); fflush(stdout);
|
||||
while (!sem_wait(eeprom_write_sem)) {
|
||||
if (!eeprom_thread_running)
|
||||
return NULL;
|
||||
#if defined(PCBARM)
|
||||
@@ -122,9 +121,7 @@ void *eeprom_write_function(void *)
|
||||
if (fseek(fp, eeprom_pointer, SEEK_SET) == -1)
|
||||
perror("error in fseek");
|
||||
}
|
||||
printf("avant la boucle eeprom_buffer_size=%d\n", eeprom_buffer_size); fflush(stdout);
|
||||
while (--eeprom_buffer_size) {
|
||||
printf("ecriture eeprom_buffer_size=%d\n", eeprom_buffer_size); fflush(stdout);
|
||||
assert(eeprom_buffer_size > 0);
|
||||
if (fp) {
|
||||
if (fwrite(eeprom_buffer_data, 1, 1, fp) != 1)
|
||||
@@ -134,7 +131,6 @@ void *eeprom_write_function(void *)
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
printf("avant memcpy eeprom_pointer=%d\n", eeprom_pointer); fflush(stdout);
|
||||
memcpy(&eeprom[eeprom_pointer], eeprom_buffer_data, 1);
|
||||
}
|
||||
eeprom_pointer++;
|
||||
@@ -144,13 +140,11 @@ void *eeprom_write_function(void *)
|
||||
fflush(fp);
|
||||
}
|
||||
}
|
||||
printf("sortie boucle ecriture eeprom_buffer_size=%d\n", eeprom_buffer_size); fflush(stdout);
|
||||
#if defined(PCBARM)
|
||||
}
|
||||
Spi_complete = 1;
|
||||
#endif
|
||||
}
|
||||
printf("sortie du thread EEPROM, pas bon avant la fin !!! errno=%d\n", errno); fflush(stdout);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -224,8 +218,12 @@ void StartEepromThread(const char *filename)
|
||||
fp = fopen(eepromFile, "w+");
|
||||
if (!fp) perror("error in fopen");
|
||||
}
|
||||
// sem_init(&eeprom_write_sem, 0, 0);
|
||||
#ifdef __APPLE__
|
||||
eeprom_write_sem = sem_open("eepromsemaphore", O_CREAT);
|
||||
#else
|
||||
eeprom_write_sem = (sem_t *)malloc(sizeof(sem_t));
|
||||
sem_init(eeprom_write_sem, 0, 0);
|
||||
#endif
|
||||
eeprom_thread_running = true;
|
||||
assert(!pthread_create(&eeprom_thread_pid, NULL, &eeprom_write_function, NULL));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user