Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [LINUX-V4L2] Problemi con mmap

    holaz

    ho un problemino ...

    sto scrivendo un software di acqusizione video su linux e sto usando dei buffer per acquisire i dati dalla scheda d'acquisizione video alla memoria

    il codice è questo

    codice:
            if (ioctl(video_fd, VIDIOC_QUERYBUF, &buffer) == -1)
            {
                    perror("VIDIOC_QUERYBUF");
                    exit(EXIT_FAILURE);
            }
    
            buffers[i].length = buffer.length;
            
            printf("%2i: %i/%li\n", i, buffer.length, sz);
            
            buffers[i].start = mmap(NULL, buffer.length, PROT_READ | PROT_WRITE, MAP_SHARED, video_fd, sz);
    
            if (buffers[i].start == MAP_FAILED)
            {
                    perror("mmap");
                    exit(EXIT_FAILURE);
            }
    l'errore che mi restituisce perror è
    mmap: Permission denied (ci sta l'mmap davanti per via di perror)

    ovvero errno è impostato su 13

    i parametri buffer.length e sz corrispondono rispettivamente a 233472 e 4096

    video_fd è il File Descriptor del device e funziona perfettamente perché eseguo tutto le operazioni senza problemi

    ora non so proprio cosa possa essere
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  2. #2
    problema risolto

    per chi fosse interessato ... il problema era dovuto all'open che usavo con il flag per la sola lettura invece era necessario aprire in lettura/scrittura

    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.