Cライブラリ(beaglebone PRUドライバーprussdrv.c)をPythonとインターフェースさせようとしています。アクセスしたい特定の関数は、以下に示すようにmmapポインターを返します。
int __prussdrv_memmap_init(void) {
prussdrv.pru0_dataram_base = mmap(0, prussdrv.pruss_map_size, PROT_READ | PROT_WRITE,
MAP_SHARED, prussdrv.mmap_fd, PRUSS_UIO_MAP_OFFSET_PRUSS);
...
int prussdrv_map_prumem(unsigned int pru_ram_id, void **address) {
switch (pru_ram_id) {
case PRUSS0_PRU0_DATARAM:
*address = prussdrv.pru0_dataram_base;
break;
prussdrv_map_prumem (DATARAM[PRU_NUM], &pruDataMem);
pruDataMem_byte = (unsigned char*) pruDataMem;
pruDataMemまたはpruDataMem_byteのいずれかをカプセル化し、mmapオブジェクトとしてPythonに渡したいと思います。これを行う簡単な方法はありますか?カプセルとctypeを調べましたが、探していることを実行していないようです。