Busan IT/로봇제어2015. 10. 15. 09:10

==================================Outline====================================

ARM 레지스터

gcc kernel 업데이트

----------------------------------------------------------------------------

ARM 레지스터 

로봇제어를 하겠다. 정규시간에는 로봇제어 비정규시간에는 어셈블리를 공부하겠다.

 

라즈베리파이에서 기본형에 간단한 함수를 만들어 넣고 에셈블리 파일이 나오도록 컴파일한다.

 

파일을 열어보면 기존에 배운 어셈블리 파일과 내용이 다른 것을 알 수 있다. 라즈베리 파이는 ARMCPU를 쓰기 때문이다.

 

- 'str' 저장 명령어

 

//embedded recipes 책의 ARM레지스터 부분 참조

레지스터들의 이름은 CPU마다 다르다. Inter사의 이름이 붙은 레지스터가 특이한 경우이다.

 

PCProgram Counter이다. 인텔 CPU 레지스터의 EIP와 같은 기능을 한다.

 

레지스터는 7가지 모드가 존재한다.

 

r13 - r15는 특수한 기능을 가지고 있다.

 

모드에 상관없이 r0 - r7에는 같은 값이 들어간다.

 

- SP는 스택 포인터의 약자이다.

 

r14link 레지스터로써 프로그램이 복귀할 주소를 저장해 놓는다.

 

인텔의 CPU와 달리 ARM은 함수의 인자와 리턴 어드레스를 저장하기 위해 스택을 사용하지 않고 CPU 레지스터를 사용한다.

 

ARM은 메모리를 적게 사용하기 때문에 Intel에 비해 속도가 빠르다.


gcc kernel 업데이트 

리눅스에 맞는 최신 커널을 다운받아 업데이트한다.

 

https://www.raspberrypi.org/documentation/linux/kernel/building.md

 

 

GitHub는 프로그램을 버전별로 정리해주는 자료서버이다.

 

 

라즈베리파이2 회로도 정보 및 techrical reference manual을 다운 받아 저장한다.




반응형
Posted by newind2000