'android dtb'에 해당되는 글 1건

  1. Device Tree For Android

Device Tree For Android

Device Tree (디바이스 트리)

Intro

"오픈 펌웨어 디바이스 트리" 또는 간단히 디바이스 트리(DT)는 하드웨어를 서술하기 위한 데이터 구조와 언어입니다. 더 정확하게는, 어떤 운영 체제에 의해 읽혀져서 운영 체제가 그 머신의 상세 사항을 하드 코딩할 필요 없게 하는 한 하드웨어의 서술입니다.

구조적으로, DT는 이름있는 노드들로 이루어진 하나의 트리, 또는 사이클이 없는 그래프이고, 노드들은 임의의 데이터를 캡슐화하는 이름있는 프로퍼티 를 임의의 개수만큼 갖습니다. 또한 한 노드에서 자연스러운 트리 구조의 밖 다른 곳으로 임의의 연결을 만들 수 있는 메카니즘도 존재합니다.

개념적으로, 데이터 버스, 인터럽트 라인, GPIO 연결, 그리고 부속 장치들을 포함하는 일반적인 하드웨어 속성을 서술하기 위해서 트리 안에서 데이터가 어떻게 나타나야 하는지를 위한 '바인딩'이라고 부르는 사용 용법의 공통 부분이 정의됩니다.

가능한 한 많이, 이미 존재하는 지원 코드의 사용을 최대화하기 위해서 이미 존재하는 바인딩을 사용해서 하드웨어가 서술됩니다. 그러나 프로퍼티와 코드 이름은 간단한 문자열이기 때문에, 이미 존재하는 바인딩을 확장하거나, 새로운 노드와 속성을 정의하는 것으로 새로운 것을 하나 생성하는 것은 쉽습니다. 그러나, 이미 존재하는 것에 대한 어떤 과제를 먼저 하지 않고, 새로운 바인딩을 생성하는 것은 조심하세요. 이전에 어떻게 기존 시스템에서 i2c 디바이스들이 열거되는지를 먼저 파악하지 않고 생성된 새로운 바인딩 때문에 현재 두가지 다른, 호환되지 않는 i2c 버스를 위한 바인딩이 있습니다.

  • ATAG : 부트로더와 커널간의 파라미터를 주고 받는 전통적인 인터페이스
  • Device Tree : Embedded에서 수많은 포팅을 지원하기 위해 하드웨어를 기술한 자료구조

Ref URL : http://devicetree.org/Device_Tree_Usage


Boot Image For Android

Header & Layout


QC table of device tree 

  • Android는 QCDT의 Device Tree를 사용
  • device tree의 새 테이블을 가리키도록 기존의 부트 이미지 헤더의 "unused #1, #2"를 사용(#1 - device tree의 QC 테이블 크기)
  • Android의 Device Tree Format의 구조는 아래와 같다.

Format

신고