2012-12-13 2 views
3

gpio_request가 GPIO 번호를 필요로하지만, 커널에서 gpio를 처리하기위한 주소가 필요하다는 문제가 있습니다. 리눅스가 어떻게 이것을 달성합니까?gpio_request가 GPIO 번호를 Linux의 가상 메모리 주소에 어떻게 처리합니까?

MSM8x60 또는 SOC 칩 Spec과 같은 칩 사양에는 항상 GPIO 용 메모리 영역이 표시된 메모리 맵이 있습니다. 그러나 커널 드라이버에서 gpio 번호를 사용하여 gpio에 액세스합니다.

내 질문 : 1, 칩 사양의 메모리 맵에있는 메모리 주소가 실제 주소입니까? 2, 커널에서 가상 주소를 사용합니다. 커널이 gpio 번호를 가상 주소로 변환하는 방법은 무엇입니까?

감사합니다.

친절 감사 빌 왕

답변

0

일반적으로는 임베디드 시스템에서 주소가 가상입니다 전체 주소의 주소 맵이 있습니다.

gpio 포트 번호를 사용하는 경우 관련 GPIO 드라이버 또는 gpio 포트 번호를 가상 주소로 변환 할 수 있으며 MMU는 실제 주소에 위치합니다.