запускаю программу, получаю в ответ Код Failed to open /dev/mem, try checking permissions. под рутом программа нормально запускается. Нужно запустить под юзером. Смотрю владельцев Код pi@raspberrypi:~/$ ls -l /dev/mem crw-rw---- 1 root kmem 1, 1 Nov 2 11:29 /dev/mem добавил пользователя в группу kmem Код pi@raspberrypi:~/$id pi uid=1000(pi) gid=1000(pi)roups=1000(pi),4(adm),15(kmem),20(dialout), 24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),101(input),108(netdev),999(spi),998(i2c),997(gpio) всё равно под юзером «Failed to open /dev/mem». Есть возможность не из под рута открыть на чтение/запись /dev/mem? ps программа открывает /dev/mem сишным кодом open(«/dev/mem», O_RDWR | O_SYNC);
Насколько понял Вы хотите разделяемую память... "единую" для разных процессов. Для этих целей наверное удобнее применить /dev/shm/<Вами создаваемый файл памяти>. Хотя посмотрите повнимательнее (и более подробно) от чьего имени запуск программы и каковы разрешения.
И... устройство /dev/mem вообще не должно быть разрешено. Хоть и выводит по cat содержимое... но в каком то мете (смещение, адрес) "Операция не позволяется"... даже при root доступе.