- 论坛徽章:
- 0
|
10可用积分
最近在写几个硬件的驱动代码,由于刚接触这个,很多还是不懂,还希望大侠们帮我看下,下面是我碰到的错误,不甚感激阿。
AD驱动已经以模块的方式加载进内核,在lsmod命令下也可以看到
Module Size Used by Not tainted
adc 1128 0 (unused)
然后我运行一测试程序,。/test (chmod 777 test)出现。./test: Permission denied 错误,开发版其他的可执行程序/脚本都可以运行,没有任何问题。问题出在什么地方呢 ?驱动,还是测试代码 ?
test.c的代码如下:
----------------------------------------------------------------
int main(void){
int fd;
volatile unsigned int ad_data;
fd=open("/dev/ADC0.1",O_RDONLY);
if(fd==-1){
printf("can not open ADC0.0 \n");
exit(-1);
}
ioctl(fd,0,20);//set the speed of AD converting;
while(1){
ad_data=0;
read(fd,&ad_data,sizeof(ad_data));
printf("%d",ad_data);
sleep(10);
}
return 0;
}
---------------------------------------------------------------- |
最佳答案
查看完整内容
没关系。前一个用于/proc/devices中的对应关系表,从这张表里面找到对应的主设备号,然后根据主设备号创建名为后一个name的设备文件。
|