Ist die i2c-Geräteschnittstelle unter Linux threadsicher [geschlossen]Linux

Linux verstehen
Anonymous
 Ist die i2c-Geräteschnittstelle unter Linux threadsicher [geschlossen]

Post by Anonymous »

Ich habe einen Einplatinencomputer mit einem I2C GPIO Expander-Gerät. Es wird als /dev/i2c-0 aufgeführt. In meinem Multithread-Programm öffne ich () dieses Zeichengerät und lese/schreibe darauf in separaten Threads mit den Funktionen i2c_smbus_write_byte_data und Freunden aus der libi2c-Bibliothek, bin mir aber nicht sicher, ob das Thread-sicher ist.
Ich habe einige Kernelspace-GPIO-Treiberimplementierungen gesehen, die über das i2c-Zeichengerät binden und Ihnen eine Schnittstelle ermöglichen mit dem Gerät, als wäre es ein GPIO-Gerät (nämlich pca953x-Treiber) und sie haben interne Mutexe in jeder gpio_set/get-Funktion.
Ich habe auch einen anderen Stackoverflow-Thread gesehen, in dem Leute sagen, dass i2c_smbus_*-Funktionen interne Mutexe haben, also kann ich mir wirklich nicht sicher sein.
Verwandt: Gleichzeitiger I2C-Zugriff unter Linux, mutex
Hier ist der Code, der dem ähnelt, was ich mache. Was ich frage ist, ob diese Art des gleichzeitigen Zugriffs sicher ist.

Code: Select all

void *thread_fn(void *arg){
int fd = *(int*)arg;
uint16_t d;
for(uint16_t i=0;i

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post