CP15 용어
'임베디드' 카테고리의 다른 글
SiP vs SoC (0) | 2021.04.14 |
---|---|
ARM 프로세스 모드 - 시스템 모드 - (0) | 2011.06.11 |
cache thrashing (0) | 2011.04.30 |
CP15 용어
SiP vs SoC (0) | 2021.04.14 |
---|---|
ARM 프로세스 모드 - 시스템 모드 - (0) | 2011.06.11 |
cache thrashing (0) | 2011.04.30 |
Linux: umask (0) | 2012.01.03 |
---|---|
JBD error message "barrier-based sync failed" (0) | 2011.08.17 |
EXT4 파일 시스템 굽기 (0) | 2011.08.02 |
[Ubuntu] Ubuntu 에서 make menuconfig 안될때, (0) | 2011.04.22 |
/opt, 리눅스 패키지 설치 (0) | 2011.04.20 |
네트워크 속의 유령, 케빈 미트닉 (0) | 2013.12.03 |
---|---|
GoF 디자인 패턴! 이렇게 활용한다. (0) | 2013.03.24 |
tar: time stamp s in the future (0) | 2011.08.26 |
---|---|
dd (주로 빈 파일 만들기, loopback 마운팅 할 때 쓰임) (0) | 2011.08.02 |
엔디안 처리하는 함수 (0) | 2011.06.06 |
busybox cross-compile (0) | 2011.06.01 |
mount 옵션비교 atime, noatime, relatime (0) | 2011.06.01 |
프로세서 익셉션이 일어 났을때, 현재 PC값은 LR에 복사가 되고, CPSR은 SPSR로 복사가 됩니다. 그 후에 CPSR은 어떤 익셉션이냐에 따라서 변할 것이고, PC도 익셉션 핸들러를 돌리기 위해 익셉션에 맞게 정의된 주소로 바뀝니다.
그후, ARM의 서브루틴 콜(BL)은 서브루틴으로 뛰기 전에 r14에 리턴할 주소를, PC값을 바꾸기 전에 복사해놓고, 서브루틴에서 돌아올때는 PC에 r14값을 넘겨줍니다. 그러므로 지금 일어난 익셉션을 핸들하고 있는 현 ARM 모드는 같은 종류의 익셉션이 일어낳지 않도록 해야 합니다.(안 그러면 서브루틴 리턴 주소가 익셉션 리턴 주소로 덮어씌어질테니까요)
ARMv4이전까지는 익셉션 코드에서 서브루틴콜을 피하거나 권한모드에서 유저모드로 들어가서 처리했는데, 전자는 너무 제한적이고, 후자는 태스크가 필요한 권한을 가지지 못할 수도 있다는 문제가 있습니다. 그래서 ARM v4 이후에서는 시스템 모드라는 걸 지원해서 이러한 문제를 해결했습니다. 시스템 모드는, 유저모드에 있는 레지스터를 공유할 수 있는 권한모드이기 때문입니다.
비슷한 얘기지만 인터럽트 핸들러를 재진입시에도 시스템 모드를 사용해서 문제를 해결 할 수 있습니다. ARV v4이전까지는 Supervisor 모드로 들어가야 했습니다.
SiP vs SoC (0) | 2021.04.14 |
---|---|
ARM cp15 register에 관련된 용어들 (0) | 2011.06.28 |
cache thrashing (0) | 2011.04.30 |