主题 : android JNI调用控制硬件 复制链接 | 浏览器收藏 | 打印
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
楼主  发表于: 2011-07-29 14:13

 android JNI调用控制硬件

我现在正在做android JNI测试准备通过这个去控制底层硬件,我是通过mmap映射地址去控制硬件的,但是需要打开/dev/mem设备才能进行这样的操作,只是无法打开/dev/mem设备,我直接用我做的linux下的控制IO模块make之后可以控制硬件,所以应该不是代码的问题,我以。有没有人做过,提点意见?

级别: 新手上路
UID: 53826
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2011-08-17
最后登录: 2011-08-18
1楼  发表于: 2011-08-18 16:19
这个问题就是操作linux硬件。
过程是这样子的。你是通过内存映射到用户空间的(即用mmap映射),然后直接在用户空间操作。
所以你在JNI底层用C先实现 操作 映射出来的用户空间地址,这个部分不涉及到权限问题。然后再通过JNI封装,提供给上层framework调用。

或者你直接不要用mmap,直接写一个驱动,然后通过ioctl来操作,这样子更简单方便一点。

你的问题先在底层C调试好,OK之后再试着在ANDROID层调试。