• «
  • 1
  • 2
  • 3
  • »
  • Pages: 1/3     Go
主题 : 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: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
贡献值: 0 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
1楼  发表于: 2011-07-29 14:16
可能和权限有关, Android下对权限的控制比较严格
你可以打印一下errno, 看看具体是什么错误
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
2楼  发表于: 2011-07-29 15:01
    int fdMem = -1 ;
    fdMem = open("/dev/mem",O_RDWR);
    if (fdMem < 0)
    {
        return (*env)->NewStringUTF(env, (char *)"Can't open mem device entry");
    }
    gpioports = mmap(0,getpagesize(),PROT_READ|PROT_WRITE,MAP_SHARED,fdMem,
        0x7F008000);
    if (gpioports==MAP_FAILED)
    {
        return (*env)->NewStringUTF(env, (char *)"Map failed!");
    }
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
3楼  发表于: 2011-07-29 15:02
这是我上面一部分代码,高手帮忙解决下。
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
4楼  发表于: 2011-07-29 15:18
超出了我们支持的范围,帮顶
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 荣誉会员
UID: 34761
精华: 0
发帖: 1348
金钱: 6835 两
威望: 1367 点
贡献值: 0 点
综合积分: 2696 分
注册时间: 2010-12-21
最后登录: 2017-06-02
5楼  发表于: 2011-07-29 15:18
添加chmod 0666 /dev/mem这一行到init.rc中试试
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
6楼  发表于: 2011-07-29 15:18
不是吧。
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
7楼  发表于: 2011-07-29 15:19
应该不是权限的问题,我用NFS挂载的时候已经把/dev/mem改成了最高权限.chmod 777 mem
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
8楼  发表于: 2011-07-29 15:33
急救啊.
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
贡献值: 0 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
9楼  发表于: 2011-07-29 16:10
你用的是什么板?

试试用最新版本的, 应该没有这个问题
  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 1/3     Go