1

Android の i.Mx6 プロセッサでビットレートを設定しようとしています。CANコントローラーのビットレートを設定するためにiproute2ユーティリティを使用しています。ビットレートを設定するために使用されるコマンドを以下に示します。

#ip link set can0 type can bitrate 125000

以下のコマンドを使用して Android でビットレートを設定しようとしているときに、エラー メッセージが表示されます。

エラーメッセージは次のとおりです。

引数「ビットレート...」の代わりにガベージ。" "\"ip link help\" を試してください""

このユーティリティのソース コード内を分析およびデバッグし、Linux ユーティリティ ソースと比較しました。システムコールdlsym()でエラーが発生していることがわかりました。

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

この関数は、有効なアドレスを返すことを想定しています。しかし、私の場合、NULL を返します。

4

2 に答える 2

0

に次の行を追加します。external/iproute2/ip/Android.mk

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

再度コンパイルすると、動作するはずです。

于 2013-07-10T14:51:57.243 に答える
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 に答える