메모리 맵을 볼 수 있는 방법은???
글쓴이: 익명 사용자 / 작성시간: 수, 2002/01/02 - 7:58오후
User level의 API 함수를 이용하여 Device의 레지스터를 읽고 쓰려고 합니다.
근데, Address 0xd0065838 out of bounds(gdb에서 debugging시)라며
세그멘테이션 오류가 발생을 합니다.
Base Address(0xd0065800) 자체가 User level에서 볼 수 있는 메모리 영역을
벗어나는건지...?
그렇다면... Linux에서 사용하고 있는 메모리 맵을 알고 싶습니다.
이런 경우 , 어떻게 접근을 해야 하는지 조언 부탁드립니다.
Forums:
Re: 메모리 맵을 볼 수 있는 방법은???
또 궁금이 wrote..
User level의 API 함수를 이용하여 Device의 레지스터를 읽고 쓰려고 합 니다.
근데, Address 0xd0065838 out of bounds(gdb에서 debugging시)라며
세그멘테이션 오류가 발생을 합니다.
Base Address(0xd0065800) 자체가 User level에서 볼 수 있는 메모리 영 역을
벗어나는건지...?
그렇다면... Linux에서 사용하고 있는 메모리 맵을 알고 싶습니다.
이런 경우 , 어떻게 접근을 해야 하는지 조언 부탁드립니다.
0xc0000000 이상부터는 커널영역입니다..
님 말씀대로지요..
그리고 memory-mapped된 register를 건들려면 아마도 커널 프로그래밍을
해야 할겁니다..
그냥 io port인 경우는 user level인 iopl함수를 써서 io권한을 낮춘 다음
에 쓰면 됩니다..
댓글 달기