Linux를 실행하는 단일 보드 컴퓨터에서 하드웨어를 제어하는 장치 구성 레지스터의 내용을 읽을 수 있는 방법이 있습니까? 나는 그것이 될 것이라고 생각한다 inw()
.
md
저는 드라이버 디버깅의 맥락에서 사용할 U-boot memorydump( ) 명령과 동등한 것을 찾고 있습니다 .
답변1
장치의 물리적 주소를 알고 있다면 devmem2를 사용할 수 있습니다.
devmem2 <physical address> <size (b/h/w)> [value]
답변2
바닐라 커널만으로 할 수 있는지 모르겠습니다.
그러나 보고 싶은 메모리 내용을 내보내기 위해 /proc의 "파일"을 사용하는 간단한 드라이버를 작성하는 것은 상당히 어려울 것입니다.
그런 다음 간단한 스크립트를 사용하여 "파일"을 읽고 해당 메모리에 액세스할 수 있습니다.
답변3
제가 완전히 틀렸을 수도 있고, 그렇다면 용서하세요. 하지만 uboot의 md 명령이 장치 레지스터에 매핑된 메모리 주소를 읽고 내용을 반환한다면 동일한 메모리 위치를 영리하게 사용할 수 없습니까? 의 dd if=/dev/mem ...
?
답변4
라는 유틸리티가 있습니다.PCIEM(https://github.com/billfarrow/pciem)
이를 사용하여 PCI 장치를 읽고 쓸 수 있습니다.