問題タブ [eabi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android ソース ビルド arm-eabi-gcc が見つかりません
Android ソースをビルドすると、arm-eabi-gcc がパスに見つからないというエラーが表示されます。Android の Web サイトからビルド済みのバイナリをダウンロードし、パスに bin ディレクトリを追加しました。arm-eabi-gcc がパスにあることを確認しました。これに対する解決策はありますか?
windows - Windows 用の GNU ツールを使用してコンパイルする
gcc ( GNU Tools ARM Embeddedから) を使用して親指コードをコンパイルしようとして います。
コマンドラインgcc.exe C:\foo.c -o foo.o -mthumb
を入力すると、次のエラーが表示されます。
c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm- none-eabi/lib/thumb\libc.a(lib_a-exit.o): 関数
exit': exit.c:(.text.exit+0x1a): undefined reference to
内 _exit' c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm -none-eabi/5.2.1/../../../../arm-none-eabi/lib/thumb\libc.a(lib_a-sbrkr.o): 関数_sbrk_r': sbrkr.c:(.text._sbrk_r+0xc): undefined reference to
内 _sbrk' c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/ lib/thumb\libc.a(lib_a-writer.o): 関数_write_r': writer.c:(.text._write_r+0x10): undefined reference to
内 _write' c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none-eabi /5.2.1/../../../../arm-none-eabi/lib/thumb\libc.a(lib_a-closer.o): 関数内_close_r': closer.c:(.text._close_r+0xc): undefined reference to
_close' c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../ arm-none-eabi/lib/thumb\libc.a(lib_a-lseekr.o): 関数_lseek_r': lseekr.c:(.text._lseek_r+0x10): undefined reference to
内 _lseek' c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc /arm-none-eabi/5.2.1/../../../../arm-none-eabi/lib/thumb\libc.a(lib_a-readr.o): 関数_read_r': readr.c:(.text._read_r+0x10): undefined reference to
内 _read' c: /program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none- eabi/lib/thumb\libc.a(lib_a-fstatr.o): 関数_fstat_r': fstatr.c:(.text._fstat_r+0xe): undefined reference to
内 _fstat' c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none -eabi/5.2.1/../../../../arm-none-eabi/lib/thumb\libc.a(lib_a-isattyr.o): 関数_isatty_r': isattyr.c:(.text._isatty_r+0xc): undefined reference to
_isatty で collect2.exe: エラー: ld は 1 つの終了ステータスを返しました
これらのエラーを解決するにはどうすればよいですか?
makefile - Makefile リンカがオブジェクト ファイルの 1 つをリンクできない
メイクファイルの作成を含むプロジェクトを行っています。ここには 2 つの異なる makefile があります。最初のものは最初のビルドステップを行います。2 番目のメイクファイルでは、最初に生成されたオブジェクト ファイル (提供されたパス) を使用し、別の場所で生成されたオブジェクト ファイルをもう 1 つ追加しようとしています。ここで直面している問題は、リンカーがこの新しいオブジェクト ファイルを古いオブジェクト ファイルにリンクできないことです。
このコマンドを使用して、この手順を実行しています。
ここで、new_file.o は arm_eabi バージョン 0 であり、all_older_files.o は arm_eabi バージョン 5 です。ただし、エラーや警告は表示されません。そして興味深いのは、new_file.o のシンボルの一部が target.elf ファイルに含まれていることです。リンカ スクリプトを確認しましたが、解決策が見つかりませんでした。また、eabi のバージョンが違いを生んでいるかどうかを確認しましたが、elf エディタを使用して elf ファイルを手動で編集しても同じです。
私が望むのは、new_file.o のセクションをこの target.elf に含めて、これらを利用できるようにすることだけです。
gcc - STM ディスカバリ ボード上の Nuttx OS を使用して、テスト アプリケーションで gcov を実行するにはどうすればよいですか?
セットアップ: ツールチェーン: gcc-arm-none-eabi-5_2-2015q4-20151219 ターゲット: STM429i-ディスコ ボード
gcov を実行し、以下のリンクに従ってターゲットで生成されたリアルタイム レポートを取得したい: https://mcuoneclipse.com/2014/12/26/code-coverage-for-embedded-target-with-eclipse-gcc-and- gcov/
まず、コード (POSIX 準拠の NUTTX OS) を -fprofile-arcs および -ftest-coverage フラグで正常にコンパイルし、src ファイルの .gcno ファイルを生成しました。
次に、-fprofile-arcs フラグを有効にし、libgcov.a ファイル (ツールチェーンの一部) を使用して正常にリンクし、最終的なバイナリが生成されます。
さて、gcov を呼び出し、レポートを生成し、レポートをダンプするために、テスト アプリケーションでどのような変更が必要かわかりません。
もう 1 つの問題は、以下のように gcov 関数が libgcov.a で HIDDEN 属性を持っていることです。
9: 00000000 4 FUNC GLOBAL HIDDEN 1 __gcov_flush
9: 00000000 4 FUNC GLOBAL HIDDEN 1 __gcov_init
そのため、必要に応じて呼び出すことができませんでした。
生成された .gcda ファイルを取得する際の入力は、非常に役立ちます。
android - ビルド済みの ARM バイナリ (静的ライブラリ) を再ターゲットできますか?
ARM Cortex-M0+ (arm-none-eabi) 上で直接実行するようにビルドされたスタティック ライブラリ (.a) があります。Android(arm-linux-androideabi)を実行しているCortex-A7でライブラリを使用できるように、それまたは私のツールチェーンを何らかの方法で変更することは可能ですか? ビルド元のソースにアクセスできません。
ライブラリは、ハードウェア ペリフェラルと対話しません。もともとは Freescale ARM コンパイラでビルドされていました。私はgccを使用しています。
リンクしようとしたら出てきた
ライブラリ内のオブジェクト ファイルごとに数回繰り返します。
c - newlib でリンクせずに `__aeabi_X` 関数をリンクできない
コード:
コンパイルしようとすると、 への未定義の参照が発生し__aeabi_dadd
ます。
私は newlib を使いたくないのですが、強制されているようです。
お願い助けて。