求教,2410 arm9开发板 io 操作
时间:2008-05-08
来源:互联网
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/io.h>
main()
{
unsigned int d;
iopl(3);
printf("begin!\n");
d=inb(0x0032);
printf("d=%x\n",d);
printf("Succeed!\n");
}
我刚学习,摸索中,这段程序是想试试 io的操作,因为需要用开发板采集开关量。
编译 通过, 在开发板上运行 不对,出现 ... unhandled page fault at pc=0x400ge81c, lr=0x00008448 (bad address =0x00)...
很长
这代码有什么问题,请教啊, 驱动还不是很懂,比如iopl 和inb 这2个函数也第一次用,谢谢
#include <stdlib.h>
#include <unistd.h>
#include <sys/io.h>
main()
{
unsigned int d;
iopl(3);
printf("begin!\n");
d=inb(0x0032);
printf("d=%x\n",d);
printf("Succeed!\n");
}
我刚学习,摸索中,这段程序是想试试 io的操作,因为需要用开发板采集开关量。
编译 通过, 在开发板上运行 不对,出现 ... unhandled page fault at pc=0x400ge81c, lr=0x00008448 (bad address =0x00)...
很长
这代码有什么问题,请教啊, 驱动还不是很懂,比如iopl 和inb 这2个函数也第一次用,谢谢
作者: tao831108 发布时间: 2008-05-08
我都试了在 电脑 上虚拟机下linux可以用,但在 arm开发板上就出错,是不是 iopl和ioperm这2个函数不能在arm上用啊
作者: tao831108 发布时间: 2008-05-09
不能用的话,用什么方法可以读 io, 比如用/dev/port,如何使用能详细讲下吗,谢谢了
作者: tao831108 发布时间: 2008-05-09
我刚做过IO操作
首先要在arm板中加入节点
然后加入驱动文件
最后才是使用应用文件进行读写
首先要在arm板中加入节点
然后加入驱动文件
最后才是使用应用文件进行读写
作者: arm0817 发布时间: 2008-11-09
在S3c2410的开发板基于arm9的开关量驱动开发简单步骤:
1. 根据你的datasheet看懂开关量的shuxing
2. 找一个标准的字符驱动 改写 留下IOCTL接口, 实现不同开关量的ioctl
3. 创建开关量的设备节点,供你的APP调用也就是 open,然后在用户空间传递不同的参数给你的内核驱动,
4. 内核驱动的ioctrl会根据不同的参数返回或是打印不同的信息。这个调通后就可以更进一步开发你复杂的开关量驱动
说白了,你要创建一个设备节点 来衔接你的用户空间和内核空间,然后就是实现你的开关量驱动。由于时间有限不能给你具体的code参考。
1. 根据你的datasheet看懂开关量的shuxing
2. 找一个标准的字符驱动 改写 留下IOCTL接口, 实现不同开关量的ioctl
3. 创建开关量的设备节点,供你的APP调用也就是 open,然后在用户空间传递不同的参数给你的内核驱动,
4. 内核驱动的ioctrl会根据不同的参数返回或是打印不同的信息。这个调通后就可以更进一步开发你复杂的开关量驱动
说白了,你要创建一个设备节点 来衔接你的用户空间和内核空间,然后就是实现你的开关量驱动。由于时间有限不能给你具体的code参考。
作者: topeqin 发布时间: 2008-11-10
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28