임베디드 시스템 실험 5주차 ARM명령을 이용한 S3C4510 IO 제어
- 최초 등록일
- 2013.10.28
- 최종 저작일
- 2012.03
- 22페이지/
한컴오피스
- 가격 4,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
목차
1. Title
2. Name
3. Abstract
4. Background
5. Source code
6. Experimental Results
7. Conclusion
8. References
본문내용
3. Abstract
GPIO실습 - ASSEMBLY
이번 실험을 통해 I/O Register에 대해 알아보고, 이를 통해 ASSEMBLY 명령을 사용 하여 S3C4510의 dip-sw, LED, push-sw, 7-segment와 같은 IO장치의 제어하는 방법 에 대해서 알아본다.
4. Background
S3C4510B Processor의 구조 및 block diagram
이번 실험은 Evaluator-7T라는 보드를 사용하였는데, 이 보드에는 S3C4510B라는 삼성전자에서 만든 microcontroller를 사용하고 있다. S3C4510 16/32bit RISC microcontroller는 이더넷을 기반으로 한 시스템에서 가격대 성능비로 봤을 때 높은 성능을 지닌 microcontroller이다. ARM7TDMI RISX 프로세서를 사용하고, 8kbyte의 Data Cache, I²C Serial Interface, Ethernet Controller를 사용한다. 2개의 UART channel과 2개의 32bit Timer channel을 포함한다. 또한 이번실험에서 사용한 18개 PIN의 Programmable I/O Port가 내장되어 있고, 4개의 외부 Interrupt source를 포함한 21개의 Interrupt source가 내장되어 있다.
<중 략>
Link Register (r14)
r14는 링크레지스터(Link Register)라고 부르는데, 레지스터는 8086과 같은 CPU에서는 보지 못했던 기능의 레지스터다. 8086등의 프로세서에서는 서브루틴을 호출할 경우 CALL을 사용하면 다음에 수행될 프로그램 카운터를 스택에 넣고, 호출될 번지를 프로그램 카운터에 넣는 동작을 하는데, ARM에서는 CALL과 RET와 같은 명령이 없고 그 대신 BL(Branch with Link)라는 명령이 있는데, 이 명령어를 사용하면, CALL과 비슷하게 다음에 수행될 pc(r15)값을 LR(r14)에 넣고 분기 번지를 pc(r15)에 넣어 분기한다. 즉, 스택이 아닌 LR(r14)에 넣는다는 차이점이 있다. 또한 복귀할 때에는 RET대신 mov pc,lr 이라는 데이터 전송명령으로 복귀한다.
<이하생략>
참고 자료
ADS Developer Suite Assembler Guide / ARM
S3C4510B datasheet / SAMSUNG electronics
[HandOut] 3_1._7Toverview
[HandOut] 3_2._7Tgpio
info.hwp / VLSI 홈페이지 실험자료