2022-06-13 리눅스_디바이스_드라이버_5

Featured image for 2022-06-13 리눅스_디바이스_드라이버_5

Makefile 연습 main.c Makefile -O2 : Optimization 최적화, 최적화 레벨 2 gdb라는 디버거를 사용할 때는 위의 CFLAGS를 사용한다. 이유는 -O2 옵션을 사용하면 최적화를 위해서 코드의 순서가 변형되기에 -g의 이용이 불가하다. 그래서 디버깅 때는 위에 라인을, 디버깅이 끝나면 아래 코드를 사용하도록 한다. gdb는 the GNU Project debugger다. 출처 : https://jangpd007.tistory.com/220 출처 : https://jangpd007.tistory.com/220 [참 놀라운 세상:티스토리] … 더 읽기

2022-06-05 리눅스_디바이스_드라이버_3

Featured image for 2022-06-05 리눅스_디바이스_드라이버_3

hello.c의 Makefile 주의점 : 넓게 띄어 쓴 부분은 tab을 사용한다. Space bar를 사용하면 오류 난다. 핵심은 커널의 소스가 있는 디렉터리와 hello.c가 위치한 디렉터리를 오가며 컴파일한다는 것이다. 완벽히 이해하려 노력했지만 모르는 것이 많아서 그럴 수 없었다. (교수님이 조금이라 설명해주시면 좋을 텐데…) 이해할 수 있게 된다면 그때 다시 와서 볼 수 있도록 하자. 출처 : https://kldp.org/node/73511 출처 … 더 읽기

2022-05-12 리눅스_디바이스_드라이버_1

Featured image for 2022-05-12 리눅스_디바이스_드라이버_1

Device란? 네트워크 어댑터, LCD 디스플레이, 오디오, 터미널, 키보드, 하드디스크, 플로피디스크, 프린터 등과 같은 주변 장치를 뜻함. 디바이스의 구동을 위해서 디바이스 드라이버가 필요함. Device Driver란? 실제 device를 추상화하여 사용자 프로그램이 정형화된 인터페이스를 통해 디바이스를 제어할 수 있도록 하는 프로그램. 디바이스 제어에 필요한 정형화된 인터페이스를 구현하기 위하여 요구되는 함수와 자료구조의 집합체. 응용 프로그램이 하드웨어를 제어할 수 있도록 … 더 읽기