본문 바로가기

[리눅스커널]프린트 포트를 사용해서 LED 불켜기

반응형

 1. open() 함수의 man페이지를 검색해서 어떤 헤더파일이 들어가는지와 어떤 형식으로 open()함수를 쓰는지를 파악한다.

2.open(경로, 사용용도); 이런식으로 사용하는 것 같다. 여기서 port1이라고 적은 것은 일부러 에러를 내기 위해서 적은 것 원래는 0 이다.

   위와 같이 open 함수의 반환값이 0 이상인지를 검사해서 0보다 클 경우, 즉 값이 있을 경우에는 "열기 성공을 출력"하고 아닐 경우는 "실패"를 출력하게 한다. 

 

 거기다가 lseek(저장된 변수 , 위치 , 설정)

SEEK_SET: 파일 오프셋은 offset으로 설정되고 파일 오시작으로부터 offset개 바이트 만큼 떨어진 곳을 가르킨다.

0x378은 프린트 설정이 메모리에 저장된 곳.(바이오스에서 설정할 때 IRQ인가 에서 프린트 포트 설정은 378로 연결되어 있다.)

cDummy 값을 어떻게 설정하는냐에 따라서 비트에 0을 놓는지 1을 놓는지 할  수 있다.

병렬  포트에 cDummy 값을 쓴다.

1초간 대기

닫아주기

아무리해도 프린트포트에 불이 들어오지 않아서 이리저리 해봤는데 계속 실패하다가 문제는 VM웨어에서 설정도 프린트포트를 설정해줘야는데 안해준 것이 문제 였다.

man ioctl_list

   

리눅스 입장에서는 하드에 있는 파일이든 프린트 포트이든 똑같이 처리한다. 그러므로 저수준 입출력을 할 줄 알면 다 다룰 줄 안다.

WDM(윈도우 디바이스는 따로 배워야 한다. 궁금 책 굵기가 장난 아니라는데...)

네트워크보안과 코스트?? 의 차이는 네트워크보안은 지나가는 패킷을 잡는 것이고 코스트는 들어온 패킷을 잡는 것이다.

GP(General Purpose) - 아무 기능도 없어서 범용적으로 사용할 수 있으나 소프트웨어로 다 짜야한다.
이렇게 하면 모든 장비를 다룰 수 있다는 것이 완전 신기하게 느껴지지만 전부 프로그램으로 작성해야된다는 점이 불편하다. 임베디드용으로 사용해야는데 일일이 컴퓨터 짊어지고 사용할 수는 없는 법그래서  만든 것이
아트메가나 암칩 같은 것. 

   

변수를 2개 선언

open 함수 사용

   

반응형

'About 프로그래밍!!! > 리눅스' 카테고리의 다른 글

[리눅스커널]u-boot 퓨징하기  (0) 2010.09.20
-->