안녕하세요.
담당 매니저 김수민입니다.
기간제(상주) 프로젝트 희망 근무 시작일을
등록해 주시면, 파트너님의 일정에 맞는
적합한 프로젝트를 추천해 드려요.
플러스
리눅스 커널 문자 장치 드라이버 개발 및 제어
개발
임베디드
SaaSㆍ솔루션, IoTㆍ블루투스, 기타(IT 서비스 구축)
프로젝트 배경
1) 문제점 • 애플리케이션(사용자 공간)이 하드웨어(커널 공간)에 직접 접근하여 제어하는 것은 보안상 위험하며, 복잡하고 표준화되지 않은 방법이 필요합니다. • 리눅스 운영체제 환경에서 사용자 애플리케이션이 커널 내의 문자 장치 드라이버와 상호작용하고, 장치를 효율적으로 제어하기 위한 체계적인 방법론에 대한 이해와 구현 경험이 부족할 수 있습니다. • 하드웨어의 복잡한 저수준 제어 로직을 애플리케이션
프로젝트 성과
리눅스 문자 장치 드라이버 및 제어 시스템 구현
리눅스 커널 환경에서 문자 장치 드라이버를 성공적으로 개발하고, 애플리케이션(사용자 공간)에서 표준 시스템 콜 함수를 통해 해당 드라이버에 접근하여 가상의 하드웨어를 제어하는 시스템을 구축했습니다.
커널 모듈 생명 주기 및 관리 기술 습득
make를 이용한 커널 모듈(.ko) 컴파일부터 커널 적재, 장치 등록 및 초기화, 그리고 사용 후 안전하게 모듈을 해제하고 장치를 종료하는 전 과정을 직접 구현하여 커널 모듈 관리 기술을 체득했습니다.
사용자-커널 공간 간 통신 인터페이스 구축
애플리케이션이 장치 파일을 통해 커널 내 디바이스 드라이버에 접근하고, 프로세스 ID나 데이터 입출력 등 문자 장치의 다양한 상태 및 데이터를 제어할 수 있는 효율적인 통신 인터페이스를 성공적으로 구현했습니다.
핵심 기능
커널 모듈 컴파일 및 생성
make 명령어를 사용하여 드라이버 소스 코드를 컴파일하고, .ko 확장자를 가진 커널 오브젝트 파일(모듈)을 생성합니다.
진행 단계
개발 환경 설정 및 드라이버/애플리케이션 소스 작성
2017.03.
리눅스 환경에서 모듈 디렉토리를 생성하고, 문자 장치 드라이버(D/D)와 이를 제어할 애플리케이션(APP)의 소스 코드 및 Makefile을 작성합니다.
프로젝트 상세
1) 포트폴리오 소개 • 서비스 카테고리: 시스템 소프트웨어, 임베디드 시스템, 운영체제 커널 제어 • 메인 타깃: 시스템 개발자, 임베디드 엔지니어, 커널 프로그래머 • 간략한 소개: 리눅스 운영체제 환경에서 문자(Character) 장치 드라이버를 개발하고, 애플리케이션 레벨에서 해당 장치 드라이버에 접근하여 하드웨어를 제어하는 시스템 소프트웨어 개발 프로젝트입니다. 2) 작업 범위 • 개발 참여

비슷한 프로젝트를 준비 중이라면?
위시켓 매니저와 상담하세요.

참여 개발사와 미팅 연결

프로젝트 1:1 컨설팅 제공

무료로 프로젝트 등록하기

작업한 파트너 프로필 보기

km******
개발 · 개인

프로젝트 정보

참여 기간
2017.03. ~ 2017.03.
참여율
참여율이 100%인 프로젝트는 해당 파트너님이 온전히 작업한 결과물입니다.
외부 공동 작업의 경우 기여도에 따라 참여율이 달라지며 역할, 프로젝트 설명을 통해 업무 분야 및 참여 범위를 확인할 수 있습니다.
100%
관련 기술
vim
C
GCC/G++
kernel
make
Ubuntu