Temporary traces added for Kilrah and MAC debuggers ...

This commit is contained in:
bsongis
2012-05-25 21:59:04 +00:00
parent 2fb32eb9cc
commit dde599fdd6
2 changed files with 7 additions and 10 deletions
-1
View File
@@ -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
View File
@@ -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));
}