본문 바로가기

무언가 만들기 위한 지식/ARM Processor

About ARM Processor & Develop Tool


이번 겨울 프로젝트 중에 이놈의 ARM이란 놈에 대해 여러 자료들을 찾아보고 다양한 책들을 보게 되었다. 
그래서 간단하게 나마 기억들을 정리하기 위해서 ARM관련 포스팅을 시작하기 전에 주저리 기반에 대해 읊어보려 한다.



일단 ARM이란 Advanced RISC Machine의 약자로 임베디드 기기에 많이 사용되는 32-bit RISC 프로세서이다.
ARM은 임베디드 시장 조사 결과 RISC 마이크로프로세서 시장에서 76.8%로 1위를 차지하였다.


ARM은 저가의 효율적인 고성능 프로세서로 주변기기 및 SOC 설계를 전세계 주요전자 기업에게 라이센스 하고 있다.
ARM Limited가 ARM개발사인데 아콘 컴퓨터즈와 애플컴퓨터의 합작회사로 1990년대 창립한 회사이다. 직접 프로세서를 제작하는 것은 아니고 주문형 반도체의 내장코어로 탑제되고 있다고 한다.

ARM1을 출발으로 버젼이 상승하면서 현재 ARM11까지 개발되고 있다. 자세한 버젼업 과정은 아래 링크에서 확인이 가능하다.


필자가 사용한 ARM 버젼은 ARM920T로 CPU 삼성 S3C2440A에 탑재된 프로세서이다.


위와 같은 보드를 사용한다. (보드의 자세한 사양은 비밀~, 보드 정식명칭은 WT2440L-v1.1 )

아마도 이 분류의 포스팅에서는 공부했던 ARM의 기본 개념을 위주로 할 것이지 코드 결과는 별로 없을 듯하다.
(사실 이 포스팅 시점에서 필자가 위 보드를 가지고 있지 않기 때문에 테스트 할 길이 없다 -.,-;)

필자는 주로 어셈블러 쪽으로 책들을 보고 테스팅을 거쳤다. 그리고 CAssembler간에 주고받는 것들에 대해 테스트를 하였었다. OUTPUT은 주로 UART를 이용하여 키보드상에 출력하여 확인하는 방식을 이용하였다.


메모리 관련 디버깅 및 Ram Loading은 Trace32라는 고가의 장비(언제 또 써볼지 모르겠다 ㅠ.ㅜ 그리워질듯)를 이용하였고,
사용한 컴파일러는 ADS(Arm Developer Suite) v1.2를 사용하였다.(내부적으로 MetroWerks CodeWarrior를 사용-프로젝트 관리 및 컴파일, 링크)


대략적인 포스팅 계획으로는
마이크로프로세서, ARM Register, ARM Exception, ARM Mode, I/O Map, 등등 ARM뿐만이 아닌 전체적인 개념에 대해 다시 확인해보고 ARM의 특화된 부분을 강조해보려고 한다.

그럼 이제부터 시작해 보자.^_^

'무언가 만들기 위한 지식 > ARM Processor' 카테고리의 다른 글

Memory Mapped I/O  (1) 2010.02.20
CISC/RISC  (0) 2010.02.20
MicroProcessor  (0) 2010.02.19
Big-Endian & Little-Endian  (0) 2009.04.11
NAND/NOR FLASH Memory  (0) 2009.02.19