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相关推荐

  1. Android系统移植与调试之-------如何修改Android设备添加重启、飞行模式、静音模式等功能(一)...

    1.首先先来看一下修改前后的效果对比图 修改之后的图片 确认重启界面 具体的修改内容在下一篇中具体介绍. Android系统移植与调试之------->如何修改Android设备添加重启.飞行模 ...

  2. Android系统移植:驱动篇

    [导语]在Android系统移植中,有很重要的一个部分工作,就是为新平台上的硬件设备移植驱动程序.因为Android系统是基于Linux kernel内核构建,所以这里说的移植驱动程序,其实就是基于A ...

  3. Android系统移植与驱动开发概述

    1.Android系统架构分为四层:linux内核,Android是基于linux内核的. c/c++代码库,包括C/C++编写的代码库,包括dalivk虚拟机的运行时. Android SDK AP ...

  4. 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统(瘋耔修改篇二)...

    第四章.Android编译系统与定制Android平台系统 4.1Android编译系统 Android的源码由几十万个文件构成,这些文件之间有的相互依赖,有的又相互独立,它们按功能或类型又被放到不同 ...

  5. 深入浅出 - Android系统移植与平台开发(十三)- Android的对象管理

    第六章.Android的对象管理 在Java中,不再使用的对象会通过gc机制来自己主动回收.而Android系统执行时库层代码是由C++编写的,在C++中创建的对象通常使用指针来操作,一旦使用不当.轻 ...

  6. Android系统移植与调试之-------build.prop文件详细赏析

    小知识:什么是build.prop?   /system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变,类似於/etc中的文件.这个文件是如 ...

  7. android系统移植之按键驱动篇

    平台:MX53_QSB开发板 MX53_QSB开发板上一起有四个按键,分别为RESET,POWER,USER1,USER2.其中RESET为纯硬件复位按键,无须软件控制.POWER,USER1,USE ...

  8. 深入浅出 - Android系统移植与平台开发(六)- 为Android启动加速【转】

    本文转载自:http://blog.csdn.net/mr_raptor/article/details/8006721 Android的启动速度一直以来是他的诟病,虽然现在Android设备的硬件速 ...

  9. 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统

    第四章.Android编译系统与定制Android平台系统 4.1Android编译系统 Android的源码由几十万个文件构成,这些文件之间有的相互依赖,有的又相互独立,它们按功能或类型又被放到不同 ...

最新文章

  1. 北京20-35万Sharepoint Senior Consultant
  2. jQuery Mobile 快速入门
  3. oracle RAC信息,Oracle 查看 RAC GI 版本信息
  4. 用python实现点阵屏_MicroPython拼插编程实例:点亮心形8x8点阵
  5. SpringBoot+Junit在IDEA中实现查询数据库的单元测试
  6. WDCP管理面板安装启动EXIF、bcmath完整步骤
  7. 第九章:在Spark集群上掌握比较重要的图操作之Structural Operators
  8. MVC安全:ajax表单提交切记加上AntiForgeryToken防止跨站请求伪造 (CSRF)攻击
  9. c++ createtoolhelp32snapshot取进程路径_理解进程和线程
  10. Mybatis 实现关联表查询
  11. 阿里“去 IOE”十二年,弹性计算如何二次去 I 和 E?
  12. 掘金后端 mysql优化_vue服务端渲染项目(ssr)仿掘金、后台页面是react spa、服务层nodejs、koa、mysql编写的一套多权限内容管理系统...
  13. 子页面赋值给父页面的控件方法
  14. 通过自学可以搭建量化交易模型吗?
  15. matlab多行注释和figure图像的title使用变量和下划线
  16. 《系统集成项目管理工程师》必背81-100题
  17. 阿里云服务器如何登录?阿里云服务器的三种登录方法...
  18. Raman光谱——石墨烯表征神器
  19. Ant笔记(一)Ant下载与安装
  20. 探究空心超顺磁性四氧化三铁纳米微粒的制备方法-瑞禧

热门文章

  1. 已知圆上一点P1,求转动一定角度后P2的坐标
  2. “女神”代言曙光服务器新品的背后
  3. python中的pct_change用法
  4. 安卓手机自动化一些工具的简单介绍
  5. java.lang.NullPointerException出现的几种原因及解决方案
  6. Oracle Biee 入门
  7. 一次真实的东西方程序员访谈比较
  8. 158 - 打印双休日
  9. 白苹果修复_ReiBoot Pro for Mac(iOS系统修复软件)
  10. Route map介绍(转贴)