태그 : armv7 요약보기전체보기목록닫기
- [Arm프로세서] Armv7: SPSR(Saved Program Status Register) 레지스터란(0)2022.04.21
- [Arm프로세서] Armv7: CPSR(Current Program Statue Register) 레지스터란(0)2022.04.21
- [Arm프로세서] Armv7: 범용 레지스터에서 뱅크드 레지스터란(0)2022.04.19
- [Arm프로세서] Armv7: 범용(General Purpose) 레지스터란(0)2022.04.14
- [Arm프로세서] Arm 아키텍처의 레지스터 소개(0)2022.04.10
- [Arm프로세서][Armv8] 트러스트존(TrustZone): 시큐어 RTOS 구현 사례: QSEE (1)2022.01.10
- [Arm프로세서][Armv7] 트러스트존(TrustZone): 시큐어 월드로 실행 흐름이 변경되는 과정(0)2021.12.30
- [Arm프로세서][Armv7] 트러스트존(TrustZone): 시큐어 상태와 Secure Control Register(SCR)(0)2021.12.30
- [Arm프로세서] Armv7: subs와 movs 명령어를 실행해 Arm 동작 모드 변경(0)2021.10.01
- [Arm프로세서] AAPCS: Armv7: 함수 반환형은 워드 단위로 지정(0)2021.07.06
- Arm_Register
- 2022/04/21 05:34
SPSR는 Saved Program Status Registers의 약자로 CPSR을 백업하는 용도로 사용되는 레지스터입니다. 이어서 Arm 스팩 문서를 보면서 SPSR을 배워봅시다. The Saved Program Status Registers (SPSRs)The purpose of an SPSR is to record the pre-exce...
- Arm_Register
- 2022/04/21 05:33
Armv7에서는 프로세서의 상태 정보를 저장하는 CPSR, SPSR 레지스터를 제공합니다. 먼저 CPSR 레지스터를 설명하고 CPSR 레지스터를 백업하는 용도로 설계된 SPSR 레지스터에 대해서 알아봅시다.CPSR 레지스터CPSR은 Current Program Status Register의 약자로 프로세서의 상태 정보를 저장하는 레지스터입니다. 먼저 C...
- Arm_Register
- 2022/04/19 06:45
그림 2.1의 아랫 부분을 보면 r13_svc와 r14_svc 라는 레지스터가 보입니다. 오른쪽에는 r13_irq와 r14_irq 레지스터가 보입니다. 이런 종류의 레지스터의 정체는 무엇일까요? Arm 동작 모드에 뱅크드된 레지스터라고 합니다.뱅크드 레지스터를 주로 기계적인 관점으로 설명해서 소프트웨어 개발자가 이해하기 어렵습니다. ...
- Arm_Register
- 2022/04/14 10:40
Armv7 아키텍처의 레지스터CPU 아키텍처를 배울 때 가장 먼저 어셈블리 명령어와 레지스터의 용법을 파악합니다. 어셈블리 명령어는 레지스터로 구성돼 있어 어셈블리 명령어를 익히려면 레지스터의 용법을 알아야 합니다. 그렇다면 Arm 아키텍처는 같은 레지스터를 사용할까요? 그렇지 않습니다. Armv7와 Armv8 아키텍처 별로 각각 레지스터를 정의합니다....
- Arm_Register
- 2022/04/10 22:12
Arm 아키텍처를 구성하는 기능을 이해하려면 먼저 무엇을 알아야 할까요? Arm 코어에 내장된 레지스터입니다. 레지스터를 잘 알려면 무엇을 알아야 할까요? 레지스터들이 어떻게 구성돼 있고 어떤 방식으로 사용되는지 파악하면 레지스터를 잘 안다고 말할 수 있습니다.Arm 아키텍처에서 정의된 기능들은 "레지스터를 어떻게 변경하고 설정할까?"가 그 실체이고 정...
각 SoC 칩 벤더와 보안 업체들은 arm 아키텍처의 트러스트존을 활용해 독자적인 보안 RTOS(Trusted OS)를 개발했습니다. 이번에는 퀄컴에서 설계한 QSEE를 소개하면서 시큐어 RTOS는 어떤 방식으로 구현됐는지 알아보겠습니다. QSEE는 Qualcomm's Secure Execution Environment의 약자로 Arm 아키텍처의 트러스...
이번에는 Armv7 아키텍처에서 정의된 전체 동작 모드를 보면서 논 시큐어 월드에서 시큐어 월드로 실행 흐름이 바뀌는 과정과 이 때 SCR.NS 비트가 어떻게 바뀌는지 알아봅시다. 그림 11.4 모드, privilege 레벨과 시큐리티 상태들 먼저 그림을 넓은 시야로 봅시다. 그림의 왼쪽 부분은 논 시큐어 상태, 오른쪽 부분...
- Arm: Security Extensions
- 2021/12/30 06:19
트러스트존 아키텍처에서 논 시큐어 월드와 시큐어 월드를 기준으로 트러스트존의 주요 개념을 설명합니다. 그런데 Arm 아키텍처의 스팩 문서를 살펴보면 시큐어 상태와 논 시큐어 상태라는 용어를 만나게 됩니다. 시큐어 상태와 논 시큐어 상태는 시큐어 월드와 논 시큐어 월드와 거의 유사한 개념인데, 트러스트존의 구현 레벨에서 쓰이는 용어입니다. 먼저 ...
- Armv7: 동작 모드
- 2021/10/01 11:26
Arm 동작 모드를 바꾸는 다른 방법은 spsr 레지스터의 [7:0] 비트를 변경하고 다음과 같은 형식의 명령어를 실행하는 것입니다. ❑ subs pc, lr, #4 ❑ movs pc, lrsub은 뺄셈 연산, mov는 레지스터의 값을 이동시키는 연산을 수행하는 명령어...
- Armv7: Calling Convention
- 2021/07/06 06:21
함수를 반환하는 자료형은 워드 단위로 제한하는 것이 좋습니다. 워드형인 경우 반환값은 R0 레지스터에 저장하나, 데이터가 워드 범위를 벗어난 경우 R0와 R1레지스터에 반환값을 나눠서 처리하기 때문입니다.[정보]위에서 언급한 워드형이 무엇인지 알아봅시다. 워드(word)는 어셈블리 명령어로 연산 결과를 레지스터에 저장할 수 있는 데이터 단위입니다. 그렇...
최근 덧글