计算机应用 ›› 2013, Vol. 33 ›› Issue (09): 2467-2469.DOI: 10.11772/j.issn.1001-9081.2013.09.2467
LI Jia1,QI Yanyan1,ZHU Weijie2
摘要: 针对Android系统下的控制器局域网(CAN)总线缺少应用层驱动的现状,提出了一种将Linux系统中的CAN总线应用层驱动移植到Android系统中的方法。选择SAE J1939协议作为Android系统下CAN总线应用层协议并移植由Kurt Van Dijck和Pieter Beyens维护的linux-can-j1939项目。首先分析项目结构,将对应文件合并到Android内核代码中;然后修改头文件、协议实现代码并增加内核缺失的结构体、函数等;最后修改Makefile和Kbuild文件并编译生成内核。实验结果表明:编译后的Android内核实现了SAE J1939协议所规定的地址声明、数据拆包重组、网络管理等功能。应用层驱动移植后,通过调用Android应用层接口就可开发丰富的基于CAN总线的Android应用程序。
中图分类号: