2011-11-02 10 views

答えて

2

は、残念ながら、今打ち鳴らすがサポートしていないとして、柔軟なクロスコンパイル設定。したがって、おそらく、必要なすべての引数を持つ必要なツールを呼び出す必要があります。

--target = thumbv7-eabi configure引数を使用してllvm + clangをビルドすることから始めます(これは昨日の時点でllvm + clangが必要です)。 --enable-targets = armも指定できます。これにより、clangはデフォルトで親指のコードを生成します。この後、clang -mcpu = cortex-m3を呼び出してコードを生成することができます。あなたは-I/-L経由の手によって、必要なすべてが含ま/ライブラリパスを提供する必要があります

など

あなたには、いくつかのC++がハッキングに満足している場合は、必要に応じて「のHostInfo」を書くので、それができ適切なツールを呼び出し、正しいパスを自動的に提供します。 githubの

https://github.com/dwelch67/mbed_samples/

そして、私はgithubのに持っている他のプロジェクトでmbed_samplesで

9

ルック(その使用LLVMは、ARMベースのMIPSベースとMSP430ベース)。シェルフのllvmツール(well clang)は、ARMなどのクロスコンパイルを正常に動作させます。

mbedはlpc cortex-mで、stm32はst cortex-mです。基本は同じ変更レジスタ設定です。私はstm32vldサンプルディレクトリを持っています。もしstm32の特定の例がllvm(64ビットAMD Linuxホストを使用しています)を使用していて、問題ではありません。

+1

httpsの...コードは、のCortex-Mにはるかに大きいGCC以外ではありません生成しました/github.com/dwelch67/stm32vld/tree/master/stm32f4dいくつかのstm32の例があります。gccとllvm/clang –

+0

MIPSとMSP430 btwについて言及しています(と一貫した作業をしてくれてありがとう)。 – pfalcon

1

GMCとLLVMをサポートするCMakeをベースにしたファームウェアフレームワークPolyMCU https://github.com/labapart/polymcuを作成しました。これはCMakeに基づいているので、Linux/Windows/MacOSでファームウェアをビルドすることができます。 また、Newlibも使用しています。

私も、私はGCCやLLVMは、ARMのCortex-Mにサイズを構築比べてブログに書いた:/:http://labapart.com/blogs/3-the-importance-of-the-toolchain-version-in-embedded-space 興味深い結果を、クランは

関連する問題