일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- Stream
- PCA
- Image Processing
- Computer Architecture
- BFS
- bloc
- Algorithm
- C++
- BAEKJOON
- pytorch
- llm을 활용 단어장 앱 개발일지
- system hacking
- Kaggle
- rao
- FastAPI
- Widget
- DART
- ML
- fastapi를 사용한 파이썬 웹 개발
- ARM
- 영상처리
- Dreamhack
- Got
- 백준
- Flutter
- BOF
- study book
- MATLAB
- 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습
- MDP
- Today
- Total
목록ARM (4)
Bull

linux kernel 공부 중 어셈블리 코드가 적힌 부분에는 레이블이 많은 이유가 궁금했다. 하지만 나는 C에서는 레이블로 강제 점프하는 행동을 되도록이면 피하라고 배웠었다. 그 차이를 알아보자.C 언어에서의 레이블int main() { int x = 0; if (x == 0) goto error; // 정상적인 코드 실행 흐름 return 0;error: // 오류 처리 코드 return -1;}C에서 goto와 레이블을 사용하는 것은 가독성을 떨어뜨리고, 코드의 유지보수를 어렵게 만들 수 있기 때문에 일반적으로 권장되지 않는다. 특히, 프로그램의 흐름이 복잡해지면 goto를 따라가기가 어려워지고, 코드의 흐름이 비직관적이게 된다. 그래서 C 언어에서는 레..

프로세서 모드와 레지스터ARM 프로세서는 6개의 특권 모드와 1개의 일반 모드를 가지고 있다.User 모드일반 유저 애플리케이션을 수행할 때 동작 모드System 모드User 모드와 동일한 레지스터를 사용하지만 CPSR을 완전히 읽고 쓸 수 있음FIQ(Fast Interrupt Request) 모드빠른 인터럽트 처리를 위한 프로세서 동작 모드IRQ(Interrupt Request) 모드일반적으로 사용되는 인터럽트를 처리하기 위한 프로세서 동작 모드SVC(Supervisor) 모드일반적으로 운영체제 커널이 동작하는 모드, 리셋이나 소프트웨어 인터럽트가 발생할 경우 프로세서 동작 모드Abort 모드메모리 접근 실패 경우의 동작 모드Undefined 모드포르세서가 정의되지 않는 명령을 수행할 때 수행되는 모드..

명명법은 아키텍처에 붙은 알파벳(심볼)의 의미를 나타낸다. 예를 들어 ARM926EJ-S 같은 명칭을 말한다.x: 프로세서 패밀리 (Processor Family)x는 ARM 프로세서의 계열 또는 패밀리를 나타낸다. 이 문자는 특정 프로세서가 어떤 성능 범주에 속하는지를 구분한다. 예를들어 ARM926EJ-S, ARM946E-S, ARM968E-S 모두 ARM9 프로세서 패밀리에 속한다.y: MMU/MPU (Memory Management Unit/Memory Protection Unit)y는 프로세서가 메모리 관리 또는 보호 기능을 지원하는지 여부를 나타낸다. MMU (Memory Management Unit)는 가상 메모리를 물리적 메모리에 매핑하여 메모리 보호와 프로세스 간 격리를 가능하게 한다. ..

크래시 덤프 분석크래시가 발생하면 운영체제는 메모리 덤프를 생성한다. 이 덤프 파일은 크래시 당시의 메모리 상태를 기록한 파일로 분석하여 문제의 원인을 파악할 수 있다. 윈도우 시스템에서는 우리가 흔히 아는 Blue Screen of Death(BSOD) 가 있으며 보통 .dmp 파일 형태로 덤프가 저장된다. 리눅스 가은 경우 kexec나 kdump를 통해 커널 덤프를 생성할 수 있다. /var/log/messages 혹은 /var/log/kern.log 와 같은 로그 파일에서 커널 메시지를 확인할 수 있다.콜 스택 분석콜 스택은 크래시 시점의 함수 호출 순서를 나타낸다. 콜스택을 통해 어떤 함수에서 오류가 발생했는지 알 수 있다. 예를 들어 다음과 같은 콜 스택이 있다고 가정하자.-000|do_Data..