기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

iomem.png : mmap에 대하여 문의 드립니다.

안녕하세요. 

현재 SRAM을 붙였는데, mmap를 사용하여 읽고 쓰기를 테스트 하려고 합니다.


/proc/iomem을 보면 아래와 같이 gpmc-is62.0 (0x02000000)으로 메모리가 할당이 되었는데

mmap를 이용하여 읽어 쓰기를 하려고 하면 동작이 되지 않습니다.

 

프로그램을 실행하면 할때마다 address가 다르게 나옴니다.

무슨 문제인지 알수가 없습니다.

고수님들의 도움 부탁 드립니다.


application source


int main(int argc, char *argv[])

{

    int mmap_fd;

    unsigned char *pAddr = NULL;


    if( (mmap_fd = open("/dev/mem", O_RDWR | O_SYNC)) < 0 )

    {

        printf("error in mem open");

        exit(0);

    }


    pAddr = mmap(0,1,PROT_WRITE|PROT_READ, MAP_SHARED, mmap_fd, 0x2000000);


    if( (int)pAddr < 0 )

    {

        close(mmap_fd);

        printf("mmap error: %d", (int)pAddr);

        exit(0);

    }


    printf("mmap address = 0x%X\n", (int)pAddr);

    printf("mmap data = 0x%X\n", (*pAddr));


    munmap(pAddr, 1);

    close(mmap_fd);

    return 0;

}



List of Articles
번호 제목 글쓴이 날짜 조회 수

사용자 로그인