yocto project - device driver "hello world" 찍어보기

박남호·2022년 11월 14일
0

디바이스 드라이버를 타겟보드에 올려서 printk로 "hello world"를 찍어보려고한다. 일단 meta-sensonia 폴더에 레시피를 생성한다. recipes-kernel/fpga-driver/를 생성하고 fpga-driver 폴더에 bb 파일과 files 폴더를 생성하여 소스코드는 files 폴더에서 작성한다. 트리구조를 보면 아래 이미지와 같다.
fpga-driver.bb 파일부터 작성해 보겠다.

LICENSE = "CLOSED" : 일단 closed로 관련 내용을 스킵하지만 사수는 GPLv2를 썼음.
inherit module : 모듈 빌드를 명시
SRC_URI = "file://*" : 모든 파일을 사용
이정도로 정리하고 fpga-driver.c 파일을 작성해 보겠다.
insert 될때 "hello world"를 출력하고 remove 될때 "Good bye!"를 출력하는 모듈을 만드려고 한다.
이렇게 작성하고, Makefile은 아래 이미지와 같이 작성해준다.
그리고 이제 bitbake fpga-driver를 입력해 빌드해보겠다.
정상적으로 빌드가 되었고 이제 타겟보드에서 확인해보겠다.
insmod로 모듈을 넣어줄때 초기화 init 함수에서 printk로 "Hello world!"를 찍어주고 rmmod로 모듈을 제거할때 exit 함수에서 printk로 "Good bye!"를 찍어주는 것을 확인할 수 있다.

profile
NamoPark

0개의 댓글