ARM アーキテクチャでの組み込み C/C++ 開発を改善しようとしています。最近、68K 開発から ARM に移行したので、余暇を使ってプラットフォームを掘り下げ、特にモバイル プラットフォーム向けの開発に関するベスト プラクティスを学びたいと考えています。
できれば、32 ビット アーキテクチャが開発ツールのサポートに役立ちます。学習プロセス中のちょっとした楽しみは、プラットフォームの理解を深めるかもしれません
Arduinoプラットフォームでは、非常に多くの楽しいことが行われているようです。
基本的な答えは、実際には「楽しいものを作ることができるものなら何でも」であり、Arduino はその条件に合っているようです。
ST Microは、ARM Cortex-M3 ベースの STM32 ライン向けの非常に魅力的な価格の (そしてパッケージ化された) キットを提供しています。メーカー希望小売価格は、128x128 カラー LCD、MEMS 加速度計、プッシュ ボタン、LED、USB、およびいくつかのスペア GPIO をすべてパッケージ化したSTM32-PRIMERで約 35 米ドルで、バッテリーと USB から JTAG へのデバッグ接続が含まれています。GCC ツールチェーンと商用デバッガーも付属するはずです。注文中です。この回答を編集して、来週到着した後に簡単なレビューを含めることを忘れないようにします.
彼らはSTM32に基づく新しいモデルを持っており、マイクロSDカードコネクタも備えたより多くのフラッシュとRAMオンチップを備えており、在庫がある場合は100ドル強で動作する抵抗膜式タッチスクリーンを含むより大きなLCDを備えています.
Luminary Microには、多数の安価なデモ/評価ボード キットもあります。eLua プロジェクト(SoC および MCU スケール デバイスで実行される完全な Lua プログラミング環境)の背後にいる人々は、Luminary Micro 製品ラインを気に入っているようですが、私はそれらについて個人的な経験はありません。
モバイル プラットフォーム用に開発したい場合は、Beagle Boardが適しているかもしれません。
他のポスターが言及した STM32/Cortex M3 はより深く埋め込まれており、適度に洗練された制御アプリケーションにより適しています。
Arduino は ARM ではなく AVR コントローラーを使用し、ローエンド近くにさらに深く組み込まれています (ローエンドは PIC)。
組み込み作業を始める前に、特定の目的を持っている必要があると思います。私が言いたいのは、組み込み作業は、汎用コンピューターが現在満たすことができない(または使用するには高すぎる)ニッチを達成しようとしている特殊なハードウェアを持っている傾向があるということです。
組み込みハードウェアを購入すると、最終的に「hello world」アプリが何らかのコンソール環境(telnetまたはある種のUART、あるいはJTAGまたはUSBを介して)で実行されるようになりますが、それではどうでしょうか。なぜ自分を殺してブートアップ/ドライバーなどを「helloworld」で実行させるのですか?
私が調査している特定の目的の1つは、ソフトウェア無線です。組み込みデバイスに単純なFMまたはAMラジオをコードで実装してみることをお勧めします。これは、特定の目標を与え、それを機能させるのが本当に楽しいからです(そして、組み込みシステムを生き生きとさせるために自分を殺すのに十分な理由です。 !)
以前は機能していなかったある種の空白のハードウェアを生き返らせ、main()関数から何か便利なもの(FMやAMラジオなど)まで電源がオンになるのを見るのとまったく同じです。
ソフトウェア無線ハードウェアは予想より少し高くなることに注意してください...
組み込み開発に興味があるとします。
私は、olimex ボードと、sparkfun.com で販売されている非 Olimex ボードが好きです。sam7、lpc など。stellaris
ボードも非常に優れています。
古いゲームボーイ アドバンスとスーパーカード SD を手に入れたり、r4ds や Cyclods で nds を使用したりするだけで、多くの満足と楽しみを得ることができます。nds は初心者にとって少し苦痛であり、参加費用は gba の 3 ~ 4 倍です。gba mini または sp にはバックライトがあり、点灯していない元の gba よりもすぐに理解できます。また、gba (または nds) を使用すると、vba のようなエミュレーターに足を踏み入れることができ、何も購入する必要はありません。ルミナリーマイクロは、素敵なディスプレイと他のいくつかのオンボードガジェットで遊ぶ良いスタートです. 汎用 I/O として使用するピンを持つポートに jtag ピンがあるため、ブリックするのは非常に簡単なので、811 ボードには注意してください。一方で、彼らはオンボード周辺機器用のドライバーにケチをつけています。
オペレーティング システム (beagleboard、embeddedarm、または qemu-arm) でアプリを作成するだけの場合は、他の Linux ベースのマシン用にアプリを作成する場合とまったく同じであるため、arm 要素は実際には存在しません。
Gumstix プラットフォームには、常に感銘を受けてきました。これは Linux を実行する「より強力な」プラットフォームですが、150 ドルからさまざまなパッケージが用意されているだけでなく、ハウツーやユーザー プロジェクトも豊富に公開されています。私が持っているものはuCLinuxのフレーバーを使用しているため、新しいユーザーにとっては移行パスが少し簡単になります.
www.embeddedarm.com - TS-7800
これは、pc/104 スタックを提供する優れたプラットフォームです。約 200 ドルで、ハードウェア (UART、ADC など) について多くのことを学び、104 スタックを介して学習経験を増やすことができます。