irq 작성중입니다. FLAG 가 고민되서요...

chxooi의 이미지

임베디드 시스템하나 만들어보는데요...

console 이 irq 2번
그리고
또하나의 device 가 irq 2 번을

공유해서 씁니다. UART 이용하는거거든요...

그런데,

코드를 만드는데,

static void handler_func(int irq, void *dev_id, struct pt_regs *regs)

{
printk("\n#### handler %d\n", __LINE__);
}

if(request_irq(irq_num, &handler_func,IRQF_SHARED, "irq_handle1", NULL))

처럼 쓰면 안되나요?

IROF_SHARED 가 shared 에 쓰이는것같아 썼는데,
어떤 코드를 참고하니,
SA_INTERRUPT 도 쓰고했더라구요...
둘다 share 인것같은데...

하는 디바이스는 그냥 입력장치 인터페이스로 리모콘이나 마우스 같은겁니다.
SA_INTERRUPT 만써야될까요???

이 옵션들은 너무 너무 헷깔리네요

interrupt 가 잘안올라와서요...

bushi의 이미지

커널 버전이... 굉장히 구려 보이고요.
가능하다면 IRQF_xxx 를 사용하시고요,

shared irq 를 request_irq() 할 경우엔 맨 마지막 아규먼트가 필수입니다.
free_irq() 할 때 어떤 핸들을 해지할 지 구분을 할 수 있어야하기 때문에.

그리고,
irq 핀이 하나뿐인 multi-port UART 컨트롤러에 대한 것도 기본 드라이버인 drivers/serial/8250.c 로 가능합니다.
예제는 http://lxr.linux.no/#linux+v2.6.32/arch/mn10300/unit-asb2303/include/unit/serial.h

마지막으로,
UART HID 장치에 대한 드라이버는 http://kldp.org/node/113447 참고하세요.
뒤에 언급한 uinput 을 사용하는 방식의 접근법에 대한 구현은 http://projects.linuxtogo.org/projects/kbdd/ 에 좋은 예가 있고,
실제로 http://www.handhelds.org/moin/moin.cgi/kbdd 에 응용 예도 있습니다.

OTL

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.