cyDPCS 发表于 2007-2-13 15:35:02

请教:在应用程序中,打开mem遇到permission问题

Denied

int main()
{
        int tmpRet;
        int fd;
        unsigned int *reg_addr;
       
        printf("start test\n");
        fd = open("dev/mem", O_RDWR);
        if(fd < 0)
        {
                        //fprintf(stderr,"iopl errno:[%d], error:[%s]",errno, strerror(errno));   
                        printf("error 0");
                        return -1;
        }
        reg_addr = mmap(NULL, 0xc8, PROT_READ|PROT_WRITE, MAP_SHARED, fd, GPIO_BASE);
        printf("reg_addr = %d", reg_addr);
}
在网上搜了搜,说mem需要特权用户的权限,但是我在嵌入式Linux上已经是特权用户了,只不过在上位机编译的时候不是特权用户,请问这会是原因吗?
请问,我可以在程序中获取特权用户的权限吗?

kennethjia 发表于 2007-2-28 14:48:38

GPIO_BASE是多少,是不是范围不对啊。现在/dev/mem似乎不能任意映射
页: [1]
查看完整版本: 请教:在应用程序中,打开mem遇到permission问题