• «
  • 1
  • 2
  • 3
  • »
  • Pages: 3/3     Go
主题 : android JNI调用控制硬件 复制链接 | 浏览器收藏 | 打印
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
20楼  发表于: 2011-07-29 18:29
给点实际的啊,所有我能想到的办法都试过了。
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
21楼  发表于: 2011-07-29 18:36
有谁做过,发个源码我看也行啊。
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
22楼  发表于: 2011-07-29 18:36
哎,现在自学都是个难事.
级别: 侠客
UID: 32635
精华: 0
发帖: 69
金钱: 350 两
威望: 70 点
贡献值: 0 点
综合积分: 138 分
注册时间: 2010-11-18
最后登录: 2014-07-02
23楼  发表于: 2011-07-29 22:01
android中在应用层不能直接操作设备文件,所以这个可能需要在本地框架中添加HAL,然后才能用JNI调用
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
24楼  发表于: 2011-07-30 11:49
能不能说具体点啊,谢谢。我是菜鸟,这个没搞过,没明白你的意思。
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
25楼  发表于: 2011-07-30 13:30
OK,谢谢了,我试试。
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
26楼  发表于: 2011-07-30 17:39
不过我觉得它在最后的JNI调用中调用的.c文件中还是会打开一个设备文件?
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
贡献值: 0 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
27楼  发表于: 2011-07-30 18:09

我觉得你说的是从头开始做的话,需要HAL,就好像友善自己把leds做以内核中一样,然后的过程中会搞这个,我觉得他在libfriendlyarm-hardware.so的源文件中应该打开了/dev/leds设备文件,而我的操作是没有做他前面的工作,在做.so的源文件中打开系统自带的/dev/mem设备文件,这个应该前面的工作已经做好了.
级别: 新手上路
UID: 53826
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2011-08-17
最后登录: 2011-08-18
28楼  发表于: 2011-08-18 16:19
这个问题就是操作linux硬件。
过程是这样子的。你是通过内存映射到用户空间的(即用mmap映射),然后直接在用户空间操作。
所以你在JNI底层用C先实现 操作 映射出来的用户空间地址,这个部分不涉及到权限问题。然后再通过JNI封装,提供给上层framework调用。

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

你的问题先在底层C调试好,OK之后再试着在ANDROID层调试。
级别: 新手上路
UID: 110319
精华: 0
发帖: 0
金钱: 5 两
威望: 1 点
贡献值: 0 点
综合积分: 0 分
注册时间: 2014-11-21
最后登录: 2014-11-23
29楼  发表于: 2014-11-21 16:08
楼主,我最近也在做这个东西,发现JNI下无论如何都打不开 /dev/mem节点,楼主,能分享下你的经验吗
  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 3/3     Go