도와주세요!!
글 수 15,339
2003.10.14 10:52:23 (*.241.146.1)
6684
안녕하세요..
예전에 사용하던 이지보드(스트롱암)과 지금사용하는 ez-x5 보드의 커널을 서
로 비교하다가 이해가 가지 않는부분이 있어서요..
set_GPIO_IRQ_edge 함수인데요..
- StrongArm 커널에서 irq.c 에서 보니까
void set_GPIO_IRQ_edge(int gpio_mask, int edge)
이렇게 되어있고...
- ez-x5에서 제공된 커널에서 irq.c를 보니까
void set_GPIO_IRQ_edge (int gpio_nr, int edge)
이렇게 되어있습니다.
예전에 스트롱암에서 할때
set_GPIO_IRQ_edge(GPIO_GPIO1, GPIO_FALLING_EDGE);
이런식으로 등록을 했거든요...
그런데
ez-x5 보드에서 제공된 커널에서 ez8900.c 파일을 보니
set_GPIO_IRQ_edge(DEFAULT_IRQ_GPIO, GPIO_RISING_EDGE);
이렇게 되어있고, DEFAULT_IRQ_GPIO 는 21로 정의되어 있습니다.
그러면
스트롱암에서 set_GPIO_IRQ_edge함수의 첫 인자는 mask 번호
즉, GPIO_GPIO로 정의된 (0x00000001 << x) 이렇게 넘어가고
ez-x5 커널에서는 set_GPIO_IRQ_edge 함수의 첫번째 인자가
바로 GPIO의 번호 예를들어 GPIO 21번이면 바로 21이라는 숫자가
들어가는 것인가요?
동일한 이름의 함수인데...
ez-x5 커널에서 완전히 사용법이 바뀐것인가요.. 궁금합니다.
알려주세요...
예전에 사용하던 이지보드(스트롱암)과 지금사용하는 ez-x5 보드의 커널을 서
로 비교하다가 이해가 가지 않는부분이 있어서요..
set_GPIO_IRQ_edge 함수인데요..
- StrongArm 커널에서 irq.c 에서 보니까
void set_GPIO_IRQ_edge(int gpio_mask, int edge)
이렇게 되어있고...
- ez-x5에서 제공된 커널에서 irq.c를 보니까
void set_GPIO_IRQ_edge (int gpio_nr, int edge)
이렇게 되어있습니다.
예전에 스트롱암에서 할때
set_GPIO_IRQ_edge(GPIO_GPIO1, GPIO_FALLING_EDGE);
이런식으로 등록을 했거든요...
그런데
ez-x5 보드에서 제공된 커널에서 ez8900.c 파일을 보니
set_GPIO_IRQ_edge(DEFAULT_IRQ_GPIO, GPIO_RISING_EDGE);
이렇게 되어있고, DEFAULT_IRQ_GPIO 는 21로 정의되어 있습니다.
그러면
스트롱암에서 set_GPIO_IRQ_edge함수의 첫 인자는 mask 번호
즉, GPIO_GPIO로 정의된 (0x00000001 << x) 이렇게 넘어가고
ez-x5 커널에서는 set_GPIO_IRQ_edge 함수의 첫번째 인자가
바로 GPIO의 번호 예를들어 GPIO 21번이면 바로 21이라는 숫자가
들어가는 것인가요?
동일한 이름의 함수인데...
ez-x5 커널에서 완전히 사용법이 바뀐것인가요.. 궁금합니다.
알려주세요...