背景
持つgccエラーCortex M0アーキテクチャへの影響v5.4.1で導入されたようです。(...トランクに固定されているようですが、ATMオプションには興味がありません。)
この問題を解決するために、Debian 8.4イメージを持つ仮想マシンを使用してgcc-arm-none-eabi
パッケージをインストールしました。
$ gcc-arm-none-eabi -dumpversion
4.8
仮想マシンでコードをコンパイルしてターゲットデバイスにロードすると、問題がなくなり、すべてがスムーズに進みます。
質問
仮想マシンを分離するには、
- 私は
gcc-arm-none-eabi v5.3
からダウンロードしました開発者.arm.com/… $PATH
これに応じて、変数にダウンロードパスを追加します。- 走る
make
ただし、生成されたコードはマイクロコントローラで期待どおりに機能しません。これは、ホストシステムでgcc-arm-none-eabi-5.3を使用してコードをコンパイルできないことを意味します。
さらなる実験
問題の範囲を絞り込むために、
- 同じ方法でアプリケーションコード(アプリ)をコンパイルしました。GCC 5.3仮想マシンで(インストール後32ビットサポート)。生成されたバイナリはターゲット(マイクロコントローラ)で実行されます。予想通り。
- 申請書を整理しました。GCC 7.3.1しかし、うまくいかないと予想。ただし、結果のバイナリはマイクロコントローラで正しく実行されます。これは予期しない。
- 以前の試行を削除し
gcc-arm-none-eabi
て再試行しました。apt-get remove
アプリケーションバイナリはマイクロコントローラで引き続き実行できます。これは予想されません。 gcc-arm-none-eabi-4.8
インストールを続行する前にVMを復元しましたapt
。gcc-arm-none-eabi-7.3
ダウンロードパスで直接使用してください。役に立たない予想通りgcc-arm-none-eabi-5.3
私はそれがうまくいくようにアプリケーションをコンパイルしました。ただし、マイクロコントローラでは機能しません。これは予期しない。apt-get install gcc-arm-none-eabi
この時点で、以下を使用してツールチェーン(v4.8)をインストールすると、予期しないそして奇妙。- VMを新しくインストールして復元し、
apt-get install gcc-arm-none-eabi gdb-arm-none-eabi
ストックコンパイラを使用してv4.8をインストールした場合動作しません(これも奇妙)
質問
「追加実験」によると、実行時に使用される他の依存関係が必要です。これらの依存関係をどのように決定しますか?