메뉴 건너뛰기

그외 개발정보


드라이버를 공부한지 얼마 안되는 상태입니다.
저는 장비제어를 하는데.. 모션 콘트롤러와 i/o보드를 사용합니다. 그런데 일반 어플에서는 10ms 정도에서 제어함수를 돌립니다. 그래서 좀더 빠르게 하드웨어 정보를 얻고 제어를 할 수 있었으면 해서 드라이버를 공부하고 있습니다. 그런데. 드라이버를 공부하고 작성중에 드라이버에서 쓰레드나 인터럽트를 만들어 응용프로그램의 제어 함수를 실행시킬수 있는 방법이 없을까 고민하게 되었습니다. 어떠한 방법이 없을까요. 공부한지 얼마 안되어서 전체적인 흐름이나 구조가 파악이 안되어서 되는지 안되는지. 알 수가 없습니다. 가능한 방법이 있다면 좋겠습니다. 장문을 읽어 주셔서 감사합니다.



  • profile
    움-
    DLL 도 성격 나름입니다만,
    어플리케이션과 거의 동일하다고 보시면 되겠습니다.
    즉, 먼저번에 답변드린 내용에서 "어플리케이션"을 DLL이라 생각하셔도 무방하답니다^^


    >답변 정말 고맙습니다.
    >죄송하지만 한가지 더 질문할께요.
    >Dll로 작성된 함수는 드라이버에서 사용가능한지요.

  • 답변 정말 고맙습니다.
    죄송하지만 한가지 더 질문할께요.
    Dll로 작성된 함수는 드라이버에서 사용가능한지요.
  • profile
    안녕하세요, 반갑습니다.^^

    보통, 드라이버에서 어플리케이션을 실행시키지는 않습니다.(그러한 방법도 아마 없는 것으로 알고 있습니다.)

    시스템이 시작되면서 드라이버가 운영체제에 의해 로드되도록 하거나, 어플리케이션이 필요에 의해 드라이버를 로드하는 방법이 표준입니다.

    어플리케이션은 특정한 조건이 되었을때 드라이버로부터 어떤 이벤트나, 값을 얻을수 있습니다.

    그렇게 하기 위함으로 보통 Pending과 같은 방법이나 이벤트 객체를 주로 사용합니다.

    즉, 어플리케이션은 드라이버에게 어떤 값을 받을 준비를 하고 드라이버에게 뭔가를 요구하면, 드라이버가 값을 줄수 있는 시기가 될때까지 드라이버는 요구를 Pending시켜 둡니다. (이러면 어플리케이션은 멈춰있게 됩니다. 혹은, 별도의 스레드를 또하나 만들어 드라이버에게 요구할 수도 있으며 역시 그때는 스레드가 멈춰 있게 됩니다.) 그러다가, 드라이버는 인터럽트나 타이머에 의해 디바이스로 부터 들어오는 값을 어플리케이션에게 넘겨줘야 하는 시점에 Pending 상태를 풀어 데이타를 넘겨주게 되는 것이지요.

    이렇게 넘어온 데이타의 값에 따라 해당하는 함수를 호출한다거나, 어떤 처리를 해주면 되겠죠?

    이러한 예제들은 Walter Oney의 WDM서적이나 관련 예제 소스들에서 찾아 보실 수 있습니다.

    도움이 되었길 바라겠습니다.


    >드라이버를 공부한지 얼마 안되는 상태입니다.
    >저는 장비제어를 하는데.. 모션 콘트롤러와 i/o보드를 사용합니다. 그런데 일반 어플에서는 10ms 정도에서 제어함수를 돌립니다. 그래서 좀더 빠르게 하드웨어 정보를 얻고 제어를 할 수 있었으면 해서 드라이버를 공부하고 있습니다. 그런데. 드라이버를 공부하고 작성중에 드라이버에서 쓰레드나 인터럽트를 만들어 응용프로그램의 제어 함수를 실행시킬수 있는 방법이 없을까 고민하게 되었습니다. 어떠한 방법이 없을까요. 공부한지 얼마 안되어서 전체적인 흐름이나 구조가 파악이 안되어서 되는지 안되는지. 알 수가 없습니다. 가능한 방법이 있다면 좋겠습니다. 장문을 읽어 주셔서 감사합니다.


제목 날짜
[TIP] NEXUS(넥서스) 5x 루팅 방법입니다. 2016.01.05
mouclass 접근.. 3 2010.03.13
class callback호출시 에러가 나는데 뭐가 문제인지 모르겠습니다..ㅠㅠ 1 2006.07.22
[질문]드라이버와 응용프로그램 관계에 대하여 3 2004.08.24
드라이버의 로딩순서 바꾸기가 가능한가요. 1 2004.08.17
uC/OS-ii 를 디스켓으로 부팅하려고 하는데요.. 3 2004.08.05
안녕하세요 초보적인 소스 질문 합니다. 1 2004.07.25
rf 에 대한 답변에 감사드리며.. 1 2004.07.18
[질문] OS 부트섹터 강좌의 부트섹터 소스중에서... 3 2004.07.04
이 소스대로 하면 열여야 하는거 아닌가요? 1 2004.06.23
usb 에 read/write 하는것좀 알려주세요. 1 2004.06.22
운영체제에서 "철학자들의 만찬" 알고리즘에 대해.. 1 2004.06.04
필터 드라이버 설치문의.. 1 2004.05.18
메일슬롯 1 2004.04.06
버튼 값 질문이요... 4 2004.02.18
건우님 장치관리자 문의 있습니다. 2 2004.02.17
뒷북일지 모르지만.. bootsect.asm에 버그있네요.. 2 2004.02.12
토글키 만들기 예제를 키 인풋으로 전환하는데 1 2004.01.13
[질문] 다른 OS에서 사용한 HDD를 섹터단위로 Read하는 방법. 1 2003.12.12
print port 제어 1 2003.12.08
드라이브 타입을 알고 싶습니다(A:, C:, F:....) 1 2003.12.03
USB통신 어플리케이션 만들때요.. 1 2003.11.14
WRITE_PORT_UCHAR를 이용한 마우스를 제어 1 2003.11.12
태그 목록
위로