四 s5p4418 Android 对can总线的支持 支持波特率修改

前面的工作做完后只能保证能够在linux下使用,在Android下使用还是不行的,还需要做下面的步骤:

这里有三个文件夹can、libhardware、realarmTest,can文件夹放的是运行can需要的工具包括can脚本、ip工具(如果Android系统里没有这个工具,需要拷贝该工具到/system/xbin目录下,注意linux系统下busybox带的ip工具不可用)等;libhardware 该目录存放的是can在Android系统中jni层的源码,我们放在Android的路径为/devices/nexell/realarm/,具体的参与编译请参考我们的源码;realarmTest则为我们提供的对can、串口、485总线、LED的测试app,存放路径为/packages/app。

下面只对怎么实现can总线的操作做说明。

1.把can目录下的can.sh文件拷贝到Android系统目录的/system/bin目录下,成功的情况如下图所示:

四 s5p4418 Android 对can总线的支持 支持波特率修改_第1张图片

具体实现的方法是:把can整个目录拷贝到/device/nexell/realarm目录下:

四 s5p4418 Android 对can总线的支持 支持波特率修改_第2张图片

修改/device/nexell/realarm目录下的device.mk文件,增加下面的代码:


2.添加can的jni层

同上面一样把libhardware文件拷贝到/device/nexell/realarm目录下,并在device.mk文件中增加下面的代码:


3.apk应用的生成

这个只需要把realarmTest整个文件放到/packages/app目录下就可以了,无需做任何其他修改。


上面完成后,还需要对Android启动时的配置做修改,添加can波特率修改的服务

修改/device/nexell/realarm目录下init.realarm.rc这个文件,在最后添加下面的代码:

四 s5p4418 Android 对can总线的支持 支持波特率修改_第3张图片

##############################**CAN**#################################### 

chmod 0777/system/bin/can.sh 

service can/system/bin/can.sh

    oneshot

 

onproperty:net.can.change=yes

    restart can

#########################################################################

 

所有步骤完成后,can应该就可以正常通信了。

         波特率的修改,可以在进入can应用时,使用设置修改之。

你可能感兴趣的:(linux,jni,APP,S5P4418)