2014년 3월 25일 화요일

Linux Device Tree Basics

본 장에서는 ARM SoC 및 보드 초기화 과정에 필요한 Device Tree, Clock, Pin Control, Platform Device Driver 등의 동작 원리를 살펴 본 후, 이를 토대로 실제 보드 초기화 과정이 어떠한 형태로 이루어지는지를 분석해 보고자 한다.

o  ARM SoC와 보드(Board) 소개

o  Device Tree
o  Timer, IRQ controller, Serial port driver, Earlyprintk
o  Common Clock Framework
o  Pin Control Subsystem
o  GPIO

o  Platform Device 기반의 구(old) ARM 보드 초기화
o  Device Tree 기반의 신(new) ARM 보드 초기화



1. ARM SoC와 보드 소개
ARM 아키텍쳐는 영국의 ARM 홀딩스(Holdings)가 설계한 것으로, 이 회사는 명령어 셋(instruction sets)을 정의(spec)하고, 명령어 셋, 메모리 관리 장치(memory management unit), 캐쉬(cache) 등을 구현한 ARM Core(: ARM926EJ-S, Cortex-A8, Cortex-A9, Cortex-M3, etc.)를 전 세계의 실리콘 벤더(silicon vendor)에 판매한다. 각 실리콘 벤더(Broadcom, Ti, Samsung, Marvell, Qualcomm, etc) ARM Core에 다양한 주변 장치(peripherals)를 포함시켜 그들만의 독자적인 SoC(System-on-Chip)를 만들게 되고, 각 시스템 제작 업체(system maker)에서는 이를 구입한 후, 최종적으로 자신들이 설계한 PCB(Printed Circuit Board)에 여러 컴포넌트를 추가하여 원하는 보드를 생산해 내게 된다.
그림 4-14-2는 지금까지 설명한 바와 같이 ARM 아키텍쳐(architecture)로부터 하나의 보드가 생산되기까지의 과정을 그림으로 표현한 것이며, 그림 4-3 ARM Core SoC 및 보드 간의 상관 관계를 역시 그림으로 표현한 것이다.



그림 4-1 ARM 아키텍쳐에서 보드까지의 생성 과정(1) [출처 참고 문헌 1-6]


그림 4-2 ARM 아키텍처에서 보드까지의 생성 과정(2) [출처 참고 문헌 1-6]



그림 4-3 ARM Core, SoC 및 보드(board)의 상관 관계 [출처 참고 문헌 1-6]


스마트 폰 덕분에 최근에 많이 접하는 Cortex-A8, Cortex-A9, Cortex-A15 등은 ARM Core에 해당하며, 이로부터 다양한 SoC(: TI OMAP 시리즈, Samsung Exynos 시리즈, Qualcomm Snapdragon 시리즈 등)들이 파생되게 되는데, 이를 그림으로 표현하면 다음과 같다.



그림 4-4 ARM 아키텍쳐의 발전 과정 [출처 참고 문헌 1-6]


앞서서 이미 언급했다시피, SoC ARM Core에 다양한 주변 장치를 추가한 것인데, 그림 4-5 SoC에 다양한 주변 장치를 추가시켜 스마트 폰 용 SoC로 변화시킨 예를 보여준다.



그림 4-5 Smart Phone SoC 기본 구조 [ 출처 참고 문헌  ]



보다 자세한 사항(그림을 포함한 전체 내용)은 아래 site의 내용(pdf 파일 - chapter 4)을 참고하시기 바랍니다.

http://www.kandroid.org/board/board.php?board=AndroidPorting&page=1&sort=wdate&command=body&no=210

혹은

https://drive.google.com/file/d/0B7oW1Li_HgntUGpOZ2FPWDlpNkk/edit?usp=sharing


댓글 없음:

댓글 쓰기