device tree 예제

devicetree는 하드웨어를 설명하기 위한 데이터 구조입니다. 장치의 모든 세부 사항을 운영 체제로 하드 코딩하는 대신 부팅 시 운영 체제에 전달되는 데이터 구조에서 하드웨어의 여러 측면을 설명할 수 있습니다. 장치 트리는 OpenFirmware, OpenPOWER 추상화 계층 (OPAL), 전원 아키텍처 플랫폼 요구 사항 (PAPR) 및 독립 실행 형 평판 장치 트리 (FDT) 형태로 사용됩니다. 인터럽트 트리의 루트는 인터럽트 트리의 통과가 인터럽트 속성 없이 인터럽트 컨트롤러 노드에 도달하여 명시적 인터럽트 부모가 없을 때 결정됩니다. blob 파일 my-tree.dtb를 만듭니다. dtc 컴파일러는 호스트의 플랫폼에서 실행되도록 컴파일되는 이진 응용 프로그램입니다(즉, 교차 컴파일되지 않음). 커널이 호스트에서 컴파일되지 않은 경우 최소한 DTS 컴파일러를 컴파일해야 합니다. 어쨌든 별로 중요하지 않으므로 관련 구성 파일을 커널 트리의 루트 디렉토리에서 .config에 복사합니다. 또는 이 문제가 발생하는 경우 장치 트리의 각 노드는 다음 규칙에 따라 이름이 지정됩니다: GIC의 인터럽트 장치 트리 바인딩 형식은 Linux 커널 문서에서 여기에서 찾을 수 있습니다: 장치 트리 소스 파일은 노드로 구성된 트리 구조입니다. 연결된 속성 및 자식 노드를 참조하십시오. 일반적인 구문은 다음과 같습니다: Devicetree.org Devicetree 표준의 미래 발전을 촉진하기 위해 많은 기업과 개인의 커뮤니티 노력입니다. 이 예제에서 gpio 맵 마스크 속성의 값은 입니다. 이 마스크는 gpio 맵 테이블에서 조회를 수행하기 전에 자식 단위 지정자에 적용됩니다.

마찬가지로 gpio-map-pass-pass-value 속성의 값은 입니다. 이 마스크는 상위 단위 지정자에 매핑할 때 자식 단위 지정에 적용됩니다. 이 마스크에 설정된 모든 비트는 상위 단위 지정기에서 지워지고 하위 단위 지정기에서 상위 단위 지정기로 복사됩니다. 역 컴파일은 DTB 파일 또는 /proc/device-tree 파일 시스템에서도 가능합니다. DTB Blob에서 텍스트 파일을 가져오려면 장치 트리에 사용할 운영 체제용 이진 형식과 편리한 편집 및 관리를 위한 텍스트 형식이 모두 있는 장치 트리와 같은 것을 사용하십시오. [1] 우리 대부분에게 장치 트리는 커널이 추가하거나 제거한 특정 하드웨어(즉, PL 논리)에 대해 커널에 알리는 위치이므로 커널이 이를 처리하기 위해 올바른 드라이버를 시작할 수 있습니다(또는 하드웨어가 제거된 경우) 그렇게 하지 않습니다. 하드웨어에 대한 특정 정보가 전달되는 위치이기도 합니다.