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

현철님 조언데로 mmap()을 이용해서 테스트를 해봤습니다.

<test code>

#include <sys/mman.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define OLED_ADDR 0x50400000

int main(int argc, char* argv[])
{
    int fd, i, result = 0;
    unsigned char *oled;

    fd  = open("/dev/mem", O_RDWR);
    if(fd == -1)
    {
        printf("/dev/mem file Open failedn");
        exit(EXIT_FAILURE);
    }

    oled=(volatile unsigned char* )mmap(NULL,1,PROT_READ|PROT_WRITE
                                                         MAP_SHARED,fd,
                                                         OLED_ADDR);

    if(oled == MAP_FAILED)
    {
        printf("mmap function failedn");
        result = -1;
        goto fail;
    }


    for(i=0; i<100; i++)
        *oled = 0xFF;

    munmap(NULL, 1);
fail:
    close(fd);
    if(result == -1)
        exit(EXIT_FAILURE);
    else
        exit(EXIT_SUCCESS);
}

mmap()으로 테스트 했더니 device에 접금을 합니다.

I/O memory를 이용했던 드라이버에서는 왜 접근을 못하는지

같은 방법으로 I/O memory를 사용한 char driver로 key driver는 만들어서 잘 동작하고 있습니다.

제가 뭔가 잘못을 한것 같은데... 어느 부분을 틀린건지 모르겠습니다.

드라이버에서 I/O memory를 사용하는데 있어서 특별히 주의 할점이 있는지 궁금합니다.

고현철

2008.04.01 08:42:18
*.202.149.96

일단 없습니다....

단....

I/O memory를 어떻게 생성했냐입니다....

여러가지 방법이 있습니다만...

1. MMU setting(arm에서의 domain mmu setting)을 위한 memory access
2. kernel 에서 ioremap을 이용한 접근(app에서는 당근 virt address)
3. mmap을 이용한 방법입니다......2의 경우도 3의 mmap을 이용해서 가능합니다.

위의 세 경우를 생각하셔서 결정하시기 바랍니다........^^
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
228 application screen size OGeumDong Knife Ball 2010-05-07 476
227 TV Out [1] 김주영 2010-05-14 476
226 Android상에서 firmware upgrade [1] 파일럿 2010-05-15 476
225 makefile 관련 질문입니다. [1] 마수리 2010-07-03 476
224 Odroid-T의 소스를 받아볼 수 있을까요? [3] lived 2010-07-07 476
223 app 실행 문제에 대한 로그.. file [1] 은재아빠 2010-11-08 476
222 LCD 관련 문의 드립니다. [1] 조남희 2011-02-09 476
221 device.c 퍼미션 수정.. [1] skean 2011-03-04 476
220 이솝 MP2530F WinCE BSP 구해 봅니다... 에구릉 2011-08-18 476
219 eMMC 아트웍 질문 [4] 정창환 2016-01-11 475
218 6410 encoding/decoding 샘플 소스는 없나요? [1] 이성호 2009-03-24 475
217 aesop 2440 3차보드에서 openice사용가능한가요? [1] 조재영 2010-02-03 475
216 Device driver관련 site 박영호 2010-06-30 475
215 LCD 판매업체 소개해 주세요! [1] 차다 2010-08-10 475
214 V210보드 프로젝트 생성은 언제되는건지요. [1] 정찬홍 2010-10-21 475
213 fimc dual input 관련잘문입니다 날다병아리 2011-03-31 475
212 Touch 드라이브가 연결 되지 같습니다. [1] 한승우 2011-04-22 475
211 UBoot 궁금한 점... [2] 현쓰 2009-11-26 474
210 5150 튜닝에 관한 질문입니다. [6] 김수현 2009-12-02 474
209 aesop-6410용 virtualbox image [3] 이재훈 2010-02-19 474

사용자 로그인