[ARM] 임베디드 개발자가 반드시 ARM 프로세서를 배워야 하는 이유
By Guillermo Austin Kim | 2020년 7월 14일 |
이번 시간에는 ARM 프로세서를 리눅스 시스템 개발자가 배워야 하는 지 설명합니다. 브링업을 제대로 하기 위해서 임베디드 개발자들이 진행하는 프로젝트의 단계는 '보드 브링업 - 기능 안정화 - 유지 보수'로 분류할 수 있습니다.3단계에서 보드 브링업은 어떤 단계를 거쳐 진행될까요? 과제에 따라 다르지만 개발 업무의 내용을 소개하면 다음과 같습니다. * 부트로더에서 스타트업 코드를 작성 * 메모리와 같은 하드웨어를 초기화 먼저 스타트업 코드를 작성하는 업무에 대해서 조금 더 설명을 드려볼까요?전원이 시스템에 들어오면 가장 먼저 실행되는 코드가 reset 익셉션 벡터 코드입니다. 이 코드에서 기본적인 메모리를 설정을 초기화하고 ARM 모드 별로 스택 사이즈를 지정해야 합니다.이 모든 코드를
[ARM] 함수 호출 규약(Calling Convention)이란
By Guillermo Austin Kim | 2020년 9월 27일 |
호출 규약(Calling Convention)이란 무엇일까요? 어떤 함수를 호출했을 때 서브 루틴이 자신을 호출하는 함수로부터 인자를 어떤 방식으로 받아 결과를 반환하는지에 대한 규약입니다. x86, RISC-V와 같은 CPU 아키텍처마다 함수 호출 규약(Calling Convention)을 정의하는데, ARM 프로세서에서는 이를 AAPCS(Procedure Call Standard for ARM Architecture)라고 명시합니다. 앞으로, AAPCS를 함수 호출 규약이라고 명시하겠습니다. 연산을 수행하는 ARM 어셈블리 명령어에서 레지스터는 연산의 결과를 임시로 저장하는 역할에 그칩니다. 그래서 각각 레지스터의 역할을 세세하게 배울 필요가 없는데요. 함수 호출 규약을 배울 때는 다릅니다. 그것은 다
[Arm프로세서][Armv7] 트러스트존(TrustZone): 시큐어 상태와 Secure Control Register(SCR)
By Guillermo Austin Kim | 2021년 12월 29일 |
트러스트존 아키텍처에서 논 시큐어 월드와 시큐어 월드를 기준으로 트러스트존의 주요 개념을 설명합니다. 그런데 Arm 아키텍처의 스팩 문서를 살펴보면 시큐어 상태와 논 시큐어 상태라는 용어를 만나게 됩니다. 시큐어 상태와 논 시큐어 상태는 시큐어 월드와 논 시큐어 월드와 거의 유사한 개념인데, 트러스트존의 구현 레벨에서 쓰이는 용어입니다. 먼저 시큐어 상태와 논 시큐어 상태에 대해 알아봅시다. 어떤 코드가 실행 중인데 현재 코드가 논 시큐어 월드 혹은 시큐어 월드에서 실행 중인지 어떻게 알 수 있을까요? Armv7 아키텍처에서는 이 정보를 저장하는 레지스터를 설계했는데 이를 Secure Control Register(SCR) 레지스터라고 합니다. 이번에는 Arm 스팩 문서를 보면서 Secure Cont
MS의 접는 태블릿폰, 서피스 안드로메다가 나온다?
By 자그니 블로그 : 거리로 나가자, 키스를 하자 | 2018년 7월 2일 |
![MS의 접는 태블릿폰, 서피스 안드로메다가 나온다?](https://img.zoomtrend.com/2018/07/02/a0001544_5b3a521d31c91.jpg)
얼핏 들으면 정신이 안드로메다로 날아가버릴 것 같은(?) 소식이 나왔습니다. MS에서 새로운 모바일 기기를 내놓는다는 겁니다. 프로젝트명은 안드로메다. 닌텐도DS를 닮은 접는 태블릿 + 폰입니다. 내부에서 유출된 이메일에 담긴 내용이라는데요. 사실 사람들이 관심을 가지게 된 것은 디자이너 David Breyer가 트위터에, 자신이 렌더링한 서피스 안도르메다를 선보였기 때문입니다. 눈 앞에 보이는 디자인은 어떤 말보다 강력하거든요. 생긴 것은 정말 닌텐도 DS를 크게 키운게 아닌가-싶지만, 이에 대한 소문은 예전부터 있었습니다. 작년말 MS가 얻었다는 특허가 대표적이죠. 윈도우10 코어 위에서 돌아가는 모바일용 OS '안드로메다'에 대한 소식도 이미 작년에 들려왔죠.