일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 라즈비안
- STL deque
- 최단경로
- 라즈베리파이3
- 라즈베리파이3 라즈비안
- 일곱 난쟁이
- tftp-hpa
- dfs recursive
- uboot
- gui
- stack
- 모듈
- 라즈베리파이3 ftfp
- DFS
- 2309
- AWS
- 백준
- 디바이스 드라이버
- 한수
- GPIO
- .config
- putty
- Module.symvers
- tftp
- u-boot
- tftp 서버
- 디바이스드라이버
- 인접행렬
- 라즈베리파이 uboot
- deque
- Today
- Total
목록모듈 (3)
달공이와 임베디드
디바이스 드라이버 프로그램의 구성 디바이스 드라이버는 크게 세가지 부분으로 나뉘어 진다.다음 예제는 GPIO 를 통한 LED 제어를 하기 위해 만들어진 코드이다. 1. 디바이스 드라이버의 전체적인 사용함수 정의부 및 디바이스 드라이버 커널 적재/반납부 "file_operations 구조체에 미리 정의되어 있는" 함수 중에서 구현하고자 하는 디바이스 드라이버에서 사용될 함수를 선언하여 주고, 모듈 형태로 구성되는 디바이스 드라이버를 "커널내부에 문자장치로 등록"하여, 사용자 어플리케이션이 장치에 접근할 때 사용할 선언되있는 함수를 이 문자 장치(디바이스 드라이버 모듈)과 연결하는 역할을 수행한다. ※ 윈도우에서는 디바이스를 따로 처리하지만, 리눅스에서는 디바이스를 "Virtual File System (V..
Module 생성을 위한 과정 ( KDIR 경로 설정을 위한 과정 )module 을 컴파일 하기 위해서는 두가지가 필요하다. 하나는 리눅스 커널의 소스 파일(헤더파일)이고 다른 하나는 Module.symvers (Symbol Table) 파일이다. ★ 우선적으로 모듈 빌드시 사용하기 위한 Makefile 을 살펴보자. Makefile : make modules 간단하게 모듈빌드를 위한 make 명령어는 make modules 이다.make module : 커널 환경설정에서 모듈로 설정한 기능들을 컴파일합니다.cf) make module_install 컴파일 된 모듈을 /lib/modules 아래 설치합니다. make 옵션을 살펴보면 1) 크로스 컴파일 옵션 2) -C 옵션 3) 서브디렉토리 설정 옵션이 ..
디바이스 드라이버에 대한 이해 디바이스 드라이버란 커널공간에서 응용프로그램과 하드웨어간의 데이터를 주고 받게 해주는 프로그램이다. 이 디바이스 드라이버는 정의되어 있는 인터페이스로 커널과 연결된다. 리눅스에서는 모든 것을 파일로 관리한다. 연결되어 있는 하드웨어 장치 또한, 장치 파일(Device file) 로 관리하는 것이다. 그리고 이러한 장치 파일에 대한 컨트롤을 "디바이스 드라이버(Device Driver) 라는 프로그램" 을 통해 관리하는 것이다. 이 때, 디바이스 드라이버는 "정해져 있는 하드웨어 제어함수"를 통해 장치를 제어하도록 작성된다. 디바이스 드라이버의 종류 1) 문자 디바이스 드라이버(chrdev)2) 블록 디바이스 드라이버(blkdev)3) 네트워크 디바이스 드라이버(netdev)..