나는 리눅스 디바이스 드라이버의 예에서 short.c을 시도하고 LDD3 예 짧은 모듈에서 작동하지 않습니다 3OUTB는()
내 PC는 병렬 포트와 우분투 부팅 후, 나는이 볼 수 있습니다
를cat /proc/ioports
0378-037a : parport0
037b-037f : parport0
outp 0x378 1
(outp is another example in LDD3 which write data to ports)
the LED on the port is ON.
그럼 내가 다시 실행 모듈
rmmod lp
rmmod parport_pc
cat /proc/ioports
(There is no module on 0378-037f any more.)
을 제거하려면 다음 명령을 실행하지만 LED는이 시간에 없습니다.
outp 0x378 1
은 그 때 나는 short.ko과 request_region()가 성공적으로 설치합니다.
cat /proc/ioports
0378-037f : short
cat /proc/devices
249 short
outp 0x378 1
the LED is not ON this time either.
나는 (LED가 ON되지 않습니다)
mknod /dev/short0 c 249 0
echo -n "a" > /dev/short0
"A"이 0x61 인 마지막 비트가 1
수 있도록하는 이유는 쓸 수 없습니다 너무 이러한 시도했지만 같은 결과 I/O 영역이 있어도 데이터를 내보낼 수 있습니까?
답장을 보내 주셔서 감사합니다.
:
그리고 컵이 설치되어있는 경우, 당신은 /etc/modules-load.d/cups-filters.conf을 수정해야
? – sawdust예, LED가 올바르게 배선되어 있습니다. 모듈 parport_pc가 이동하기 전에 ON으로 설정할 수 있습니다. – user1443721
새로운 발견. request_region() 함수 호출을 제거하고 parport 모듈을 언로드하지 않으면 코드를 읽고 쓸 수 있습니다 (LED도 켜짐). parport 모듈이 있기 때문에 irq 7이이를 사용합니다. 나는 "짧은"모듈에 irq 5를 할당해야한다. irq 5를 성공적으로 사용할 수는 있지만, 인터럽트는 [유선 핀 9와 핀 10 및 outb (0xff, 0x378)]에 의해 절대로 발생하지 않습니다./proc/interrupts를 점검하면 outb (0xff, 0x378)가 호출 될 때 irq 7 카운터가 증가하지만 irq 5는 항상 0입니다. – user1443721