7

正式なトレーニング (CPU 側) で、まもなく ARM Cortex M3 の時流に乗り出します。

今、私は以前にArduinoとAVRを少しやっていて、エレクトロニクスの基礎をいくつか持っていますが、私は主にソフトウェア開発者です. ここにあるほとんどのトピックと、利用可能なツールに関する他のトピックをかなり読みましたが、それらは本当に役に立ちました。私が必要としているのは、これらすべての回答要素を結び付けるものです。

十分に一般的で、少なくともさまざまなハードウェア/ソフトウェアの組み合わせ (ステッパー、CAN-Bus、SPI など) を試すことができるスターター キットを用意したいと考えています。私は次のリストを見ています (さらに項目を追加してください!):

  • Cortex M3 チップ
  • 評価ボード
  • ツールチェーン
  • JTAG ツール

チップについては、ハイエンドモデルの1つがすべてを少し試すことができるようにしたいと思います. NXP LPC1768 は良い選択のように思えますが、考慮すべき STM と Stellaris もあります。

現在、ボードの興味深い候補は Keil MCP1760、STM3210E-EVAL ですが、1 つのボードでさまざまなツールチェーンを試してみたいので、ベンダー ロックインが心配です。mBed は非常に魅力的ですが、オンライン コンパイラであるため、方程式から外れています (通常のコンパイラも使用できる場合を除きます)。

ツールチェーンについては、IAR の Rowley Associates に「思い入れ」があります。オープンソースよりも使いやすさ/完成度の高さを好み、できれば複数のターゲットで使用できるツールを好みます。

JTAG ユニットは本当に必要ですか? それが「標準的な業界ツール」であると思われる場合、少なくとも経験を積みたいと思います。ベンダー ロックインの別の原因のようです。使い慣れた外付けのものを使用するのと、評価ボードに含まれているものだけを使用するのとではどちらがよいでしょうか?

基本的に、前述のカテゴリの勝利の組み合わせを選択するのに助けが必要です. それは可能ですか、それとも私は素朴で、最終的にそれぞれを購入することになるため、コストの節約を検討する必要がありますか?

ありがとうございました。

結果: 私が注文したもの:

最後に、Joseph Yiu の「The Definitive Guide to the ARM Cortex-M3 (Embedded Technology)」を購入し、CortexM3 プラットフォームのトレーニング (近日公開予定) を見つけ、多数のセンサーが組み込まれた STMicro キット STM3210C-Eval を購入しました。特定のソフトウェア環境に固定されたベンダーではありません。また、オンボード JTAG を搭載した STm32vl-Discovery ボード (digikey から 13$cdn!) も入手しました。私は今、Keil の uVision IDE の評価版 (32K) で遊んでいますが、本当に感動したと言えます! ディスカバリーのファームウェアを再構築し、ロードし直し、デバッガーを使用して 1 日で実行することができました。

みんな、ありがとう!

4

4 に答える 4

3

llvm と gcc はどちらもまったく問題なく、ソフトウェアを購入する必要はありません。ここで無料のヘルプを提供しているほとんどの人は、gcc ユーザーになるでしょう。Codesourcery は、より新しい/より優れた gcc (arm 用) を入手するための現在の場所です。ライトバージョンは完全に問題ありません。独自の gcc を展開するのは比較的簡単なことですが、あまり興味がないかもしれません。llvm の優れた点は、常にクロス コンパイラであり、ビルド済みのものが通常複数またはすべてのターゲットを持っていることです。

また、stellaris と mbed およびその他の cortex-m3 の例もあります。私は stellaris が好きで、lpc のファンではありません。expresso は避けてください。mbed は実際には悪くありません。クレイジーな明るい青色の LED は片頭痛を引き起こすので、緑色に交換しました。Igor の言うとおり、expresso の場合のようにサンドボックスにロックされていません。gcc を使用して LED を点滅させ、どこかでコンパイルする例を示します。フラッシュ サム ドライブのようなものに .bin ファイルをコピーし、リセット ボタンを押して新しいファイルをロードするだけです。

