初めての組み込みシステム プログラマーにとって、どのマイクロコントローラーを使用するかは重要ですか?

StackOverflow https://stackoverflow.com/questions/2137153

質問

私はデスクトップおよび Web プログラミングを数年間行った経験があります。組み込みシステムのプログラミングに移りたいと思います。と尋ねた後、 最初の質問, どのハードウェア/ソフトウェア IDE で起動すればよいのでしょう...

または...関係ない?

(IDE の使いやすさを考慮して) 学習とプログラミングが最も簡単な開発プラットフォームはどれですか?

何か問題が発生した場合にデバッグしやすいのはどれですか?

私の目標は〜について学ぶことです 「IO ポートの仕組み、メモリの制限/要件、メモリの制限など」ページング、割り込みサービス ルーチンの可能性があります。」 後で使用するために学習したほうがよいでしょうか、それとも高レベルの概念はほとんどのマイクロコントローラーに引き継がれるべきでしょうか?

ありがとう!

アップデート: どうですか この開発キット まずは?コメント?提案?

役に立ちましたか?

解決

個人的には思ります。 ARM Cortex-M3 に基づくマイクロコントローラです。の高電力 アーム コアが圧倒的な人気に支えられ、これらの低電力バージョンが良くなってしまうスペースが散独自の8/16-ビットコアを用いたこちらは最近の記事に ARM Cortex-M3での収束のマイコン市場.

Arduino 大好評のための飛. Atmel's周辺の図書館という全プロセッサです。なので、滑らかな後に遷移から AVRアーム.

んと言っているわけではあ腕は、AVRその他のコアです。を選択マイコンのための商品は通常をや周辺機器の価格は、既存のコードベース開発ツールです。また、マイコンは一般くよりも簡単な構成のデスクトップパソコン。うでないもの移動形態にお互いのです。

また、見 FreeRTOS ご興味のある方はリ-オペレーティング-システム(RTOS)。でオープンソースが含まれて素敵な散歩のように、RTOSはのなかでどのように実施します。実際、その ウ例 でも目標は、AVR.


開発ツール組込みシステムできる非常に高価なものとなります。しかし、しばしばオープンソースの代替により開コアのようなアームとAVR.例えば、 WinARMWinAVR ます。

そのツールチェーンに基づくGCCとしてもご利用いただけます(とより使いやすく厚)非Windowsプラットフォーム.まじめに使用しているのをご存知が豊富な"IDEの"お好みに合わせたから EMACSvi (私の好きな) Eclipse.

の商用提供できる、多くの画像取得設定します。しかし、多くのお客様がお選びには大いに依存目的のハードウェアです。また、一部のハードウェア-サポートを直接USBデバッグを必要とするあ JTAG アダプター。


その他リンク:


低コストのCortex-M3ボード


新しいArduinoを活用するARM Cortex-M3の代わりにAVRマイクロコントローラです。

他のヒント

すでにプログラミングの経験を持っていることを考えると、

、あなたはArduinoのを取得し、AVR Studioの+ WinAVRを使用して独自のものを行うためのファームウェアを一掃検討する必要があります。 Arduinoのはあなたにそれの電子機器側を理解するのに良い出発点を与えます。 Arduinoのブートローダを取ることはあなたのAtmelの内臓へのより良いアクセスを与えるだろう。

あなたが出て設定している目標で取得するには、私もx86のプログラミングを通じて、より深くデスクトップコンピュータを探索をお勧めします。あなたは、たとえば、x86オペレーティングシステムのカーネルを構築することがあります。

ARMは、最も広く使用されて埋め込まれたアーキテクチャであり、複数のベンダーとコストの広い範囲からのデバイスの巨大な範囲をカバーしています。特に皮質 - それは、ARM7、9、11、および皮質のデバイスとの間に有意な違いがあると述べました。しかし、専門的に組み込みシステムに入ることはあなたの目的である場合には、ARMの経験が十分にあなたを提供します。

8ビットアーキテクチャは、一般的に使いやすく、しばしば非常にメモリ容量及びコア速度の両方が限定されています。彼らが使用するのは簡単ですので、内部的または経験の少ない(したがって安価な)スタッフと履行するのは簡単ですので、それが潜在的な雇用のためにあまり魅力スキルですので、また、8ビットのスキルは、比較的容易に取得することです。

これは趣味ではなく、キャリアである場合は、

