Guillermo Austin Kim

Sources

Posts

998 posts

[ARM] ARM 프로세서에서 말하는 프로그래밍 모델이란

Guillermo Austin Kim|2020년 7월 26일

이번 시간에는 ARM 프로세서 말하는 프로그래밍 모델에 대해서 설명을 하겠습니다. ARM 프로세서란 용어를 들으면 이 단어를 듣는 사람들의 입장에 따라 각자 다르게 해석합니다.일반 대중들은 ARM 프로세서란 용어를 들으면 그냥 컴퓨터나 CPU의 종류라고 생각할 것입니다. 하지만 개발자들의 입장에서는 조금 다릅니다. 만약 여러분이 SoC 시스템을 설계하거나 하드웨어를 디자인하는 개발자나 학자라면 ARM 프로세서를 마이크로프로세서 아키텍처 관점으로 바라볼 겁니다. 즉, ARM 프로세서를 어떤 하드웨어 로직으로 설계했는지 머리 속으로 그려보겠죠. 그런데 저와 같은 SW 개발자는 ARM 프로세서를 보면 ARM 어셈블리 명령어, 레지스터 세트, 코프로세서 그리고 익셉션을 떠올릴 것입니다. 정리하면 ARM 프

[도서추천] 원리부터 실무까지 쉽고 명확한 Arm 프로그래밍 Cortex-A9

Guillermo Austin Kim|2020년 7월 26일

기존에 출간된 대부분 'ARM 프로세서' 책은 Cortex-M3 계열의 ARM 프로세서를 다루는데, MCU와 같이 소형 임베디드 장비에 주로 활용됩니다. 하지만 안드로이드와 라즈베리 파이와 같은 범용 배포판인 경우 Cortex-M3 계열이 아닌 Cortex-A 계열 ARM 프로세서를 사용합니다. 그런데 국내에는 Cortex-A 계열 ARM 프로세서를 다루는 책이 없어서 아쉬웠습니다. 이번에 생능출판사에서 출간된 ARM 프로세서 책인 '원리부터 실무까지 쉽고 명확한 Arm 프로그래밍 Cortex-A9'은 드디어 ARMv7 아키텍처의 Cortex-A9 ARM 프로세서를 설명합니다. 마침내 Cortex-A 계열 ARM 프로세서를 설명하는 책이 탄생한 것인데 이는 정말 반가운 소식이 아닐 수 없습니다. 목차를

[공지] 라즈베리 파이4에서 책을 실습 과정을 디버깅하는 방법

Guillermo Austin Kim|2020년 7월 25일

독자 분들께서 많이 주신 질문이 있는데요. 질문을 소개하면 다음과 같습니다. * 라즈베리 파이 4에서도 책의 내용을 실습할 수 있나요? 이번 글은 이 질문에 대한 답을 드리기 위해 작성했는데요. 먼저 답을 드리면 "다행히 라즈베리 파이 4에서 대부분 실습이 가능하나 5장, 6장, 7장의 실습 코드는 조금 수정해야 합니다"라고 말씀드리고 싶네요. 먼저 라즈베리 파이4에서 라즈비안을 빌드하는 방법을 설명드립니다.이어서 라즈베리 파이3와 라즈베리 파이4의 가장 큰 차이점을 먼저 소개드리고, 라즈베리 파이4에서 실습을 하는 방법을 말씀드리겠습니다. 라즈베리 파이4에서 라즈비안 커널 빌드 방법 먼저 라즈베리 파이4 용 라즈비안 커널을 빌드하는 스크립트 코드를 소개합니다.자세한 내용은 이미 아래 블로그에

[유튜브동영상][임베디드] 꼰대 개발자가 되는 방법

Guillermo Austin Kim|2020년 7월 22일

이번 동영상은 아래 블로그에 업로드된 글을 설명합니다. [임베디드] 꼰대 개발자가 되는 방법(1) http://rousalome.egloos.com/10007727 특히 임베디드 소프트웨어 분야에 꼰대 개발자가 많으니 조심합시다. # 꼰대 개발자의 특징 ● 자신이 성공한 개발자라고 확신한다.● 다른 개발자들도 나처럼 성공하고 싶어 한다고 확신한다.● 자신의 개발 방식이 여전히 먹힐 것이라 확신한다.● 귀찮게 충고를 한다.● 문제 해결 능력이 떨어지는 유형이 많다. # 꼰대 개발자와 일할 때 주의해야 할 점 ● 충고를 하면 잘 들어주는 척 한다.● 개발 팁은 절대 새겨 들으면 안된다. ● 같이

[ARM][ARMv8] 리눅스 커널: 익셉션 레벨을 읽는 어셈블리 코드 분석

Guillermo Austin Kim|2020년 7월 22일

ARM 프로세서의 주요 용법을 배우기 위해 리눅스 커널만큼 좋은 리퍼런스 자료가 없는 것 같다.ARM 사의 개발자들이 리눅스 커널에 자신의 코드를 메인라인 시키기 때문이다. 이번에는 리눅스 커널에서 64비트 ARMv8 아키텍처에서 ARM의 EL를 읽는 패치를 소개한다. diff --git a/arch/arm64/kernel/irq.c b/arch/arm64/kernel/irq.cindex 92fa817..0376bac 100644--- a/arch/arm64/kernel/irq.c+++ b/arch/arm64/kernel/irq.c@@ -33,15 +33,38 @@ unsigned long irq_err_count; +static inline unsigned long arch_arm64_EL(voi