This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 启动期间启动 CAN 服务时出现问题

Guru**** 2562920 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/596773/issue-in-bringing-up-can-service-during-boot-up

大家好、

我在 TI-J6电路板上工作、我在该电路板上移植了 Android-6.0.1。 我在启动时自动启用 CAN 协议时遇到一些问题。 尽管我能够在每次启动后使用以下命令手动启用它、即 IP link set CAN0 up type can bitrate 50000。

我已经尝试在 init.rc 文件中插入此命令(这样它只能在电路板启动时启用)、但实际上它不能按预期工作。 另外、我不确定应该修改哪个文件、即我有两个文件"init.rC"和"init.jacinto6evmboard.rC"。 如果我的方法正确、有人能帮我修改哪些文件以及在哪个位置。

或者建议我采取更好的方法、以便我能够解决问题。

提前感谢。

Alkesh Shah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Alkesh、

    我已将您的问题转交给 Android 专家。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Alkesh、

    您可以修改任一文件以定义将启动脚本的新服务,并且可以在该脚本中添加要在引导时执行的操作。
    请注意,直接在目标上修改 init.*.rc 文件不会有所帮助。 这些文件是 ramdisk 的一部分,不是永久性的。

    您必须更新 ramdisk.img,从其中创建一个新的 boot.img 并刷新更新的 boot.img 文件

    以下示例用于在引导时启动脚本

    步骤1)在 init.jacinto6evmboard.rc 文件中定义一个新的服务,并将以下行附加到该文件中

    服务启动 CAN /system/vendor/bin/can.sh
    类 main
    用户根目录
    组根

    步骤2)编写一个脚本文件、并将其放置在具有文件可执行权限的系统分区中

    !/system/bin/sh
    IP 链路设置 CAN0 UP 类型 CAN 比特率50000





    此致、
    Vishal