しかし、低部品、ボード、およびツールのコスト、および使いやすさは、8ビットの魅力があります。私は、それが自由AVR-GCCツールチェーンでサポートされているという理由だけでAVRをお勧めします。いくつかの8ビットのターゲットはSDCC、別のオープンソースのCコンパイラによってサポートされています。私はザイログは自由のための彼らのZ8コンパイラが利用できるようにと考えていますが、(これは比較的安価であるが)あなたは、デバッグハードウェアのためにお金を払う必要があるかもしれません。多くの商用ツールベンダーは、評価および非商業的な使用のために彼らのツールのコード・サイズが制限されたバージョンを提供していますが、基本的な機能のみが必要な場合は、いくつかのケースでは、あなたがそれを自分で構築することができますが、ほとんどのデバッガは、高価であり、専門家のハードウェアを必要と用心して低速ます。

どのようなあなたは www.embedded.com のを見てみませんか。あなたはARMを選択した場合、それは、内蔵のため、快適されていないが、私は、商業的なプロジェクトで正常にWinARMを使用しています! ARM資源の良いリストはこちらここ可能です。 AVRは間違いなくチェックアウトするために www.avrfreaks.netする

私は非常に周辺ミックスがアプリケーションに適してい機密プロジェクトの費用がかかるため、マイクロチップPIC部品(少なくともローエンドのもの)をお勧めします。ない組み込みシステムを学ぶため。 PICは1に学ぶことが、必ずしも別のものを使用するための良い代わりにあなたを立つないように、より多くのブランドのアーキテクチャよりも、様々な範囲PIC12、16、18、24、及びPIC32は、互いに非常に異なっているである - 多くの場合、あなたにも必要新しいツールを購入します!それは言った、あなたは、同時にいくつかの簡単なDSPの経験を取得したい場合はPIC24アーキテクチャに基づいているのdsPICは良い選択かもしれません。

多くの場合、これらは、あなたのDEV-kitの最も高価な部品になりますので、すべての場合には、コンパイラの可用性(C ++のサポートが要件である場合は特に)と、コスト、およびデバッガのハードウェア要件をチェックアウトするには、ボードおよび部品は、多くの場合、少なくともあります高価な部品ます。

テキサス・インスツルメンツは、非常に低価格で非常に興味深い開発キットをリリースしました:<のhref =「http://focus.ti.com/docs/toolsw/folders/print/ez430-chronos.html」のrel = USBデバッグプログラマとUSB無線アクセスポイント<のhref = "HTTPなどのスポーツを見に表示し、各種センサとMSP430が含まれていの「nofollowをnoreferrer」>のeZ430-Chronosの開発ツール、://www.ti -estore.com/Merchant2/merchant.mvc?Screen=PROD&Product_Code=EZ430-Chronos-868" のrel = "nofollowをnoreferrer"> 50 $ の

もあります Aウィキ情報ののとてもたくさんを含みますます。

私はすでにがためstackexchange提案を作成しましたeZ430-Chronosのキットます。

何をするにしても、必ず適切な開発環境を用意してください。私は、Microchip 社のマイクロコントローラは好きですが、Microchip 社の開発ツールのファンではありません (MPLAB + ICD はあまりにも面倒で機能不全に陥るため、何度もやられてしまいました)。TI の 2800 シリーズ DSP は非常に優れており、Eclipse ベースの C++ 開発環境を備えており、100 ドル未満で導入できます (「controlCARD」ベースの実験キットの 1 つを入手してください)。 28335) -- デバッガーの通信リンクは非常に強固です。IDE は良好ですが、時々クラッシュします。

どこかに、より優れた IC やボードが存在します。私は組み込みマイクロコントローラーの状況にはあまり詳しくありませんが、すべてのバグを回避する方法を見つけなければならない、さらに別のソフトウェア ツール チェーンを備えた貧弱な IDE にはあまり忍耐力がありません。

一部のおすすめ。いまではないとして初めてのプラットフォームを学ぶものとしてます。アームは少し複雑なプラットフォームとしての低レベルの内容の組み込みが起動コードおよびトの再計算の要求以上に複雑多くのミクロス.がアームには大きなプレーヤーは、組込み市場である。なんですけど秒台を学ぶことができます。

のAtmel AVRい学びの多くの組込みessentialsは、3つの主な理由:

  1. 建築と合理的に自動取込-
  2. 良い 開発キット、チュートリアル
  3. ファンフォーラム 多くの資源

