본문 바로가기

arm

ARM7 강좌 [3] : ARM7의 구조 (출처 : 디지털 동호회) 출처 : 디지털 동호회 ---------------------------------------------------------------------- ARM7 강좌 [3] : ARM7의 구조 ---------------------------------------------------------------------- * ARM7의 구조 1. 레지스터 : ARM7에는 31개의 32Bit 레지스터가 있습니다. 또, 동작모드에 따르는 -여기서 동작모드는 Exception부분에서 자세히 다루겠습니다.- 6개의 Status 레지스터가 있습니다. 2. ALU : 32Bit 연산이 가능한 ALU가 제공됩니다. 그런데 특이한 것은 ALU의 한쪽 입력은 Barrel Shifter라는것이 연결되어 있어서 ALU의 인수 하.. 더보기
ARM7 강좌 2 개요 (출처 : 디지털 동호회) 출처 : 디지털 동호회 ---------------------------------------------------------------------- ARM7 강좌 [2] : 개요 ---------------------------------------------------------------------- * ARM7의 특징 ARM의 가장 큰 특징은 전력을 조금만 소모한다는 것입니다. 일설에 의하 면, ARM을 설계할 때, 요즘 CPU를 설계하는 방법처럼 VHDL등을 사용한 것 이 아니라 일일이 회로를 그려가면서 했다는 설도 있습니다. 사실이야 어 떻든, ARM의 저전력 설계기술은 널리 알려진 사실입니다. 이런 이유 때문 에, ARM CPU는 상대적으로 전력이 중요하게 여겨지는 휴대용 단말기에 많 이 채.. 더보기
부트로더의 기본 구현 1 저 자 : 유영창 출판일 : 2003년 12월호 부트로더의 주 임무는 커널이 동작할 수 있는 환경을 구성하고 커널을 시작하는 것이다. 정의는 간단하지만 프로세서를 정상적으로 동작시켜야 하기 때문에 그리 만만한 일이 아니다. PXA255 프로세서에서 동작하는 이지부트 프로그램은 두 부분으로 나눠져 있다. 최소한의 환경 설정을 하는 start 프로그램 부분이 있으며, 커널이 부팅하도록 지원하고 개발의 편리함을 제공하는 main 프로그램이 있다. start 프로그램은 모두 ARM 어셈블러로 구성돼 있고 스택이 없기 때문에 다중 호출도 하지 못하는 가장 열악한 환경의 프로그램이다. 이번 호에는 이지부트의 시작점인 start.S를 집중적으로 살펴보고자 한다. 연+재+순+서 1회 2003.10 | 임베디드 프로그래.. 더보기
보드를 살려보자-6 저 자 : 유영창 출판일 : 2003년11월호 == Makefile 리눅스에서 동작하는 gcc는 기본적으로 make 유틸리티를 사용하여 컴파일한다. RAD 툴을 사용하던 프로그래머라면 이 make 유틸리티가 다소 어렵게 느껴질지 모르지만 리눅스 프로그래머거나 기존 펌웨어 프로그래머라면 항상 접하는 유틸리티이다. 리눅스에서 사용되는 make 유틸리티는 매우 유용한 도구이고 개념만 익히고 나면 쉽다는 것을 알 수 있다. make 유틸리티는 기본적으로 Makefile이라는 이름을 갖는 파일을 필요로 한다. 이 Makefile이 바로 컴파일에 관련된 모든 조건을 기록해 놓는 파일이다. 보통 이 Makefile은 구성이 비슷하기 때문에 한번 자신만의 구성을 만들면 이후에 조금씩 수정해서 쓰면 된다. make에 관.. 더보기
보드를 살려보자-5 저 자 : 유영창 출판일 : 2003년11월호 == start.S 어셈블러 에서 가장 먼저 보이는 것은 (1)인데, 이렇게 선언되면 이후 코드의 어드레스 영역이나 기타 조건은 링커 스크립트에 선언된 .text라는 선언에 영향을 받는다. 일반적으로는 프로그램 코드 영역을 의미한다. 하드웨어 리셋이 발생하면 ARM은 0x00000000번지의 명령을 수행한다. 이 번지는 링커 스크립트에 의해서 _start 라벨에 맵핑된다. 좀더 정확히 말하면 링커 스크립트에서 .text에 대해 0x00000000번지에 할당되어 있기 때문이고 _start 라벨이 가장 먼저 기술되었기 때문이다. 이 _start가 0x00000000번지이기 때문에 이 라벨 이후에 인터럽트 벡터 테이블이 들어간다. 그래서 각 벡터 테이블이 수행할 .. 더보기
ARM 부트로더 제작기 보드를 살려보자-1 저 자 : 유영창 출판일 : 2003년11월호 임베디드 시스템에서 하드웨어 설계가 끝나고 제작 후 샘플 보드가 나왔을 때 가장 먼저 하는 것이 보드에 대한 검증이다. 필자가 다니는 회사에서는 이것을 ‘보드 살리기’라는 말로 표현한다. 이 보드 살리기는 운이 좋으면 바로, 운이 나쁘면 언제 끝날지 모르는 피 말리는 시간이 필요하다. 이런 현상이 발생하는 이유는 문제의 원인이 하나가 아니고 여러 가지가 혼재하기 때문이다. 어떤 문제를 해결하는 가장 빠른 방법은 문제의 종류를 구분하는 것이다. 그런데 이 경우에는 이 자체도 매우 어렵다는 것이다. 하드웨어 문제인가? 소프트웨어 문제인가? 때문에 보드 살리기에 필요한 과정을 살펴보고 부트로더와의 관계를 살펴보자. 연+재+순+서 1회 2003.10 | 임베디드 프.. 더보기
ARM 코어 프로세서는 뭔가...?? [ARM 의 정의] ARM은 Advanced RISC Machine 의 약자다. 말그대로, 임베디드시스템에 들어가는 저전력, 고성능의 기기다. 여기에는 고성능의 RISC(Reduce Instruction Set Computer)가 들어간다. 아주 많은 기업체들이 이를 지원하고 있다. ARM Architecture - ARMv5TE, ARMv5TEJ, ARMv6 ARM Microarchitecture - ARM9, ARM10 코어 ARM Mictoprocessor - 사용하고자 하는 용도에 맞게 ARM Microarchitecture 기반 칩이다. 참고 - 이름중 T는 16bit thumb 명령 지원 [ARM의 특징] 가장... 좋은 점은 전력소모가 적다. ARM7의 경우 내부 32bit 데이터 버스/어드.. 더보기