디바이스 트리 작성법 (3편) 4. 인터럽트 처리 방법 디바이스 트리 구조내에서 디바이스들은 트리 구조로 계층화 표현이 가능합니다. 인터럽트는 이런 계층 구조가 곤란 합니다. 보통 인터럽트는 디바이스의 하드웨어가 인터럽트를 발생하고 인터럽트 컨트롤러가 해당 신호를 수신하는 구조로 되어 있습니다. 그래서 인터럽트는 디바이스 트리의 구조와 별도로 디바이스 노드간에 링크 구조로 표현됩니다. 인터럽트는 디바이스 노드의 속성의 형태로 표현합니다. 네개의 속성이 인터럽트 간의 연결을 표현하기 위해서 준비 되어 있습니다.다음은 네개의 속성에 대한 간단한 설명입니다. - interrupt-controller 속성interrupt-controller 속성 은 값이 없는 빈 속성으로 해당 노드의 디바이스가 인터럽트 신호를..
디바이스 트리 작성법 (2편) 3주소지정 방법디바이스의 주소를 디바이스 트리에 표현하기 위해서 정해진 속성에는 다음 세가지가 있습니다. #address-cells#size-cellsreg이 속성은 서로 연관 관계를 가지고 있습니다. "#address-cells" 속성과 "#size-cells" 속성은 reg 속성의데이터에 대한 갯수 규칙을 지정합니다. "#address-cells" 속성과 "#size-cells" 은 부모 노드에서 지정하고 reg 속성 은 자식 노드에 지정합니다. 우선 reg 속성에 대해서 알아 보겠습니다. reg 속성은 다음과 같은 형식을 가집니다. "reg = "주소와 길이가 하나의 묶음이 됩니다. 보드에 있는 디바이스를 제어하기 위해서 하나의 주소일수도 있고 여러개의 주소를 가지고 ..
디바이스 트리 작성법 (1편) 이 문서는 디바이스 트리 작성법을 설명한 http://devicetree.org/Device_Tree_Usage 웹 문서를 번역 및 의역한 것입니다. 오역 및 잘못된 내용이 있을 수 있습니다. 제목 : 디바이스 트리 작성법 이 문서는 새로 만들 하드웨어에 대한 디바이스 트리를 어떻게 작성하는지를 다룹니다. 이 문서가 작성된 목적은 디바이스 트리에 대한 개념을 설명하고 디바이스 트리에 디바이스를 어떻게 표현하는 가를 설명한 것입니다. 이 문서는 가장 기본적인 내용만 다루고 있기 때문에 더 자세한 디바이스 트리의 데이터 포맷이 알고 싶다면 ePAPR 기술 설명서를 참고 하는 것이 좋습니다. 목차 1.기본 데이터 형식2.기본적인 개념2.1장치예2.2 최초 구조체2.3 CPU들 2..
※ WM_SYSCOMMAND → WM_CLOSE → WM_DESTROY → WM_QUIT 1. WM_CLOSE - 윈도우가 닫히기 전에 메시지가 전달 된다. - 아직 윈도우가 파괴된 것은 아니므로 윈도우가 파괴되는 것을 중간에 제어 할 수 있다. - 윈도우의 “닫기” 를 누르거나, 키보드의 “Alt + F4”를 눌렀을 경우 발생 - WM_CLOSE 의 핸들러(OnClose) 에서 추가적인 제어를 하지 않는다면 메시지는 DefWindowsProc 로 보내진다. - CDialog::OnClose() 는 내부적으로 DestroyWindow() 함수를 호출 한다. - DestroyWindow() 함수는 내부적으로 WM_DESTROY 메시지를 발생 시킨다. 2. DestroyWindow() - CWnd내부에 있는..
일명 매크로 프로그램을 만드는 방법을 간단히 소개하겠다. 가장 먼저해야 할 일은 제어하고자 하는 프로그램의 핸들을 얻어 오는 것이다. Spy+프로그램을 이용하면 쉽게 찾을 수 있다. 창 찾기 창이 뜨면 찾기 도구를 드래그 하여 원하는 응용 프로그램에 끌어 놓는다. FindWindow로는 최상위 부모 윈도우만 찾을 수 있다. 제어하고자 하는 응용프로그램에 최상위 윈도우에 끌어다 놓는다. 원하는 프로그램을 선택하면 아래와 같이 윈도우 정보가 표시 된다. 여기서 캡션과 클래스를 통해 원하는 윈도우를 찾을 수 있다. 파일-로그 메세지 메뉴을 이용해 창을 찾은후 확인을 누르면 현재 윈도우가 어떠한 메세지를 받는지 모두 볼 수 있다. 여기서 발생하는 이벤트중 키보드, 또는 마우스 관련 이벤트를 확인 하면 된다. u..