TOP-iMX6开发板的 Android 源码的 can 例程包含在 Android 源码中,在“ packages/apps/”目

录下,如下图所示,这个是应用界面的源码。

 
iTOP-iMX6开发板-Android-can测试例程介绍-LMLPHP

如下图所示,can 的硬件抽象层是“device/fsl/topeet_6dq/libcan/”文件。

 
iTOP-iMX6开发板-Android-can测试例程介绍-LMLPHP

其中最主要的源码文件是上图的“canHardware.c”,打开文件简单分析。

如下图所示,是初始化代码接口。

 
iTOP-iMX6开发板-Android-can测试例程介绍-LMLPHP

如下图所示,可以发现它使用的是类似“ifconfig can0 up”的命令实现 can 的开启和关

闭。

 
iTOP-iMX6开发板-Android-can测试例程介绍-LMLPHP

剩下的重要的 jni 接口,如下所示。

JNIEXPORT jint JNICALL Java_can_hardware_hardwareControl_canWrite

这是 can 的发送接口。

JNIEXPORT jobject JNICALL Java_can_hardware_hardwareControl_canRead

can 的接收接口。

JNIEXPORT void JNICALL Java_can_hardware_hardwareControl_closeCan

can 的关闭接口。

如上分析可知,jni 的接口已经将 can 的初始化、发送、接收和关闭做了封装,只需要我

们在 Android 中调用即可。

具体调用方法可以参考用户手册的第十章和 jin 相关的部分。

 
iTOP-iMX6开发板-Android-can测试例程介绍-LMLPHP
05-01 06:50