ARM
Posts
173 posts[ARM] ARM 프로세서를 배워야 하는 이유
이번 시간에는 ARM 프로세스를 왜 배워야하는지 이야기를 해보겠습니다. 우리가 어떤 것을 처음 배울 때는 그것을 왜 배워야 하는지 알면 좋습니다. 왜냐면, 무엇을 공부하기 전에 왜 배워야 하는지 알면 더 동기 부여가 되기 때문이죠. 다른 동료들이나 친구들이 ARM 프로세서는 잘 배워야 한다고 해서 등떠밀려 공부하면 잘 집중이 안되는 거 같습니다. 그렇지 않나요? 무엇보다 배운 내용이 어떻게 활용되는지 알면 공부할 때 더 힘이 날 겁니다. 소형 기기에서 ARM 프로세서를 많이 탑재 ARM 프로세스를 배우는 가장 큰 이유는 ARM 프로세서를 많이 쓰기 때문이에요. 대부분 휴대 기기에는 ARM 프로세서가 많이 탑재돼 있어요. 여러분들, 모두 휴대폰 1개는 다 들고 다니죠? 안드로이드 스마트폰에 탑재된 CPU
[ARM프로세서] ARM 모드에 대한 소개
ARM을 공부하면 가장 먼저 만나는 용어가 있습니다. 바로 ARM 동작 모드입니다. ARM 모드는 ARM의 세부 동작을 배우려면 반드시 알아야 하므로 잘 익혀 둘 필요가 있습니다. 특히 64비트 기반의 ARMv8 아키텍처는 기존 ARM의 모드에 대응되는 익셉션 레벨이란 개념을 도입했습니다. 익셉션 레벨이란 개념이 기존 ARMv7 아키텍처의 ARM 모드에서 발전됐으니 먼저 ARM의 동작 모드부터 살펴봅시다. 이 ARM 동작 모드를 잘 익혀야 시스템을 디자인하고 디버깅할 때 배운 내용을 유용하게 활용할 수 있습니다. 실행 모드를 잘 살펴 보면 유저(User) 모드는 표준 사용자 모드라고 부르는데 나머지 6가지 모드는 Privileged mode라고 분류됩니다. ARM User Manual을 열어 보면 각
[ARM] tst 명령어를 실행하면 ARM CPSR 레지스터가 어떻게 변경될까?
tst 명령어는 연산자와 비연산자 사이 AND 비트 연산을 수행합니다. AND 비트 연산 결과에 따라 CPSR 레지스터 Z 비트는 다음과 같이 변경됩니다.Z: 0 ( AND 비트 연산 결과가 1인 경우)Z: 1 ( AND 비트 연산 결과가 0인 경우) tst 명령어가 위와 같이 동작하는지 증명하기 위해 T32 디버거를 실행해 보겠습니다.다음 화면은 tst 명령어를 실행하기 직전입니다. NSR:80107E6C|ret_to_user_from_irq: ldr r2,[r9,#0x8]NSR:80107E70| cmp r2,#0x7F000000 ; r2,#2130706432NSR:80107E74|
[ARM] tst 명령어를 실행하면 ARM CPSR 레지스터가 어떻게 변경될까?
tst 명령어를 실행하면 ARM CPSR 레지스터가 어떻게 변경될까? tst 명령어는 연산자와 비연산자 사이 AND 비트 연산을 수행합니다. AND 비트 연산 결과에 따라 CPSR 레지스터 Z 비트는 다음과 같이 변경됩니다.Z: 0 ( AND 비트 연산 결과가 1인 경우)Z: 1 ( AND 비트 연산 결과가 0인 경우) tst 명령어가 위와 같이 동작하는지 증명하기 위해 T32 디버거를 실행해 보겠습니다.다음 화면은 tst 명령어를 실행하기 직전입니다. NSR:80107E6C|ret_to_user_from_irq: ldr r2,[r9,#0x8]NSR:80107E70| cmp r2,#0x7F000000 ; r2,#213070



