2018 임베디드실습 기말고사 정리
- 최초 등록일
- 2019.10.19
- 최종 저작일
- 2018.10
- 8페이지/
한컴오피스
- 가격 1,500원

* 본 문서(hwp)가 작성된 한글 프로그램 버전보다 이용하시는 한글프로그램 버전이 낮은 경우에는 문서가 올바르게 표시되지 않을 수 있습니다. 이 경우에는 한글 뷰어 프로그램 또는 상위버전 으로 확인하여 주시기 바랍니다.
소개글
"2018 임베디드실습 기말고사 정리"에 대한 내용입니다.
목차
없음
본문내용
- ioctl() 사용 디바이스드라이버 프로그래밍
ioctl()함수의 포맷 : ioctl(int fd, int request, ...)
첫 번째 인자 - open()함수로 오픈된 디바이스 파일을 가리키는 파일디스크립터(fd)
두 번째 인자 - 디바이스드라이버 내에서 사용하기위해 정의된 명령어 번호(식별자)
세 번째 인자 - 두 번째 인자가 가리키는 정의된 명령어 실행에 필요한 값 전달
- ARM 프로세서 구조, 동작모드, Exception
사용자가 한번에 사용 가능한 레지스터는 R0 ~ R15이다.
R0 ~ R12는 사용자가 자유롭게 쓸 수 있는 32비트 일반 레지스터로 사용되고 R13, R14, R15는 각각 용도를 지닌 특수 목적 레지스터로 사용된다.
R13은 스택포인터(Stack Pointer)로 사용되고, R14는 링크레지스터(Link Register)로 사용되며, R15는 프로그램카운터(Program Counter) 기능을 가진다.
① USER(USR)모드
> 일반 사용자 프로그램 실행 레벨
② FIQ 모드
> 고속 인터럽트인 Fast Interrupt 서비스 처리 실행 레벨
③ IRQ 모드
> 일반 인터럽트인 IRQ 처리 실행 레벨
④ Supervisor(SVC)모드
> OS 서비스 실행 레벨
⑤ Abort(ABT) 모드
> Abort 상황 메모리 억세스시 발생하는 이상 현상 발생시 진입(가상메모리 구현, 메모리 보호기능에 사용)
⑥ Undifined(UND) 모드
> 프로세서가 해독 불가능한 명령어 코드를 패치 했을 때 진입
⑦ System(SYS) 모드
> OS 커널부분 실행 레벨
① 예외 발생
② 예외에 대응되는 프로세서 동작 모드로 들어감
③ 링크 레지스터 R14에 예외 당시 명령어 주소를 저장
④ SPSR(saved Program status regi-)에 현상태 레지스터 CPSR의 값을 저장
⑤ CPSR 비트 7을 “1” 로 해서 인터럽트 요청을 금지 시킨다.
⑥ R15 레지스터(프로그램 카운터)에 예외 벡터 값을 넣는다.
참고 자료
없음