その他のミクロス付 開発キット も良いなどの MSP430—あなファンフォーラム利用の開発キットの良い道のりですが、なに向け迅速に乗り、走行マイクロ、効果的な学習。れてい チュートリアル方向に素早くはじめに.

もよいのではないでしょうか開発キットやチュートリアルが終わらないものとしてbootloadersやコードでは、賛成のコードに点滅LEDとが可能です。ができるも使うことができるように、を探ることができるのでチェーンのイベントから電源を"コード走行"です。

いないファンのみのPIC16s, により建築.ではありませんがCです。モ銀行えます。

このような硬いのかという問いに対する回答として理想的な答えくようご興味の学習をする事が出来ました。

た場合目にあるのはハートツリーの内部テーションのかほとんどをお勧めしま控の組み込みルートや送迎書の書き方のlinuxカーネルモジュールです。何か書いてもらえるように単純なことを読み込み温度センサーのSMbusがあります。

が見込まれ、高レベル(携帯電話などの組込みアプリの開発をダウンロード版は、Android SDKできるコードをjavaの下でのeclipseとても良することができます。

ごみは"リアル"マイクロコントローラに本を読みたい時には、"見る低レベルのシステムプログラミングでおすすめするシンプルな建築などの削減や日替も無MMU.

ダイビングには、例えば、アームMMU、何らかのOSでlinuxの場合はショックとしてなしを背景には、両システム-プログラミングおよびハードウェアのインターフェースだと思うの移行は非常に粗い計画がある場合はほとんどその他上記に簡単なアプリ、カボタンを押します。

それは重要ですが、より単純なシステムから始めて徐々に経験を積む必要があります。シンプルとは、機能が劣るという意味ではなく、使いやすさ、セットアップの容易さなどを意味することに注意してください。その意味で、私は次の製品をお勧めします(私はどの製品にも特別な関心はありません。単に最高だと思っただけです)。

私はこれらの 1 つ (MBED 開発者ボード) を使い始めました。私にとっての大きなセールス ポイントは、C または C++ でコーディングできること、USB による簡単な接続、そして洗練されたオンライン開発環境 (ローカル ツールのインストールはまったく必要ありません!) でした。

http://mbed.org/

箱を開けてから 5 分後には、次のようなサンプルの点滅プログラム (埋め込まれた世界の「hello world」) が実行されました。

#include "mbed.h"

DigitalOut myled(LED1);

int main()
{
    while(1)
    {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}

それでおしまい!以上が完全なプログラムです!

ARM Cortex M3 をベースにしており、組み込みプロジェクト向けの高速かつ十分なメモリ (100mhz、256k フラッシュ、32k RAM) を備えています。オンライン開発ツールには非常に優れたライブラリと豊富なサンプルがあり、非常に活発なフォーラムがあります。デバイスを MBED などに接続する際の多くのヘルプ

私は組み込みシステム (ARM 7/9、Renases M8/16/32、Coldfire、Zilog、PIC など) については豊富な経験がありますが、それでも、これは本格的な機能を持ちながら、非常に扱いやすいシステムだと感じました。

最初は基本的なブレッドボードで試した後、次の会社からベースボードを購入しました。 http://www.embeddedartists.com/products/lpcxpresso/xpr_base.php?PHPSESSID=lj20urpsh9isa0c8ddcfmmn207. 。これには、多数の I/O デバイス (小型 OLED と 3 軸加速度計を含む) があります。同じサイトから、LCPExpresso プロセッサ ボードの 1 つも購入しました。これは安価で、MBED よりも電力とメモリが少ないですが、小規模なジョブに最適です (それでも PIC/Atmega プロセッサの性能は劣ります)。ベースボードは、LCPExpresso と MBED の両方をサポートします。LCPExpress プロセッサ ボードを購入すると、付属の JTAG デバッガとオフライン開発環境 (Code Red の GCC/Eclipse ベースの開発キット) も入手できました。これは、オンライン MBED 開発環境よりもはるかに複雑ですが、MBED の経験を積んだ後は、論理的な進歩です。

私の最初の指摘を参照すると、MBED コントローラーは LPCExpresso コントローラーよりもはるかに高性能ですが、使用と学習がはるかに簡単です。

私はマイクロチップPICのを使用し、その私が始めたものを、私は主として悪の天才帳の123マイクロコントローラのプロジェクトに起こってました。私はこれが私のマイクロコントローラとトンを助け、私の学位のための学校でマイクロプロセッサのクラスを取って、割り込みやタイミングや物事について少し学びました。私は他のプログラマなどのいくつかは、より良い/より簡単かもしれ仮定が、PicKit1のための$ 36、私は別のものを買いに行くためにあまりにも安いんだ...と、彼らはより良い/より簡単にしている場合は率直にそれらを使用しなくても、私にはわかりません、私のような私とは私が得るあらゆるチャンスをそれをお勧めします、そしてそれは実際に実際にそれを見に永遠に連れて行ってくれたが、私は最終的にICSPでボードオフ別のチップをプログラムすることができました。私は他のプログラマがそれを行うのか分からないが、私にとって、それは素敵なこと5線式インタフェースだとあなたがプログラムされています。スティック...

とのことを打つことができません
私はそれらの1使用しました。

フリースケールは、細かいチップです。私は少しプロジェクトのための年間のHC-何かのチップを使用しました。唯一の注意点は、私は10フィートのポールが埋め込まれCodeWarrierに手を触れないだろうということです。あなたはうまく仕事を少し自由なCコンパイラやアセンブラを(私は最後に使用の名前を覚えていない)を見つけることができます。 CodeWarriorには大きな混乱とにかかわらず、私は物事が難しくチップアーキテクチャを知っていたし、Cは常にだけに思えてプログラミングどのくらいのでした。あなたは昔のMac裏面にはCodeWarriorを使用し、CWはかなりきちんとしていると考えている場合は、まあ、それはそのようなすべてではありません。 CW埋め込まのルックスの漠然と似ていますが、それの非常によく、非常に異なるの働き、そしてません。

はコマンドラインコンパイラは、一般的にの罰金のです。大金を殻から取り出すことができます専門家は、高価な開発環境を取得し、私は彼らがより良いものを作るんだけど、それなしで、それははるかに良い1990年にデスクトップPCのためのアセンブリコードを書くよりもまだだし、何とか我々はちょうど罰金を行うために管理しました。 : - )

あなたは組み込みデバイスをプログラムする方法を学びたい場合は、

はありませんそれは問題ではありません。しかし、あなたが開始すると、次にどこどこへ行くの流れを知っておく必要があります。そこに多くのマイクロコントローラが外れていると、あなたが選択するかを知らない原因。だから、より良い開始する前にロードマップを持っています。

私の見解ではあなたが開始する必要があります - 任意のAVRボード(ATMEGA 328P-のArduinoボードやAVRボード) 最初のARM CORTEX TDMIを行う - あなたはマイクロコントローラをARMに行く必要があります その後、ARM皮質M3 board.Thusは、これはあなたがあなたが作業していると、あなたの要件が何であるかのプロジェクトの種類に応じて、任意のボードを選択することができた後、全体的なビューを提供します。

続きを読むについてオン埋め込ま doafco.com

もしかしたら、 考慮する ある ロボボード. 。さて、この掲示板は、 ない マイクロコントローラーという点ではあなたが探しているものですが、Windows または DOS を実行できるという利点もあります。 できた Microsoft .NET や C/C++ 開発ツールを使用して、サーボやセンサーなどをいじったり、さらにはロボットを構築したりすることもできます。実はちょっと楽しいんです。

もあります。 軸索Ⅱ, 、ATmega640プロセッサを搭載しています。

いずれにせよ、両方のボードが目標の達成に役立つはずです。

ロボット工学に焦点を当てた話で申し訳ありませんが、私が興味があり、あなたにも役立つかもしれないと思ったことです。

私見では考えるArduinoの場を選びました。だから目標

  • どのようIOポート作品
  • メモリ制限事項-条件
  • 割込みルーチンのサービス

れるかなあなたの最善の策は、あくまでもハッキングにLinuxカーネル?

BBCマイクロビット

https://en.wikipedia.org/wiki/Micro_Bit

この格安少しボード (~20ポンド) したケージに入によるアームホールディングス教育機器、1M単位で定を無料でに英国の学生です。

では、ARM Cortex-M0、最小ARMコアのすべて

としてお勧めでとして初のマイクロコントローラーボードにおいて幅広い可用性、低コストかつシンプルさ、およびこで紹介するARMアーキテクチャは、多くの先進ボードにもより深刻な願います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top