게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
리눅스 디바이스 드라이버 질문드립니다.
게시물ID : programmer_20676짧은주소 복사하기
작성자 : 전벙글이예요
추천 : 0
조회수 : 507회
댓글수 : 2개
등록시간 : 2017/05/26 22:24:08
옵션
  • 본인삭제금지
황금같은 불금에

9시간째 컴퓨터 앞에 앉아

오류를 찾아 헤메고 있는 학생입니다.....

지금 하고 있는 것은 리눅스에서 기본적인 문자 디바이스 드라이버를 제작하는 것입니다.

단순히 예제를 따라하는건데

예제에서 막혀버리는 클라쓰.......ㄱ-

쓰기와 읽기를 하는 디바이스모듈을 만들었습니다.

그런데 모듈을 적재시키고 나서

dmesg 명령어로 확인을 해보면

적재되지 않았을 때의 문구가 출력이 됩니다..
("모듈명" init failed)

그런데 lsmod로 확인해보면 적재는 되어있구요..

응용프로그램을 하나 만들어서 디바이스를 이용하게 만들면

오픈은 되는데 읽기가 되지 않습니다...

그냥 멈춰버리네요..ㅠㅠ

이유를 모르겠습니다..

모듈 프로그램
1.jpg



작성한 디바이스를 이용하여 write read하는 프로그램
2.jpg


위 프로그램에서 dev값은 3으로 출력되지만
write, read가 진행되지 않습니다..
아래처럼 결과가 나오게됩니다..

아무리 입력을해도 그대로...

3.jpg

꼬릿말 보기
전체 추천리스트 보기
2017-05-27 08:07:20추천 0
일단 /proc/devices 파일을 열어서 250번을 다른 장치가 쓰고있지않나 확인해보세요.
http://derekmolloy.ie/writing-a-linux-kernel-module-part-2-a-character-device/
위 강좌를 참고하셔서 0번도 한번 실험해보세요.
커널마다 약간씩 내부 구조가 바뀌고, 함수 인자가 바뀌기도 하고 처음에는 좀 안되는게 많으실거에요.
현재 사용하시는 커널 버전과 책에서 사용하는 커널 버전이 차이가 많이 난다면 예제 하나하나 만들때마다 약간씩 수정해가면서 실험하셔야됩니다.
구글에 함수 이름으로 검색해보면 비슷한 예제들이 많으니까 여러 예제들을 따라해보세요.
댓글 1개 ▲
2017-05-27 09:22:06추천 0
구세주님 감사드립니다....
굉멘.....!!
250번 말고 60번을 줬더니 잘 됩니다.... 감사합니다...정말 감사합니다...하흑...ㅠㅠ
복 받으실 거예요ㅠㅠㅠ
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호