【问题标题】:Getting error while setting bitrate in CAN interface for ICS在 ICS 的 CAN 接口中设置比特率时出错
【发布时间】:2012-10-13 07:34:13
【问题描述】:

我正在尝试在 android 的 i.Mx6 处理器中设置比特率。 我正在使用 iproute2 实用程序为 CAN 控制器设置比特率。用于设置比特率的命令如下:

#ip link set can0 type can bitrate 125000

当我尝试使用以下命令在 android 中设置比特率时,我收到错误消息。

错误信息如下:

垃圾而不是参数“比特率...”。 " "试试\"ip链接帮助\""

我在该实用程序的源代码内部进行了分析和调试,并与Linux实用程序源代码进行了比较。发现错误发生在系统调用dlsym()中。

   l = dlsym(dlh, buf);
    if (l == NULL)
            return NULL;

这个函数假设返回一些有效的地址。但就我而言,它返回 NULL。

【问题讨论】:

    标签: android setting bitrate can-bus


    【解决方案1】:

    将以下行添加到external/iproute2/ip/Android.mk

    +LOCAL_LDFLAGS := -Wl,-export-dynamic -Wl,--no-gc-sections
    include $(BUILD_EXECUTABLE)
    

    再次编译,它应该可以工作了。

    【讨论】:

      【解决方案2】:

      (1)(Android源码)/external/iproute2/ip/iplink.c

      #define LIBDIR "/usr/lib/"
      

      #define LIBDIR "/usr/lib"
      

      (2)(Android源码)/external/iproute2/ip/Android.mk

      +LOCAL_LDFLAGS := -Wl,-export-dynamic -Wl,--no-gc-sections
      include $(BUILD_EXECUTABLE)
      

      PS。此错误仅适用于 Android ICS(4.0.4)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-12
        • 1970-01-01
        • 2018-01-14
        • 2021-07-18
        • 1970-01-01
        • 2011-05-20
        相关资源
        最近更新 更多