2013-06-21 6 views
1

일부 실제 메모리를 검사 할 수있는 사용자 토지 응용 프로그램을 작성하려고합니다 (디버그 목적으로).리눅스에서 일부 실제 메모리를 검사 할 수있는 사용자 토지 응용 프로그램을 작성하려고합니다 (디버그 목적으로)

od -j <0xknown_good_physical_address> -N 256 /dev/mem 

(w/CONFIG_STRICT_DEVMEM=n) OS가 충돌합니다.

기능 ioremap, phys_to_virtphys_to_page은 내 /usr/include 디렉토리에 없습니다. 내가 연구하고 make headers_install 절차를 시도했지만 함수는 여전히 내 usr/dir을 포함하지 않습니다. AFAIK는 사용자층 애플리케이션에는 사용할 수 없음을 의미합니다. 누구든지 사용자 공간 응용 프로그램에서 실제 메모리에 액세스하는 방법을 알고 있습니까? 참고로 한 번 더 읽으려고하는 실제 주소는 "메모리"라인에서 lspci -v을 수행함으로써 얻은 PCI BAR입니다.

답변

0

mmap()하여 mmap 할 수있는 방법에 따라 읽고 쓸 수있는 가상 주소를 얻을 수 있습니다.

+0

필자는 ioremap을 사용하여 물리적 주소에 액세스하는 커널 모듈 유틸리티를 작성했습니다. 그것은 작동합니다. 이 일에 대해 후속 조치하지 않으면 어떨까요? –