sparkfun.com には、50 ドル未満の stm32 ヘッダー ボードと mbed があります。stellaris ボードは 100 ドル以下の価格帯で、まったく問題ありません。私は、警告が行ってはならないことを正確に誤って実行してしまい、すぐに 811 をブリックしてしまいました。jtag gpioピンを間違った方向に向けて...ゲームオーバー。1968 およびその他の非 811 シリーズは、レンガ化できないか、レンガ化が容易ではありません。stellaris ボードは、オンボード周辺機器ですべての io を噛み砕きます。これはしばらくの間楽しいですが、それらの周辺機器の使用方法以外のことをしたい場合はそうではありません。stm32ヘッダーを使用している場合はjtagウィグラーが必要です(stmプライマーは避けてください)amontekは良いもの、jtag-tinyを作成し、olimexのものはうまく動作するはずですが、実際にボックス。理論的には、1 つの stellaris ボードを別のまたは他の cortex-m3 の jtag ウィグラーとして使用できます。stellaris ボードをお持ちの場合は、他に何も必要ありません。必要なものはすべて 1 つの価格でボックスに入っています。そのツールチェーンを使用したくない場合は、上記のいずれかをダウンロードできます。

于 2010-10-02T00:19:04.777 に答える
2

Atmel ATSAM3U-EK開発キットDigi-Keyから約$ 200 )をご覧になることをお勧めします。LCDタッチスクリーン、加速度計、温度センサー、アナログ入力、JTAG、2つのシリアルポート、およびUSB 2.0(SAM3Uに組み込まれています)を備えています。

SAM3シリーズで気に入っているのは、持ち出しが簡単なことです。オンボードROMとプログラムストレージ用のフラッシュがあります。工場出荷時からROMを起動し(後でフラッシュから起動するように変更します)、USBポートを起動してUSB通信デバイスクラス(CDC)として宣言し、SAM-BAブートモニターを実行します。また、すべてを工場出荷時の設定にリセットするオンチップのERASEピンも備えています。

したがって、最初から再プログラミングするために必要なのは、次のとおりです。

  • 電源を入れた状態で少なくとも200ミリ秒間ジャンパーを消去します
  • ボードをリセットしてUSBポートに接続します
  • WindowsまたはLinuxでAtmelのSAM-BAプログラムを実行する
  • シリアルポートを選択します
  • フラッシュ書き込みを有効にする
  • バイナリファイルを選択して送信します
  • フラッシュから起動するように設定します
  • USBのフックを外し、もう一度リセットを押します。

ドングルやJTAGボックスは必要ありません。IARを介したJTAGを介した再プログラミングはおそらく少ない手順であることを私は知っていますが、他のツールが壊れた場合に既知の状態に到達する方法があることを知っているのが好きです。

IARツールチェーンはSAM3シリーズをサポートしており、FreeRTOSからSAM3U + IARへの移植があります(IARの5,000ドルのライセンスが多すぎるため、現在SAM3U + GCCに移植しようとしています)。

SAM3U-EKのもう1つの優れた点は、ボードにNANDフラッシュが搭載されていることです。デモの実行中にボードをコンピューターに接続すると、フラッシュが「フラッシュドライブ」としてコンピューターにマウントされます。このフラッシュには、GCC、IAR、Keilツールチェーンのドキュメント、回路図、デモプログラムとライブラリ、およびデモプログラムをボードに復元するための手順とファイルがあります(何かが壊れたと思われる場合に便利です)。

于 2010-10-01T16:46:09.437 に答える
2

私としては、LPC1768 用の LPCXpresso ボードが気に入っています。USB JTAG インターフェイスが組み込まれており、無償版の Code Red IDE (Eclipse ベース) が付属しています。このチップの使い方を学ぶとき、JTAG インタラクティブ デバッグが非常に役立つことがわかりました。通常、私はプログラムを作成するときに対話型デバッグを使用しませんが、組み込みプログラミングではますます不可欠になっています。

DigiKey では、全部で 33 ドルしかかかりません。

于 2010-11-07T22:00:02.473 に答える
1

私ももともとソフトウェア開発者です。いくつかの異なるキットを使用しましたが、最も使いやすく、最もよく使用したのはmbedです。箱を開けてから 5 分で文字通り起動して実行できます。CD から IDE をインストールする必要はなく、JTAG ドングルやデータシートを追加する必要もありません。コードを記述し、コンパイルして実行するだけです。
はい、オンラインコンパイラに「結びついている」と不満を言う人もいます。しかし、実際に試していない人から聞いただけです。LPC1768 のバイナリを生成できる他のツールチェーン (IAR、Keil、CodeSourcery、 Yagarto 、または独自のツールチェーン) を引き続き使用できます私はまだそのケースを見つけていませんが、確かに可能です。
mbed のおそらく最大の欠点は、JTAG インターフェイスを公開しないため、対話的にデバッグできないことです。これまでのところ、これが重要だとは思いませんでしたが、低レベルの作業をたくさん行う場合は重要かもしれません。

于 2010-10-01T16:21:09.407 に答える