리눅스 디바이스 드라이브(3)
-
2022-06-13 리눅스_디바이스_드라이버_5
Makefile 연습 main.c #include int main(void){ printf("hello\n"); #ifdef SCULL_DEBUG printf("World\n"); #endif return 0; } Makefile TARGET = main SOURCE = main.c CC = gcc all : $(CC) $(SOURCE) -O2 -o $(TARGET) clean : rm -f $(TARGET) -O2 : Optimization 최적화, 최적화 레벨 2 최적화 옵션 : 실행 파일의 크기를 줄이고, 실행 속도를 향상시킨다. -O0 : 최적화를 수행하지 않는다. -O1 : -O0보다는 높은 수준의 최적화. (= -O) -O2 : 가장 많이 사용하는 수준의 최적화. 일반 응용 프로그램이나 커널을..
2022.06.13 -
2022-06-05 리눅스_디바이스_드라이버_3
hello.c의 Makefile Makefile에 대한 정리 Makefile 이해 2022-06-05 Makfile_이해 make, Makefile 이해 gcc C언어의 컴파일 과정 make Makefile의 구성 예시 gcc 명령어 사용 make 명령어 사용 Makefile 매크로 Makefile 보충 := , ?= 와 += 는 뭐지? $(OBJS:.o=.d) 는 뭐지? Makefile 조건문 Mak.. ramen4598.tistory.com vi Makefile make ifneq ($(KERNELRELEASE),) obj-m := hello.o else KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(M..
2022.06.05 -
2022-05-12 리눅스_디바이스_드라이버_1
Device란? 네트워크 어댑터, LCD 디스플레이, 오디오, 터미널, 키보드, 하드디스크, 플로피디스크, 프린터 등과 같은 주변 장치를 뜻함. 디바이스의 구동을 위해서 디바이스 드라이버가 필요함. Device Driver란? 실제 device를 추상화하여 사용자 프로그램이 정형화된 인터페이스를 통해 디바이스를 제어할 수 있도록 하는 프로그램. 디바이스 제어에 필요한 정형화된 인터페이스를 구현하기 위하여 요구되는 함수와 자료구조의 집합체. 응용 프로그램이 하드웨어를 제어할 수 있도록 인터페이스를 제공한다. 하드웨어 독립적인 프로그램을 작성할 수 있도록 함. 사용자는 디바이스의 물리적인 구조와 사용법을 이해하지 않아도 됨. 리눅스 디바이스 드라이버 프로그래밍(1) - 디바이스 드라이버 개요, 디바이스 드라..
2022.05.12