Android系统移植canutils
Android系统移植canutils
下载代码并编写Android.bp/Android.mk
这里我已经写好了编译脚本了,打包了canutils和libsocketcan代码,到这里下载 https://download.csdn.net/download/liteblue/54730175
Android.bp内容大概如下,其中name是device.mk使用的编译名。
cc_defaults {name: "canutils_common_defaults",cflags: ["-Wall","-Werror","-Wno-unused-parameter","-Wno-unused-value","-Wno-sign-compare",],local_include_dirs: ["include"],
}cc_binary {name: "candump",defaults: ["canutils_common_defaults"],srcs: ["src/candump.c",],static_libs: ["libsocketcan"],
}cc_binary {name: "cansend",defaults: ["canutils_common_defaults"],srcs: ["src/cansend.c",],static_libs: ["libsocketcan"],
}cc_binary {name: "cansequence",defaults: ["canutils_common_defaults"],srcs: ["src/cansequence.c",],static_libs: ["libsocketcan"],
}cc_binary {name: "canecho",defaults: ["canutils_common_defaults"],srcs: ["src/canecho.c",],static_libs: ["libsocketcan"],
}cc_binary {name: "canconfig",defaults: ["canutils_common_defaults"],srcs: ["src/canconfig.c",],static_libs: ["libsocketcan"],
}
自动编译并集成到系统
device/xxx/common/device.mk
PRODUCT_PACKAGES += libsocketcan candump cansend cansequence canecho canconfig
这里注意下有个坑,在device.mk指定编译软件名时要填写Android.bp里的名字,不要填写代码所在external/canutils/的目录名。
手动编译canutils并拷贝到Android系统执行
手动编译canutils并拷贝到Android系统执行
1. 代码解压到external下
2. 编译前要执行source和lunch(跟你的Android SDK平台有关),然后编译libsocketcan,再编译canutils,编译命令:mmm external/libsocketcan -j12mmm external/canutils -j12
4. 编译后的程序文件:find ./out/ -name candump不同SDK最终目录不同,比如可能在这个目录:out/target/product/XXX/system/bin/candump一共5个程序:canconfig, cansend, candump, cansequence, canecho
5. 拷贝到Android:adb push canconfig /data/local/tmp/... (push 所有5个程序)adb shell chmod a+x /data/local/tmp/can*
6. 执行工具:canconfig can0 bitrate 50000 ctrlmode triple-sampling oncanconfig can0 start
7. canutils一些使用参考:Texas Instruments Wiki.pdfhttps://downloads.ti.com/infotainment/esd/jacinto6/processor-sdk-linux-automotive/6_00_00_03/exports/wiki/AM335X%20DCAN%20Driver%20Guide%20-%20Texas%20Instruments%20Wiki.pdf
Android系统移植canutils相关推荐
- Android系统移植与调试之-------如何修改Android设备添加重启、飞行模式、静音模式等功能(一)...
1.首先先来看一下修改前后的效果对比图 修改之后的图片 确认重启界面 具体的修改内容在下一篇中具体介绍. Android系统移植与调试之------->如何修改Android设备添加重启.飞行模 ...
- Android系统移植:驱动篇
[导语]在Android系统移植中,有很重要的一个部分工作,就是为新平台上的硬件设备移植驱动程序.因为Android系统是基于Linux kernel内核构建,所以这里说的移植驱动程序,其实就是基于A ...
- Android系统移植与驱动开发概述
1.Android系统架构分为四层:linux内核,Android是基于linux内核的. c/c++代码库,包括C/C++编写的代码库,包括dalivk虚拟机的运行时. Android SDK AP ...
- 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统(瘋耔修改篇二)...
第四章.Android编译系统与定制Android平台系统 4.1Android编译系统 Android的源码由几十万个文件构成,这些文件之间有的相互依赖,有的又相互独立,它们按功能或类型又被放到不同 ...
- 深入浅出 - Android系统移植与平台开发(十三)- Android的对象管理
第六章.Android的对象管理 在Java中,不再使用的对象会通过gc机制来自己主动回收.而Android系统执行时库层代码是由C++编写的,在C++中创建的对象通常使用指针来操作,一旦使用不当.轻 ...
- Android系统移植与调试之-------build.prop文件详细赏析
小知识:什么是build.prop? /system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变,类似於/etc中的文件.这个文件是如 ...
- android系统移植之按键驱动篇
平台:MX53_QSB开发板 MX53_QSB开发板上一起有四个按键,分别为RESET,POWER,USER1,USER2.其中RESET为纯硬件复位按键,无须软件控制.POWER,USER1,USE ...
- 深入浅出 - Android系统移植与平台开发(六)- 为Android启动加速【转】
本文转载自:http://blog.csdn.net/mr_raptor/article/details/8006721 Android的启动速度一直以来是他的诟病,虽然现在Android设备的硬件速 ...
- 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统
第四章.Android编译系统与定制Android平台系统 4.1Android编译系统 Android的源码由几十万个文件构成,这些文件之间有的相互依赖,有的又相互独立,它们按功能或类型又被放到不同 ...
最新文章
- 北京20-35万Sharepoint Senior Consultant
- jQuery Mobile 快速入门
- oracle RAC信息,Oracle 查看 RAC GI 版本信息
- 用python实现点阵屏_MicroPython拼插编程实例:点亮心形8x8点阵
- SpringBoot+Junit在IDEA中实现查询数据库的单元测试
- WDCP管理面板安装启动EXIF、bcmath完整步骤
- 第九章:在Spark集群上掌握比较重要的图操作之Structural Operators
- MVC安全:ajax表单提交切记加上AntiForgeryToken防止跨站请求伪造 (CSRF)攻击
- c++ createtoolhelp32snapshot取进程路径_理解进程和线程
- Mybatis 实现关联表查询
- 阿里“去 IOE”十二年,弹性计算如何二次去 I 和 E?
- 掘金后端 mysql优化_vue服务端渲染项目(ssr)仿掘金、后台页面是react spa、服务层nodejs、koa、mysql编写的一套多权限内容管理系统...
- 子页面赋值给父页面的控件方法
- 通过自学可以搭建量化交易模型吗?
- matlab多行注释和figure图像的title使用变量和下划线
- 《系统集成项目管理工程师》必背81-100题
- 阿里云服务器如何登录?阿里云服务器的三种登录方法...
- Raman光谱——石墨烯表征神器
- Ant笔记(一)Ant下载与安装
- 探究空心超顺磁性四氧化三铁纳米微粒的制备方法-瑞禧