연락처 정보

코스 개요

1. Linux 커널 입문

  • 임베디드 Linux 개요
  • Linux 커널 아키텍처
  • 유저 스페이스 vs 커널 스페이스
  • 커널의 책임 범위
  • 커널 개발 워크플로우
  • 지원되는 임베디드 플랫폼 개요

2. 개발 환경 설정

  • 개발 워크스테이션 준비
  • 크로스 컴파일 개념
  • 필요한 개발 도구 설치
  • BeagleBone Black 개발 보드 설정
  • 시리얼 콘솔 구성
  • 대상 디바이스 부팅

3. 커널 소스 획득 및 이해

  • Linux 커널 소스 트리
  • 안정 버전 vs 장기 지원(LTS) 커널
  • 커널 소스 다운로드
  • 소스 코드 구조 탐색
  • 커널 문서
  • 커널 버전 관리

4. 커널 구성, 컴파일 및 부팅

  • menuconfig를 사용한 커널 구성
  • 커널 기능 선택
  • 커널 크로스 컴파일
  • 커널 이미지 빌드
  • 커널 모듈 설치
  • 부트로더 개요
  • 커스텀 커널 부팅

5. 디바이스 트리 기본 원리

  • 디바이스 트리의 목적
  • 디바이스 트리 소스(DTS) 파일
  • 디바이스 트리 블롭(DTB)
  • 하드웨어 설명 개념
  • 디바이스 트리 파일 수정
  • 디바이스 트리 빌드 및 배포

6. Linux 커널 모듈

  • 커널 모듈 아키텍처
  • 로드 가능한 커널 모듈 빌드
  • 모듈 로드 및 언로드
  • 모듈 파라미터
  • 모듈 종속성
  • 커널 모듈과의 상호작용
  • 모듈 디버깅 기법

7. Linux 커널 디버깅

  • printk()를 사용한 커널 로깅
  • dmesg 사용법
  • 동적 디버깅
  • 커널 팬시 분석
  • Oops 메시지
  • GDB를 이용한 디버깅
  • 기본 성능 트래싱 도구

8. 문자 장치 드라이버

  • Linux 장치 드라이버 모델
  • 문자 장치
  • 드라이버 등록
  • 파일 작업
  • 읽기 및 쓰기 작업
  • IOCTL 인터페이스
  • 메모리 관리
  • 드라이버 클린업

9. 드라이버 통합 및 하드웨어 접근

  • 플랫폼 디바이스 및 드라이버
  • GPIO 프로그래밍
  • 인터럽트 처리
  • 타이머 및 지연 작업
  • 하드웨어 레지스터 접근
  • 메모리 매핑 I/O 처리

10. Git을 이용한 버전 관리

  • Git 기본 개념
  • 커널 소스 코드 관리
  • 브랜치 및 병합
  • 패치 생성
  • 변경 사항 검토
  • 커널 개발 협업

11. 실습 커널 개발 랩

  • 커스텀 커널 구성
  • 커널 빌드 및 배포
  • 간단한 커널 모듈 생성
  • 기본 문자 장치 드라이버 개발
  • 디바이스 트리 파일 수정
  • BeagleBone Black에서 커널 문제 디버깅

12. 모범 사례 및 요약

  • 커널 코딩 스타일
  • 유지보수 가능한 드라이버 작성
  • 개발 중 흔한 함정
  • 커널 문서 리소스
  • 오픈소스 기여 워크플로우
  • 핵심 개념 리뷰
  • 질문 및 답변
  • Linux 커널 개발의 다음 단계

요건

GNU/Linux 시스템 사용에 대한 기본적 숙지

 14 시간

참가자 수


참가자별 가격

회원 평가 (2)

예정된 코스

관련 카테고리