강좌 & 팁
커널은 자꾸만 자꾸만 복잡해져 갑니다.
수많은 ARM 아키텍쳐 기반의 CPU 들이 나오고 있고 수많은 주변 장치를 지원합니다.
이제 ARM도 이런 다양성을 지원하기 위한 통합 방식이 생겨나고 있습니다.
오래전부터 사용되던 ATAG 방식은 부트로더와 커널간의 파라미터를 주고 받는 전통적인 인터페이스입니다.
Embedded 에서는 수많은 포팅을 지원하기 위하여 Device Tree 라는 것이 제안되었습니다.
이것은 단순히 자료구조를 정의한 것에 불과합니다.
하드웨어를 기술하기 위한 자료구조입니다.
device tree 는 두군데에서 사용되고 있다고 합니다.
open firmware 에 시작된 이 방식은 주로 powerpc 계열과 sparc 플랫폼에서 주로 사용되던 방식이었습니다.
이후에 Powerpc 계열에서 DT 라는 이름을 Flattened Device Tree (FDT) 라고 이름 짓고 확장되었습니다.
부트로더에서는 Device Tree Binary (DTB) 와 전통의 커널이미지를 지원하는것이 필요하게 되었고,
파라미터의 구조역시 ATAG 방식과 두가지를 모두 지원하는 것이 필요합니다.
사용하는 방법과 관련해서는 현재 조금씩 공부를 하고 있는데요
가장 좋은 문서는 역시 커널에 있습니다.
Documentation/devicetree/*** 에 있구요
참고할 만한 사이트는 아래에 있습니다.
http://devicetree.org/Device_Tree_Usage
이지부트에 포팅을 하면서 관련 문서를 조금씩 올려보도록 하겠습니다.