ARM Instruction Set: Data Processing
ARM 아키텍처에서는 데이터 처리 명령어를 사용하여 레지스터 간의 연산을 수행할 수 있다. 데이터 처리 명령어는 산술 연산, 논리 연산, 시프트 연산 등을 포함한다. 이 글에서는 ARM Data Processing 명령어에 대해…
ARM 아키텍처에서는 데이터 처리 명령어를 사용하여 레지스터 간의 연산을 수행할 수 있다. 데이터 처리 명령어는 산술 연산, 논리 연산, 시프트 연산 등을 포함한다. 이 글에서는 ARM Data Processing 명령어에 대해…
ARM 아키텍처는 branch(분기) 명령어를 통해 프로그램 흐름을 제어할 수 있다. B (Branch)와 BL (Branch with Link)는 주로 조건 없이 레이블로의 분기를 담당하며, BL은 현재 주소를 링크 레지스터에 저장하여 서브루틴 호출에…
ARM 아키텍처의 명령어는 실행 조건을 지정할 수 있는 Condition Field를 가지고 있다. 이는 명령어가 실행되기 전에 특정 조건을 검사하여 실행 여부를 결정할 수 있게 해준다. 이 글에서는 ARM Instruction Set에서…
ARM 아키텍처는 다양한 명령어를 제공하여 다양한 응용 분야에서 사용된다. 이 글에서는 주요 ARM 명령어를 요약해 본다. ARM Instruction Format Arm Instruction set 포맷은 아래와 같다. ARM Instruction Summary Branch 명령어…
GDB(GNU Debugger)는 프로그램을 디버깅하고 분석하는데 사용되는 강력한 도구이다. 이 글에서는 GDB의 기본적인 사용법에 대해 알아본다. GDB 설치 GDB를 사용하기 위해선 먼저 설치해야 합니다. 다음은 Ubuntu 기반 시스템에서 GDB를 설치하는 명령어이다.…
objdump는 리눅스 환경에서 사용되는 강력한 바이너리 분석 도구로, 컴파일된 프로그램의 바이너리 코드를 분석하고 디버깅하는 데 사용된다. 이 글에서는 objdump 유틸리티에 대해 알아본다. objdump 기본 사용법 objdump 주요 사용 옵션은 다음과…
이 글에서는 리눅스 커널 소스의 주요 구조를 간략하게 알아본다. arch arch 하부 디렉토리에는 아키텍처별로 동작하는 커널 코드가 있다 .예를 들어, x86, ARM, MIPS 등 아키텍처 dependency가 있는 코드들이 위치한다. /arch…
라즈베리파이 4의 커널을 빌드하는 과정은 특별한 상황이나 하드웨어 지원을 확장하고자 할 때 유용하다. 이 글에서는 라즈베리파이 4의 커널을 빌드하는 방법에 대해 알아본다. 1. 필수 도구 설치 커널을 빌드하기 위해 필요한…
이 글에서는 라즈베리파이4에 라즈베리파이 OS를 설치하는 방법에 대해 알아본다. 라즈베리파이 OS 다운로드 라즈베리 파이 공식 웹사이트에서 Raspberry Pi Imager를 다운로드하고 설치한다. 1. CHOOSE DEVICE 선택 CHOOSE DEVICE를 클릭하고, Raspberry Pi…
x11VNC는 원격 데스크톱 공유를 허용하는 VNC(가상 네트워크 컴퓨팅) 서버중 하나이다. 각 사용자에 대해 별도 데스크탑을 생성하는 다른 VNC 서버와 달리 x11VNC는 사용자가 기존 X11 세션을 원격으로 제어할 수 있어 편리하다.…