2017-07-27 62 views
0

我的/ dev /中有一個fpga設備節點。要與其驅動程序通信,我需要使用以下C代碼。如何將結構傳遞給python中的linux設備節點?

struct pci_cmd { 
    unsigned int bar_id; 
    unsigned int command; 
    void *device_addr; 
    void *user_addr; 
}; 

ssize_t f = open ("/dev/de4", O_RDWR); 
unsigned short val; 
struct pci_cmd read_cmd = { 0, 0, 0x2, &val }; 
read (f, &read_cmd, sizeof(val)); 

我發現python中有struct結構類,但os.read(fd, n)只接受兩個參數。任何想法在Python中做到這一點?

回答

-1

如果設備節點是tty I/O,您可以使用python的termios庫進行通信。 參考:https://docs.python.org/2/library/termios.html

此外,您可以使用os.popen()或os.system()並直接寫入系統命令。

+0

這不是一個tty I/O。這是一個字符設備。問題是設備驅動程序需要struct pci_cmd信息。 – house

相關問題