Guillermo Austin Kim
Posts
998 posts[ARM][ARMv7] 리눅스 커널: ARM 모드를 설정하는 어셈블리 코드 분석
ARM 프로세서의 주요 용법을 배우기 위해 리눅스 커널만큼 좋은 리퍼런스 자료가 없는 것 같다.ARM 사의 개발자들이 리눅스 커널에 자신의 코드를 메인라인 시키기 때문이다. 이번에는 리눅스 커널에서 32비트 ARMv7 아키텍처에서 ARM의 모드를 읽어 제어하는 루틴을 살펴보자. 먼저 다음 코드를 보자. arch/arm/include/uapi/asm/ptrace.h #define USR_MODE 0x00000010#define SVC_MODE 0x00000013#define FIQ_MODE 0x00000011#define IRQ_MODE 0x00000012#define MON_MODE 0x00000016#define ABT_MODE 0x00000017#define HYP
[IT] 현업 개발자들이 역량을 키우는 방법 - [1] 사이드프로젝트/스터디
많은 취준생들이 회사에 취업을 할 준비를 하면서 IT 학원을 다니거나, 독학을 하기도 합니다.커뮤니티에 가보면 정말 취준생들이 올린 질문을 볼 수 있죠. 현업 개발자들도 역량을 키우기 위해 공부를 할까 그런데 취준생 분들이 취업에 성공한 다음 현업 개발자가 되면 역량을 키우기 위해 공부를 할까요?안 하시는 분도 있고 하시는 분도 있을 겁니다. 분명한 사실은 역량을 키우기 위해 고민하고 실제 개발 능력을 업그레이드하기 위해 공부하는 개발자들이 있다는 거죠.5~6년차 현업 개발자들도 자신의 역량이 부족하다는 것 느끼고 실력을 키우려는 노력을 합니다. 11+연차인 저는 역랑을 키우기 위해 공부를 하냐구요? 정말 아직도 심하다 싶을 정도로 공부를 합니다.음, 그런데 이게 공부가 아니라 아예 습관으로 굳어져서
[ARM][브레인스토밍] 레지스터의 진실과 오해 - ①
ARM 프로세서의 레지스터에 대한 브레인 스토밍 노트의 내용을 저장합니다. # 레지스터란 CPU에서 연산하는 데이터를 저장하는 용도로 메모리 공간으로 속도가 가장 빠름# 사실 ARM 프로세서 내부에는 수 많은 레지스터가 있는데 유식한 용어로 물리 레지스터라고 말함# 일반적으로 레지스터라고 말하면 ARM 프로그래밍 모델의 레지스터를 뜻함. 이를 유식하게 논리 레지스터라고 함(이런 소리를 할 필요는 있는 지) # ARM 프로세서의 레지스터의 갯수가 많다고 불만을 토로하는 인간들이 있음.이게 다 명령어를 패턴화 시켜서 트렌지스터의 갯수를 줄이기 위한 아이디어에서 나왔음. 이걸 RISC라고 부르는데최근에 RISC와 CISC의 경계는 거의 사라짐. 그래도 ARM 프로세서를 소개할 때 RISC로 말하는 게 바람직.
[ARM][ARMv7 아키텍처] 성능: 사이클(cycle) 정보 얻어오기 - [1]
이번 포스팅에서는 ARM 프로세서의 성능 측정 지표인, 사이클 정보를 얻는 방법을 정리한다.아쉽게도 관련 문서나 코드를 100% 이해한 내용은 아니나, 리서치한 부분까지 정리한다. 리눅스 커널의 ARM 어셈블리 코드 분석 아래 소스를 열어보면 뭔가 의미있어 보이는 주석이 있다. * Cortex-A8 has up to 4 configurable performance counters and * a single cycle counter. * Cortex-A9 has up to 31 configurable performance counters and * a single cycle counter. * * All counters can be enabled/disabled and IRQ masked separ
[리눅스커널] ftrace로 부팅 시간 측정하는 커널 패치 소개
이번 포스팅은 ftrace를 활용해 커널이 부팅할 때의 세세한 동작을 추적하는 방법을 소개합니다. 커널이 부팅을 할 때 시간이 걸리는 이유는 다양하지만 그 중에 하나는 특정 파일을 오픈하고 여는 동작입니다.만약 실제 시스템에 위치하지 않은 파일에 엑세스를 하는 동작을 수행하면 부팅 시간만 허비하게 됩니다. 먼저 라즈베리 파이의 라즈비안 커널에서 작성된 패치를 소개합니다. diff --git a/fs/open.c b/fs/open.cindex 76996f9..5e5c19e 100644--- a/fs/open.c+++ b/fs/open.c@@ -1067,6 +1067,27 @@ struct file *file_open_root(struct dentry *dentry, struct vfsmount *mnt,


![[웹툰단행본] 『통제구역관리부』 1권 후기 : 이상한 변칙과 기이한 일들이 일어나는 공간에 대하여](https://img.zoomtrend.com/2026/06/09/1780996474-SE-5eda86fa-0d63-4afd-b8dd-b801879fed52.jpg)
