Arduino Unoで動作するようにEclipseを構成する

前文


自宅で石油暖房をしています。 タンク内のオイルレベルを測定するために、矢印とロープ上のフロートを備えた旧式のセンサーが使用されます。 センサーの動作原理は、その不正確さに顕著です。 しかし、私たちは子供の頃から遠い未来に住んでいるので、次の条件を満たすセンサーを作りたいと思いました。この仕様で、適切なコンポーネントを探し始めました。 Arduinoプラットフォームでは、選択は非常に迅速に行われました。 鉄自体は完全に私に合っていましたが、開発環境はひどいものでした。 そのため、Eclipseに切り替えることが決定されました。

もちろん、最愛のVisual Studioに切り替えることはできましたが、現時点では自分でLinuxを再発見しているため、Windowsは使用できません。

今日、Ubuntu 10.10でArduino Unoと連携するようにEclipseを構成する方法について共有したいと思います。

何が必要ですか


ソフトウェア

ソフトウェアのインストール

1.1 Eclipseをインストールします。そのため、Ubuntu Software Centerに移動し、検索に「Eclipse」という単語を入力し、Eclipseの行で[インストール]ボタンをクリックします。

または、ターミナルに次のように記述できます。
sudo apt-get install eclipse-platform

1.2 C Development Toolkitをインストールします。 これを行うには、Eclipseを開き、[ヘルプ]メニューに移動して、[新しいソフトウェアのインストール...]をクリックします。

ウィンドウが開きます。 [作業]フィールドで、[ガリレオ更新サイト]ページを選択します。

検索ボックスに、「Eclipse C / C ++ Development Tools」という行を挿入します



検索結果の左側にあるボックス、つまり 「Eclipse C / C ++ Development Tools」の行の反対側で「Next」をクリックし、次に「Next」、「Accept」、「Finish」の順にクリックします このスーパーコンボの後、CDTのインストールが開始されます。 インストール後、Eclipseを再起動します。

1.3 AVRプラグインをインストールします。 「新しいソフトウェアのインストール」ウィンドウを開き、「追加...」ボタンをクリックして、プラグインを取得するアドレスを入力します。 「名前」フィールドに「AVR plugins for Eclipse」と入力し、「場所」フィールドに次のように入力します。
  http://avr-eclipse.sourceforge.net/updatesite/ 
OKをクリックします。 「AVR Eclipse Plugin」という行にマークを付けて、ステップ1.2からのコンボを実行します。 Eclipseを閉じます。

1.4 GNU AVR-GCCツールチェーンのインストールは、ターミナルから実行されます。 これを行うには、ターミナルに次の行を挿入します。
sudo apt-get install avrdude binutils-avr gcc-avr avr-libc gdb-avr
Enterキーを押して少し待ちます。

Eclipseを構成する

Eclipseに必要なすべてのプラグインをインストールしたら、AVRDudeを構成する必要があります。 これを行うには、Eclipseの設定メニュー( ウィンドウ→Prefrences )に移動します。

検索バーに「AVRDude」と入力してEnterキーを押すと、次のウィンドウが表示されます。



「追加」ボタンをクリックして、プログラマ用の新しい構成を追加します。 これを行うには、開いたウィンドウで、構成の名前と説明を変更します(注文用)。 [Programmer Hardware(-c)]リストでArduinoを選択します。 「デフォルトのボーレートをオーバーライドする(-b)」フィールドで値115200を選択し、「デフォルトのポートをオーバーライドする(-P)」フィールドで値/ dev / ttyACM0を設定する必要があります(Arduinoが接続されているポートはのポートと異なる場合がありますArduino IDE)。



OKをクリックします。 もう一度OK。

Arduino用のプロジェクトを作成する

最初のプロジェクトでは、ペンでプロジェクトを調整する必要があります。 したがって、このプロジェクトをArduinoの「ベース」プロジェクトとして作成し、必要に応じてコピーすることをお勧めします。

2.1 Eclipseで、メニュー( ファイル→新規→プロジェクト... )に進み、「Cプロジェクト」を選択して、「次へ」をクリックします。

2.2私たちは子供、私の場合はArduinoUnoと呼び、プロジェクトのタイプを選択します。「 AVR Cross Target Application 」が必要です。 完了をクリックします。

2.3 「プロジェクトエクスプローラー」ウィンドウでプロジェクトを選択し、プロジェクト設定を変更します( プロジェクト→プロパティ )。 開いたウィンドウの左ペインに、AVRタブがあり、それを展開します。

2.4 AVRDudeをクリックし、プログラマー構成を選択します(以前に作成しました)。

2.5 USBケーブルを使用してArduinoをコンピューターに接続します。 Arduinoがオンになっていることを確認してください。

