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

현철님 조언데로 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 MMSP2 보드에 USB HOST 포팅 질문입니다. <== [완료] [4] 이영재 2006-11-27 918
227 부팅 문제 질문 드립니다. [완료] [8] 김유석 2006-11-27 961
226 간단한 리눅스 환경변수 변경문제 물어볼께요.. [2] 이재훈 2006-11-24 1160
225 u-boot UImage 질문입니다. [완료] [1] 김유석 2006-11-23 1021
224 제품 양산시 커널을 어떻게 줄이나요??<====[완료] [3] 윤현승 2006-11-21 1068
223 [re] [긴급]I2C Interface 변효현 2006-11-21 823
222 풀 스크린 개념 ... 런쳐 에 관해서.. [2] 오용석 2006-11-19 936
221 SDL cpp file 컴파일 관련 [2] 김증일 2006-11-17 757
220 [완료] SDL Crosscompile 관련 질문 김증일 2006-11-17 908
219 SDL Cross compile 질문 [3] 김증일 2006-11-16 1020
218 u-boot에서의 usb ohci 구현에 대해서 질문드립니다. ==> [완료] [2] 박찬우 2006-11-15 829
217 H/W RESET에 관한 질문입니다. ===> [완료] [3] 신재곤 2006-11-15 819
216 추가 usb host 질문드립니다. ^^ => [완료] [8] 박찬우 2006-11-15 971
215 SDL 관련 질문 드립니다. [6] 김증일 2006-11-15 1254
214 임베디드리눅스 GUI 를 선택해야 하는데 ... [2] 장석원 2006-11-14 1069
213 GUI toolkit 선택 고민중...[완료] [7] 오용석 2006-11-13 1228
212 saa7111 을 이용해..[완료] [5] 박재현 2006-11-13 921
211 TFT-LCD 프레임버퍼 드라이버를 수정할때 [3] 장석원 2006-11-11 1275
210 [긴급]I2C Interface [9] 변효현 2006-11-10 1273
209 혹시 Video 스위칭 IC쪽 아시는분 있나요... [1] 이홍석 2006-11-10 1042

사용자 로그인