問題タブ [gnu-toolchain]

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.

0 投票する
1 に答える
618 参照

linux - ツールチェーンのバイナリが見つかりません

mini2440 ARM ボード用の最新バージョンの u-boot ブートローダーをビルドしようとして、codesourcery からツールチェーン パッケージをダウンロードし、次のパスに展開しました: /usr/local/arm-2008q3/

現在のセッションの次の値もエクスポートしました。

make を実行すると、次の出力が得られますが、その理由がわかりません。

私はすべてを再確認し、バイナリは実際に上記のフォルダーに存在しますが... どこが間違っているのか説明してください。

0 投票する
1 に答える
70 参照

configure - コンパイル時に #foo プリプロセッサ ディレクティブを含める (GNU ツール)

私は現在、このような問題に遭遇しました。実際には、依存関係で必要とされる特定のツールキット パッケージのバージョン X (現在はテスト段階で)。#defineベースシステムのヘッダーファイルに追加を追加するだけで修正でき、プロジェクトを再び正常にコンパイルできました。
しかし、システムへの root アクセス権がなかったらどうなるでしょうか? #define new_macro "i am from the future"コンパイル時にa を追加することもできconfigureますか?
問題を読んだとき、環境変数で動作する可能性があると思いましたDEFSが、どうやらこれは C プリプロセッサ ディレクティブに使用するためのものではありません。
それで、これはまったく達成できますか?

0 投票する
1 に答える
1656 参照

c - ARM Cortex M3 の GNU-C ツールチェーン setup.c の問題

ARM M3 ベースの MCU、CC2538 を使用しています。Code Composer Studio v6 を IDE として使用しています。GNU v4.7.4 (Linaro) をコンパイラとして選択すると、「選択したデバイスは現在、プロジェクトの初期化の詳細を GNU ツールチェーンに提供していません」という警告メッセージが表示されます。setup.c後で追加される(?)ためだと思います。

コンパイラには次のフラグがあります

およびリンカー フラグ:-mthumb -g -gstrict-dwarf -Wall -Wl,-Map,"cc2328em_test.map"

TI http://www.ti.com/lit/zip/swra443が提供するソース ファイルを使用します。

main.c、setup.c、setup_gcc.c、cc2538_512.cmd を空のプロジェクトに追加してコンパイルします。コンパイル出力は次のとおりです。

ここに最初のエラー " ./startup_gcc.o:(.flashcca+0x0): multiple definition of `__cca' "があります

ソースコードに誤りはありませんか?間違ったツールチェーンを使用していませんか (TI の APP センターから GCC ロゴ付きの「ARM GCC」として GNU ツールチェーンをダウンロードしました。または、構成が不足していますか?


TI が提供するソース ファイルは次のとおりです。

main.c


setup.c


startup_gcc.c


cc2538_512_gcc.cmd


これは、左側のメニューに構成と関連ファイルを表示する印刷画面です。 ここに画像の説明を入力

0 投票する
1 に答える
253 参照

c - CentOS/redhat で tcprstat をコンパイルできません。GNU Toolkit/bzr に関するアドバイスが必要

コードをダウンロードしました ("bzr branch lp:tcprstat" でコードを取得 - 合計 1.5 MB) が、コンパイルできません。tcprstat ディレクトリに表示されるファイルは次のとおりです。私は従来の ./configure、make、sudo make install に精通しており、かなり IT に精通しています。

問題の解決(Mehmet の入力に従います)。

このページhttp://xcb.freedesktop.org/dist/から、次のファイルを取得しました。

libpthread-stubs-0.3.tar.gz (2009 年 10 月 14 日 02:16 267K)

プログラムはまだ同じエラーでコンパイルに失敗しましたが、さらにグーグル (「centos pthread がありません」) でこのページ https://www.centos.org/forums/viewtopic.php?t=3517が表示 され、賢明なアドバイスが含まれていました 。

(私はsudoでやった)

ほら。

50 ボーナス ポイントを集めてくれた Mehmet に感謝 (そしておめでとう :-) )。

ps Mehmet、Linux での静的/動的リンクに関する適切なガイドはありますか?

【問題の完全な説明】

私はこれについて怠惰ではありませんでした (私たちが話しているように本をダウンロードしています)、automake、autoconf、make、aclocal、bootstrap の多くのバリエーションを試しましたが、困惑しています。はい、私は README を読みましたが、作成者は誰もが GNU ツールチェーンを知っていると考えているようです。これまでで最も成功した取り組みの詳細を、投稿の最後に記載しました。

誰かがこのプログラムをコンパイルする方法を教えてくれたら、とてもありがたいです。

========= ファイルの初期リスト =============

============= ベスト エフォート ===============

./ブートストラップを実行

==== ./bootstrap 実行後の新しいファイルリスト

次に、./configure を実行します - 正常に動作しているように見えました - エラーはありません。

次に、make を実行しようとすると失敗します。エラーが表示されます。

0 投票する
1 に答える
137 参照

c - アライメントによるツールチェーンの違い (なぜこれが機能したのか)

私のツールチェーン (ARM 用の GNU ツール) で動作しない ATMEL ライブラリがあり、その理由はわかっていますが、古い YAGARTO で動作する理由はわかりません。また、KEIL と IAR でも同様だと思います。

int (4 バイト) へのアライメントされていないアクセスをサポートしていない ARMV5 プロセッサ (AT91SAM9) で作業しています。

次のように定義されたグローバル バッファがあります。

バッファはいくつかのデータを取得し、その後データはフラッシュに書き込まれますが、データは一度に 4 バイトずつフラッシュする必要があるため、一度に 4 バイトのデータを取得するために pAlignedSource と呼ばれる int ポインタがあります。

ただし、pPAgeBuffer は char 配列であるため、必ずしも 4 バイトにアラインされているとは限りません。また、pAlignedSource はアラインされたアドレスを指していません。このコードが他のツールチェーンでは常に機能しているが、私のツールチェーンでは機能していない可能性はありますか? 両方のコンパイラが同じコードフラグを取得することを除いて、コンパイラに適切な CPU を既に定義しています。

私の問題は、データがバッファからフラッシュにコピーされるときです

データのスクランブルバージョンで終了します:/、ただし、バッファを次のように定義することでこれを修正しました

そしてそれはうまくいきましたが、私はまだこれについて非常に興味があります. 他のツールチェーンで機能したのはなぜですか?

0 投票する
3 に答える
330 参照

c - 組み込み, AVR/8051 コンパイラを使用して PIC コントローラをコンパイルすることはできませんか?

別のマイクロコントローラ ファミリ IDE/コンパイラで別のマイクロコントローラをコンパイルするにはどうすればよいですか。

たとえば、8051 keil uVision IDE があります。PIC または AVR コントローラーのコードをコンパイルする必要があります。IDEの内部設定を変更することで可能ですか? または、コントローラー固有のヘッダー ファイルなどを追加することによってですか?

ここで必要な実際の答えは、

keil または AVR Studio または PIC などのデバイス リストで特定の「マイクロコントローラ」を選択した後、IDE/コンパイラはコードに何を追加しますか?