如题?读写SDIO接口和读写SD卡是否一样,如果不一样的话,Android是否提供相关API来读写SDIO接口?
还望各位大侠不吝赐教,万分感谢.

解决方案 »

  1.   

    呃。不太清楚
     www.800app.com 
      

  2.   

    android无法读写sdio,直接读写sdcard中的文件即可。当然sdio还可以接别的设备,那就不一定是sdcard读写sdio是linux driver的事情啊。
      

  3.   

    情况时这样的,我现在在做Android平板电脑上应用开发,项目中的一个功能需要调用SDIO接口外围设备相关功能,即只要实现打开、读、写、关闭SDIO设备这四个功能即可。
    我们现在和别人合作开发,他们底层的SDIO设备读写以已经搞定,只要我们能提供Android系统读写SDIO接口相关API即可。我之前也在网上找一下,相关资料很少,而且就像你说一样,都涉及到了Linux Driver。
    但是我在想这样一个问题,SDIO是遵守SD卡协议的,既然Android可以读写SD卡,就应该能读写SDIO啊。
    还望大侠继续赐教,再次感谢。
      

  4.   

    还有,我在网上找资料时,有人说MountService可以对USB、SD等外部存储设备管理和查询服务,并且在存储设备状态变更时发出通知。那么我就在想MountService对SDIO是否提供同样的功能呢?
      

  5.   

    如果这样, 就是说别人的driver是搞定了的。 如果他的驱动节点给你用户程序读写权限,你可以通过jni来操作, open/ close. ioctl 都可以,随便你如何操作没问题。加权限在 system/core/init/devices.c中加进去就可以了, 给666,对所有用户开放读写权限。如果权限不给你开放(也就是不给第三方应用程序开放,安全问题), 那你需要写一个系统服务,这个服务在system server中运行,而且这个service只要要有native的代码才能操作这个设备。
      

  6.   

    现在遇到这样一个问题,如何在Android上加载Driver呢,在网上好像没有找到相关资料,最好能详细一点,万分感谢!
      

  7.   

    根据目前所收集的相关资料,可作如下分析:
    1、Android加载驱动和Linux加载驱动基本上是差不多的;
    2、Linux加载驱动可分为动态加载和静态加载,前者把驱动编译成一个模块,通过insmod和rmmod来实现动态加载和删除,而后者直接把驱动编译进内核,随Linux启动而加载;目前的问题:
    1、在Windows下如何把驱动编译成Linux可识别的模块?
    2、在程序中如何实现insmod和rmmod这两个命令(感觉这两个好像是命令行命令)?
    3、上述的功能能否只通过Java+JNI来实现?还各位大侠再次赐教,万分感激!