From 2fb32eb9cca89e0055415e3b433d53f4157e8647 Mon Sep 17 00:00:00 2001 From: bsongis Date: Fri, 25 May 2012 21:30:54 +0000 Subject: [PATCH] Temporary traces added for Kilrah and MAC debuggers ... --- src/eeprom_arm.cpp | 4 ++-- src/eeprom_avr.cpp | 2 +- src/simpgmspace.cpp | 12 +++++++----- src/simpgmspace.h | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/eeprom_arm.cpp b/src/eeprom_arm.cpp index c52196bfb..7a538ca1d 100644 --- a/src/eeprom_arm.cpp +++ b/src/eeprom_arm.cpp @@ -287,7 +287,7 @@ void read32_eeprom_data( uint32_t eeAddress, register uint8_t *buffer, uint32_t eeprom_buffer_size = size; eeprom_read_operation = true; Spi_complete = false; - sem_post(&eeprom_write_sem); + sem_post(eeprom_write_sem); #else register uint8_t *p = Spi_tx_buf ; *p = 3 ; // Read command @@ -316,7 +316,7 @@ void write32_eeprom_block( uint32_t eeAddress, register uint8_t *buffer, uint32_ eeprom_buffer_size = size+1; eeprom_read_operation = false; Spi_complete = false; - sem_post(&eeprom_write_sem); + sem_post(eeprom_write_sem); #else eeprom_write_enable(); diff --git a/src/eeprom_avr.cpp b/src/eeprom_avr.cpp index bbd57f1e4..0ff63c927 100644 --- a/src/eeprom_avr.cpp +++ b/src/eeprom_avr.cpp @@ -100,7 +100,7 @@ void eeWriteBlockCmp(const void *i_pointer_ram, uint16_t i_pointer_eeprom, size_ eeprom_buffer_size = size+1; #ifdef SIMU - sem_post(&eeprom_write_sem); + sem_post(eeprom_write_sem); printf("sem_post doit demarrer le thread EEPROM"); fflush(stdout); #elif defined (PCBARM) diff --git a/src/simpgmspace.cpp b/src/simpgmspace.cpp index 12cee1793..fb59628dd 100644 --- a/src/simpgmspace.cpp +++ b/src/simpgmspace.cpp @@ -32,7 +32,8 @@ */ #include "open9x.h" -#include "errno.h" +#include +#include volatile uint8_t pinb=0xff, pinc=0xff, pind, pine=0xff, ping=0xff, pinh=0xff, pinj=0xff, pinl=0; uint8_t portb, portc, porth=0, dummyport; @@ -56,7 +57,7 @@ extern const char* eeprom_buffer_data; #endif uint8_t eeprom[EESIZE]; -sem_t eeprom_write_sem; +sem_t *eeprom_write_sem; void setSwitch(int8_t swtch) { @@ -105,7 +106,7 @@ 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) { + while (!sem_wait(eeprom_write_sem) || errno==EINTR) { printf("sortie sem_wait"); fflush(stdout); if (!eeprom_thread_running) return NULL; @@ -223,7 +224,8 @@ void StartEepromThread(const char *filename) fp = fopen(eepromFile, "w+"); if (!fp) perror("error in fopen"); } - sem_init(&eeprom_write_sem, 0, 0); + // sem_init(&eeprom_write_sem, 0, 0); + eeprom_write_sem = sem_open("eepromsemaphore", O_CREAT); eeprom_thread_running = true; assert(!pthread_create(&eeprom_thread_pid, NULL, &eeprom_write_function, NULL)); } @@ -231,7 +233,7 @@ void StartEepromThread(const char *filename) void StopEepromThread() { eeprom_thread_running = false; - sem_post(&eeprom_write_sem); + sem_post(eeprom_write_sem); pthread_join(eeprom_thread_pid, NULL); } diff --git a/src/simpgmspace.h b/src/simpgmspace.h index 8cfd111a9..7e8d1d4ca 100644 --- a/src/simpgmspace.h +++ b/src/simpgmspace.h @@ -95,7 +95,7 @@ typedef const uint8_t pm_uint8_t; typedef const int16_t pm_int16_t; typedef const int8_t pm_int8_t; -extern sem_t eeprom_write_sem; +extern sem_t *eeprom_write_sem; #if defined(PCBARM) extern Pio Pioa, Piob, Pioc; extern Twi Twio;