在ICS的CAN接口中设置比特率时出错

时间:2012-10-13 07:34:14

标签: android setting bitrate can-bus

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

#ip link set can0 type can bitrate 125000

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

错误消息如下:

  

垃圾而不是参数“比特率......”。 “”尝试\“ip link help \”“

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

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

此函数假设返回一些有效地址。但在我的情况下,它返回NULL。

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

(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)。