ARM

포스트: 173|조회수: 0|TERM
Items

Posts

173 posts

[ARM] ARM 프로세서를 배워야 하는 이유

Guillermo Austin Kim|2019년 12월 17일

이번 시간에는 ARM 프로세스를 왜 배워야하는지 이야기를 해보겠습니다. 우리가 어떤 것을 처음 배울 때는 그것을 왜 배워야 하는지 알면 좋습니다. 왜냐면, 무엇을 공부하기 전에 왜 배워야 하는지 알면 더 동기 부여가 되기 때문이죠. 다른 동료들이나 친구들이 ARM 프로세서는 잘 배워야 한다고 해서 등떠밀려 공부하면 잘 집중이 안되는 거 같습니다. 그렇지 않나요? 무엇보다 배운 내용이 어떻게 활용되는지 알면 공부할 때 더 힘이 날 겁니다. 소형 기기에서 ARM 프로세서를 많이 탑재 ARM 프로세스를 배우는 가장 큰 이유는 ARM 프로세서를 많이 쓰기 때문이에요. 대부분 휴대 기기에는 ARM 프로세서가 많이 탑재돼 있어요. 여러분들, 모두 휴대폰 1개는 다 들고 다니죠? 안드로이드 스마트폰에 탑재된 CPU

[ARM프로세서] ARM 모드에 대한 소개

Guillermo Austin Kim|2019년 12월 11일

ARM을 공부하면 가장 먼저 만나는 용어가 있습니다. 바로 ARM 동작 모드입니다. ARM 모드는 ARM의 세부 동작을 배우려면 반드시 알아야 하므로 잘 익혀 둘 필요가 있습니다. 특히 64비트 기반의 ARMv8 아키텍처는 기존 ARM의 모드에 대응되는 익셉션 레벨이란 개념을 도입했습니다. 익셉션 레벨이란 개념이 기존 ARMv7 아키텍처의 ARM 모드에서 발전됐으니 먼저 ARM의 동작 모드부터 살펴봅시다. 이 ARM 동작 모드를 잘 익혀야 시스템을 디자인하고 디버깅할 때 배운 내용을 유용하게 활용할 수 있습니다. 실행 모드를 잘 살펴 보면 유저(User) 모드는 표준 사용자 모드라고 부르는데 나머지 6가지 모드는 Privileged mode라고 분류됩니다. ARM User Manual을 열어 보면 각

[ARM] tst 명령어를 실행하면 ARM CPSR 레지스터가 어떻게 변경될까?

Guillermo Austin Kim|2019년 2월 21일

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 레지스터가 어떻게 변경될까?

Guillermo Austin Kim|2019년 2월 12일

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