안녕하세요?
ubuntu 10.04로 device driver를 짜보려고 하는데요
시작부터 난관이네용...

driver를 작성하고 테스트를 하려고 간단한 프로그램을 만들었습니다.

int main(int argc, char *argv[])
{

int dev;
struct buzzer_info buzzer;
if( ( dev = open("/dev/buzzer_driver", O_RDWR)) < 0 )
{
printf("buzzer Device Open Failed..\n");
printf("dev value = %d\n", dev );
perror("open");
return -1;
}

printf("============================\n");

buzzer.frq = 4175; // Hz
buzzer.duty = 50; // %
buzzer.time = 100; // x.x sec
ioctl(dev, IOCTL_GPIO_BUZZER, &buzzer);

close(dev);
usleep(10); // Hardware Stable Delay
return 0;
}

그런데 open하지 못하고 계속 error가 나네요
No such device or address...라고 error message가 뜹니다.

target에서 linux가 boot되고
# mknod /dev/buzzer_driver c 256 1
로 해서 device file을 하나 생성했습니다.
그런데... device file을 지웠다가 다시 만들어도 같은 message가 출력됩니다.

/dev/에 있는 다른 device로 열면 열리는데 buzzer_driver는 안열리네요.

혹시 kernel source 쪽에서나 아니면 config file쪽을 수정해야 하는건 아닌지요?

 

아... 그리고 driver source에 포함되어 있는 debuging message들이 나오지 않네요.

insmod랑 rmmod할때도 안나오고...

dmesg명령을 쳐도 아무런 말도 안나옵니다...

이건 어찌해야 하나요?ㅠㅠ