'ARM'에 해당되는 글 2건

  1. 2010.06.22 ARM-state general registers and program counter
  2. 2010.06.21 ADS(ARM Developer Suite) 설정하기
ARM2010. 6. 22. 16:38

다음은 ARM의 여러가지 동작모드 가운데 유저모드 FIQ모드 IRQ모드 3가지를 사용할 때 쓰이는 레지스터의

모습을 그림으로 나타낸 것 이다.

검은색 삼각형이 없는 레지스터는 모든 동작모드에서 구별하지 않고 동일하게 사용되는 범용 레지스터이다.

검은색 삼각형은 해당하는 모드에서 자신만이 쓰는 레지스터이다. 

여기서 FIQ모드가 IRQ보다 빠른 이유는 먼저 유저모드에서 IRQ로 모드가 변환될 때 IRQ의 값을 스택에 저장하게 된다.

여기서 자기만이 쓰는 레지스터(r13_irq,r14_irq)는 스택에 복사되지 않고 범용 레지스터 부분만 스택에 저장하게 되며

다시 유저모드로 돌아갈 때 r0 ~ r12까지의 값을 다시 가져오게 된다.

반면에 FIQ모드는 자기만이 쓰는 r8_fiq ~ r14_fiq는 스택에 저장하지 않고 r0 ~ r7만 스택에 저장하고 다시 모드가 변환

될 때 r0 ~ r7레지스터만 불러오기 때문에 상대적으로 12개의 레지스터를 저장하고 불러오는 IRQ모드보다 8개의

레지스터만 사용하는 FIQ모드가 보다 빠르다.


'ARM' 카테고리의 다른 글

ADS(ARM Developer Suite) 설정하기  (0) 2010.06.21
Posted by 해해해해해해해해
ARM2010. 6. 21. 17:01

1. [File] - [New]를 클릭하면 다음과 같은 화면이 나오는데 ARM Executable Image를 클릭한후 프로젝트 이름을 test로 입력한다. 경로는 아무곳이나 상관없다. 확인 클릭


2. 확인을 클릭하면 다음과 같은 화면이 나오는데 화면에 대고 우클릭하면 add files 와 create group 두가지가 나온다

먼저 create group을 클릭한 후  Cstartup이라는 부트코드 폴더를 만들고 부트코드를 추가한다.

3. 그럼 Cstartup이라는 부트코드를 담을 폴더가 생긴다 . 다시 이 폴더에 마우스 우클릭을 하면 add files와 creat group

그리고 delete가 뜬다. 그럼 add files를 클릭한 후 부트코드를 추가한다. 

4. 그리고 다음화면이 나오면 그냥 OK.

5. 다음과 같이 나오면 성공적으로 부트코드를 추가한 것이다.

6. 다시 다음화면에서 아무데나 우클릭하면 add files과 create group이 나오는데 create group을 클릭한후 source폴더를 만든다. source폴더에 우클릭하고 add files를 클릭한다.

7. 그리고 작성한 소스코드를 추가한다.

8. 그리고 main.c를 더블클릭한 후 [project] - [compile] 클릭 후 다시 [project] - [make]를 누르면 다음과 같이 

successful!!



'ARM' 카테고리의 다른 글

ARM-state general registers and program counter  (0) 2010.06.22
Posted by 해해해해해해해해