2.6 [ターゲットハードウェア]を左クリックします。 右側に「MCUからロード」ボタンが表示されます。それをクリックします。 MCUのタイプと周波数は、ご使用のマイクロコントローラーに合わせて変更する必要があります。 クリスタルの刻印でタイプを確認します。一致する場合は、良好です。 コントローラーを自動的に認識できない場合は、説明をハードウェアにスモークし、値を手で設定します。 Unoの場合、タイプはATmega328Pおよび16 MHzの周波数として認識されます。

2.7 [OK]をクリックして[プロパティ]ウィンドウを閉じます。

Arduino Unoのライブラリを作成する

Arduinoを使用する各プロジェクトには、カーネルライブラリが必要です。 取得する方法はいくつかありますが、最速の方法は元のArduino開発環境からそれを引き出すことです。 今何をしますか。

3.1 Arduino IDEの起動

3.2ハードウェアの選択( ツール→ボード→... )この例では、Arduino Unoを選択します。

3.3 Blinkなどのサンプルコードをダウンロードします( [ファイル]→[例]→[基本]→[点滅] )。

3.4 [確認]ボタンをクリックします

3.5次に、必要なライブラリがあるフォルダーに移動します。 フォルダー/tmp/buildXXXXXXXX.tmp/で探す必要があります。XXXXXXXXXは数字の束です。 そのようなフォルダが複数ある場合は、すべてのディレクトリを消去して、3.4に進みます。

3.6 core.aファイルの名前をlibArduinoUnoCore.aに変更

3.7ファイルをEclipseプロジェクトにドラッグアンドドロップして、そこにドロップします。

ビルドをカスタマイズする

ビルドを成功させるためのいくつかの設定を行うだけで、完了です。

4.1 Eclipseで、Alt + Enterを押してプロジェクト設定に入ります。

4.2 C / C ++ブランチに移動します( ビルド→設定 )。 [ツール設定]タブで、[ツールチェーンの追加ツール]アイテムを選択し、チェックボックスをオンにします
4.3 [拡張リストの生成]アイテムのチェックを外します。 次のようになります。


4.4 AVR Compilerタブに行き、それをクリックして、コマンドフィールドの値を「avr-gcc」から「avr-g ++」に変更します。

4.5次に、 AVR Compiler→Directoriesブランチに進み、libArduinoUnoCore.aにヘッダーファイルを見つけることができるパスを追加します。 必要なパスは、Arduino IDEのあるフォルダーにあります。 ... / arduino-0022 /ハードウェア/ arduino / cores / arduino /(省略記号をIDEへのパスに置き換えます) これは、コンパイラに示すパスです。

4.5次に、 AVR Compiler→Debuggingブランチに進み、Generate Debugging Info値をNo debugging Infoに設定します。

4.6 AVRコンパイラー→最適化ブランチに移動し、最適化レベルをサイズ最適化(-Os)に設定します

4.7 AVR Assembler→デバッグブランチで、デバッグ情報の生成値をデバッグ情報なしに設定します。

4.8 AVR Cリンカー→一般ブランチのその他の引数フィールドに、「-cref -Wl、-gc-sections」と記述します。 これにより、HEXファイルが4分の1に削減されます。

4.9そして、 AVR Cリンカー→ライブラリの最後の仕上げ次のようになります。


main.cを作成します

さて、私たちは大事なメインファイルに到達しました。 Arduino IDEから覚えているように、2つの関数を作成する必要があり、すべてが機能します(セットアップとループ)。 このプロジェクトでは、より多くのコードを記述する必要があります。プロジェクトにmain.cという名前の新しいファイルを作成することをお勧めします([ファイル]→[新規]→[ソースファイル])。 そして、次のコードをそこに貼り付けます:
/ *
* main.c
*
*作成日:01/12/2011
*
* Arduinoプロジェクトの基本メインファイル。
* /
#include "WProgram.h"
//グローバル変数
int g_LedPin = 13; //デジタルピン13のLED
ボイド設定()
{
//シリアルポートを開き、データレートを9600 bpsに設定します
Serial.begin(9600);
//ピンを出力として設定します
pinMode(g_LedPin、OUTPUT);
Serial.println( "********************" );
Serial.println( "* hello world *" );
Serial.println( "********************" );
}
ボイドループ()
{
digitalWrite(g_LedPin、HIGH); // LEDをオンに設定します
遅延(1000); //しばらく待ちます
digitalWrite(g_LedPin、LOW); // LEDをオフに設定します
遅延(1000); //しばらく待ちます
}
extern "C" void __cxa_pure_virtual()
{
while (1);
}
int main( void
{
init();
セットアップ();
//無限ループ
(;;)
{
ループ();
}
0を返します。
}

コードを挿入したら、プロジェクトをビルドするだけです。 しかし、あなたは自分でそれを処理できると思います。 それでも、提案されたバージョンでは、HEXファイルのサイズはArduinoの元の開発環境と競合しています。

Source: https://habr.com/ru/post/J111908/


All Articles