2

組み込みARMシステム(STM32 F4)でprotobuf-c 0.15を使用し、protobufを使用するJavaサーバーと通信するシステムを開発することは可能ですか?

protobuf-c 0.15は、動的メモリ割り当てを使用します。そして、スローエラーをコンパイルします:

/opt/arm/sourcery-arm-none-eabi-2011.09/bin/../lib/gcc/arm-none-eabi/4.6.1/../../../../arm-none-eabi/lib/thumb2/libc.a(lib_a-abort.o): In function `abort':
abort.c:(.text+0xa): undefined reference to `_exit'
/opt/arm/sourcery-arm-none-eabi-2011.09/bin/../lib/gcc/arm-none-eabi/4.6.1/../../../../arm-none-eabi/lib/thumb2/libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
sbrkr.c:(.text+0x12): undefined reference to `_sbrk'
...

nanopbとprotobuf-embedded-cについて知っています。ただし、サポートprotobufは限られています。

4

1 に答える 1

5

の未定義の参照_sbrkは、CodeSourceryに付属するlibcであるnewlibからのものです。システムに適切に接続するには、システムコール関数を提供する必要があります。例を参照してください: https ://sites.google.com/site/stm32discovery/open-source-development-with-the-stm32-discovery/getting-newlib-to-work-with-stm32-and-code-sourcery- lite-eabi

(nanopbによるprotobufの限定的なサポートに関して、必要な機能について詳しく知りたいと思います。私はnanopbの作成者です。)

于 2013-01-07T06:26:49.820 に答える