i.MX6 LVDS 컨트롤러 드라이버 및 장치 초기화 분석
장치 초기화 및 플랫폼 디바이스 등록
i.MX6의 LVDS 디바이스 초기화는 보드 레벨의 초기화 코드에서 시작됩니다. board-mx6q_sabresd.c 파일 내의 MACHINE_START 매크로를 통해 시스템이 부팅될 때 보드 특정 설정이 진행됩니다.
// 보드 레벨 초기화 (board-mx6q_sabresd.c)
static void __init sabre_sd_init_machine(void)
{
/* ... 기타 장치 초기화 ... */
...
8월 16일 05:04에 게시됨
리눅스 시스템 최적화: SPIRAN ART SUMMONER 성능 극대화
AI 기반 애플리케이션, 특히 SPIRAN ART SUMMONER와 같이 고성능 연산을 요구하는 작업은 최적화된 리눅스 환경에서 그 잠재력을 최대로 발휘합니다. 본 문서는 SPIRAN ART SUMMONER의 처리 능력을 향상시키기 위한 실용적인 리눅스 시스템 튜닝 전략을 상세히 다룹니다.
1. 환경 점검 및 초기 준비
성능 튜닝에 돌입하기 전, 시스템이 SPIRAN ART SUMMONER를 구동하기 위 ...
8월 5일 07:01에 게시됨
리눅스 커널 UAF 취약점 분석 및 권한 상승 실습
커널 익스플로잇 환경 구축커널 익스플로잇 학습을 위해 다음과 같은 환경을 구성한다.가상화 기능이 활성화된 Ubuntu 20.04 환경디버깅을 위한 pwndbg가 적용된 GDBQEMU 에뮬레이터 설치sudo apt-get install qemu-system-x86가젯 검색 속도가 우수한 ropper커널 이미지 변환을 위한 vmlinux_to_elf 스크립트파일 시스템 압축 해제 스크립트 (extract_fs.sh)#!/bin/bash
i ...
8월 3일 12:54에 게시됨
CentOS 7 리눅스 커널 업그레이드: YUM 및 오프라인 RPM 설치 방법
1. ELRepo 저장소를 이용한 YUM 업그레이드
CentOS 7의 기본 커널 버전을 최신 버전으로 업데이트하기 위해 가장 권장되는 방법은 ELRepo 저장소를 활용하는 것입니다.
저장소 준비 및 최신화
먼저 기존 패키지들을 최신 상태로 업데이트하고 ELRepo의 GPG 키와 저장소 정보를 시스템에 등록합니다.
# 시스템 패키지 업데이트
yum update -y
# ELRepo GPG 키 가져오기 및 ...
7월 28일 13:29에 게시됨
Linux PWM 서브시스템 분석 및 드라이버 소스 코드 구조 이해
리눅스 커널이 부팅되는 과정에서 다양한 드라이버가 초기화되며, PWM(Pulse Width Modulation) 서브시스템 역시 이 과정에서 활성화됩니다. Jetson Nano와 같은 BSP(Board Support Package)가 제공되는 환경에서는 커널이 제공하는 sysfs 인터페이스를 통해 별도의 응용 프로그램 작성 없이도 드라이버의 동작을 즉각적으로 검증할 수 있습니다.
사용자 공간에서 PWM을 ...
7월 27일 12:33에 게시됨
리눅스 SPI 드라이버 개발 심층 가이드
SPI(Serial Peripheral Interface) 모듈은 고속, 고효율의 동기 직렬 인터페이스 기술입니다. 일반적으로 마스터(Master) 모듈 하나와 하나 이상의 슬레이브(Slave) 모듈로 구성되며, 마스터는 특정 슬레이브를 선택하여 데이터를 동기식으로 교환합니다. 이 기술은 ADC, LCD와 같은 다양한 임베디드 장치와 MCU 간의 통신에 널리 활용됩니다. 올위너(Allwinner) SoC에 통 ...
7월 22일 10:44에 게시됨
TinaSDK V2.0 커널 기초 개발 가이드
Linux 커널 구조 및 설정 경로
TinaSDK의 기반인 Linux 커널은 특정 하드웨어 플랫폼에 맞춰 구성됩니다. 주요 파일 위치는 다음과 같습니다:
기판별 커널 설정 파일:
device/config/chips/t113/configs/100ask/linux/config-5.4
기판용 장치 트리(디바이스 트리) 파일:
device/config/chips/t113/configs/100ask/board.dts
상위 장치 트리 파일:
sun8iw20p1.dtsi ( ...
7월 17일 03:16에 게시됨
Linux 커널 부팅 프로세스 소스 코드 수준 분석
커널 부팅의 시작과 제어권 이전
ARM 아키텍처 기반 시스템에서, U-Boot 등의 부트로더는 하드웨어 초기화(메모리, 클럭, 시리얼 포트 등)를 수행한 후, 커널 이미지(zImage 또는 Image)를 지정된 물리 주소(예: 0x40000000)로 로딩하고 해당 위치로 실행을 전달한다. 이 순간부터 제어권은 커널로 넘어가며, 부트로더는 'Starting kernel...' 메시지를 출력한 후 종료된 ...
7월 3일 18:17에 게시됨
리눅스 커널의 가상 파일 시스템 (VFS) 이해
리눅스 가상 파일 시스템 (VFS)
리눅스 커널의 가상 파일 시스템(Virtual File System, VFS)은 다양한 저장 장치와 파일 시스템 유형을 사용자 애플리케이션에 일관된 방식으로 제공하기 위한 추상화 계층입니다. 이 계층 덕분에 애플리케이션은 실제 파일 시스템의 종류(예: ext4, NTFS, XFS 등)에 관계없이 동일한 시스템 호출 인터페이스를 사용하여 파일 및 디렉터리에 ...
7월 1일 21:00에 게시됨
Linux 커널 인터럽트 핸들링 C 코드 분석
ARM 아키텍처에서 예외가 발생하면 어셈블리 단계를 거쳐 최종적으로 asm_do_IRQ() 함수로 진입한다. 이 시점까지 어셈블리 코드는 인터럽트 번호(irq)를 계산하여 C 함수에 전달한다. 이 문서에서는 Linux 인터럽트 시스템의 핵심 자료구조와 C 언어 단계의 처리 흐름을 살펴본다.
핵심 자료구조
커널은 모든 인터럽트를 일관된 번호 체계로 관리하며, irq_desc[NR_IRQS ...
6월 29일 20:46에 게시됨