본 장에서는 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-1과 4-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
댓글 없음:
댓글 쓰기