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 -j12
    mmm 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 on
    canconfig can0 start
7. canutils一些使用参考:Texas Instruments Wiki.pdf
    https://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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值