1

我正在尝试在 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。

4

2 回答 2

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

于 2014-08-08T10:01:30.950 回答
0

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

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

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

于 2013-07-10T14:51:57.243 回答